nautobot 2.0.0a3__py3-none-any.whl → 2.0.0b1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (780) hide show
  1. nautobot/apps/api.py +6 -8
  2. nautobot/apps/forms.py +0 -2
  3. nautobot/apps/ui.py +0 -8
  4. nautobot/circuits/api/serializers.py +9 -117
  5. nautobot/circuits/api/urls.py +1 -1
  6. nautobot/circuits/api/views.py +0 -1
  7. nautobot/circuits/forms.py +0 -65
  8. nautobot/circuits/migrations/0014_related_name_changes.py +1 -1
  9. nautobot/circuits/migrations/0016_tagsfield.py +34 -0
  10. nautobot/circuits/migrations/0017_fixup_null_statuses.py +22 -0
  11. nautobot/circuits/migrations/0018_status_nonnullable.py +22 -0
  12. nautobot/circuits/models.py +3 -87
  13. nautobot/circuits/navigation.py +14 -69
  14. nautobot/circuits/signals.py +0 -2
  15. nautobot/circuits/tables.py +39 -1
  16. nautobot/circuits/tests/integration/test_relationships.py +9 -9
  17. nautobot/circuits/tests/test_api.py +4 -8
  18. nautobot/circuits/tests/test_filters.py +10 -4
  19. nautobot/circuits/tests/test_models.py +5 -1
  20. nautobot/circuits/tests/test_views.py +27 -5
  21. nautobot/circuits/views.py +18 -10
  22. nautobot/core/api/__init__.py +8 -2
  23. nautobot/core/api/fields.py +15 -6
  24. nautobot/core/api/filter_backends.py +3 -2
  25. nautobot/core/api/metadata.py +237 -30
  26. nautobot/core/api/mixins.py +94 -0
  27. nautobot/core/api/pagination.py +4 -0
  28. nautobot/core/api/parsers.py +154 -0
  29. nautobot/core/api/renderers.py +153 -2
  30. nautobot/core/api/schema.py +46 -2
  31. nautobot/core/api/serializers.py +377 -35
  32. nautobot/core/api/urls.py +11 -3
  33. nautobot/core/api/utils.py +174 -2
  34. nautobot/core/api/versioning.py +32 -10
  35. nautobot/core/api/views.py +266 -72
  36. nautobot/core/apps/__init__.py +138 -220
  37. nautobot/core/celery/__init__.py +112 -41
  38. nautobot/core/celery/backends.py +19 -12
  39. nautobot/core/celery/control.py +46 -0
  40. nautobot/core/celery/encoders.py +53 -0
  41. nautobot/core/celery/log.py +38 -0
  42. nautobot/core/celery/schedulers.py +23 -4
  43. nautobot/core/celery/task.py +1 -16
  44. nautobot/core/checks.py +0 -27
  45. nautobot/core/choices.py +0 -113
  46. nautobot/core/{cli.py → cli/__init__.py} +1 -1
  47. nautobot/core/cli/__main__.py +3 -0
  48. nautobot/core/constants.py +0 -24
  49. nautobot/core/context_processors.py +12 -0
  50. nautobot/core/filters.py +2 -2
  51. nautobot/core/forms/__init__.py +0 -4
  52. nautobot/core/forms/fields.py +38 -65
  53. nautobot/core/forms/forms.py +4 -1
  54. nautobot/core/forms/utils.py +0 -52
  55. nautobot/core/graphql/schema.py +4 -27
  56. nautobot/core/jobs/__init__.py +75 -0
  57. nautobot/core/management/commands/build_ui.py +255 -0
  58. nautobot/core/management/commands/generate_test_data.py +3 -2
  59. nautobot/core/management/commands/post_upgrade.py +24 -24
  60. nautobot/core/models/__init__.py +26 -1
  61. nautobot/core/models/fields.py +24 -5
  62. nautobot/core/models/generics.py +2 -42
  63. nautobot/core/models/managers.py +5 -0
  64. nautobot/core/models/name_color_content_types.py +0 -14
  65. nautobot/core/models/tree_queries.py +14 -4
  66. nautobot/core/models/utils.py +5 -6
  67. nautobot/core/models/validators.py +17 -8
  68. nautobot/core/releases.py +8 -10
  69. nautobot/core/settings.py +80 -42
  70. nautobot/core/tables.py +5 -5
  71. nautobot/core/tasks.py +4 -7
  72. nautobot/core/templates/base.html +1 -49
  73. nautobot/core/templates/base_django.html +49 -0
  74. nautobot/core/templates/base_react.html +55 -0
  75. nautobot/core/templates/buttons/export.html +6 -4
  76. nautobot/core/templates/generic/object_bulk_create.html +10 -21
  77. nautobot/core/templates/generic/object_list.html +3 -1
  78. nautobot/core/templates/generic/object_retrieve_plugin_full_width.html +3 -0
  79. nautobot/core/templates/inc/footer.html +1 -0
  80. nautobot/core/templates/inc/javascript.html +0 -14
  81. nautobot/core/templates/inc/nav_menu.html +28 -33
  82. nautobot/core/templates/inc/object_details_advanced_panel.html +13 -0
  83. nautobot/core/templates/inc/relationships_table_rows.html +2 -2
  84. nautobot/core/templates/nautobot_config.py.j2 +8 -20
  85. nautobot/core/templates/plugin_template/__init__.py-tpl +1 -2
  86. nautobot/core/templates/rest_framework/api.html +8 -0
  87. nautobot/core/templatetags/buttons.py +32 -28
  88. nautobot/core/testing/__init__.py +47 -44
  89. nautobot/core/testing/api.py +362 -47
  90. nautobot/core/testing/filters.py +1 -1
  91. nautobot/core/testing/migrations.py +2 -0
  92. nautobot/core/testing/mixins.py +22 -9
  93. nautobot/core/testing/schema.py +2 -1
  94. nautobot/core/testing/views.py +21 -46
  95. nautobot/core/tests/integration/test_filters.py +17 -8
  96. nautobot/core/tests/integration/test_navbar.py +11 -34
  97. nautobot/core/tests/integration/test_plugin_navbar.py +9 -103
  98. nautobot/core/tests/nautobot_config.py +2 -3
  99. nautobot/core/tests/test_api.py +290 -21
  100. nautobot/core/tests/test_checks.py +0 -7
  101. nautobot/core/tests/test_filters.py +107 -59
  102. nautobot/core/tests/test_forms.py +26 -92
  103. nautobot/core/tests/test_graphql.py +110 -77
  104. nautobot/core/tests/test_logging.py +4 -0
  105. nautobot/core/tests/test_managers.py +3 -1
  106. nautobot/core/tests/test_models.py +2 -0
  107. nautobot/core/tests/test_paginator.py +3 -1
  108. nautobot/core/tests/test_releases.py +12 -12
  109. nautobot/core/tests/test_templatetags_helpers.py +4 -4
  110. nautobot/core/tests/test_utils.py +32 -68
  111. nautobot/core/tests/test_views.py +12 -15
  112. nautobot/core/utils/data.py +17 -0
  113. nautobot/core/utils/deprecation.py +9 -6
  114. nautobot/core/utils/filtering.py +8 -3
  115. nautobot/core/utils/git.py +12 -4
  116. nautobot/core/utils/lookup.py +3 -1
  117. nautobot/core/utils/requests.py +1 -104
  118. nautobot/core/views/__init__.py +1 -0
  119. nautobot/core/views/generic.py +75 -110
  120. nautobot/core/views/mixins.py +52 -61
  121. nautobot/core/views/renderers.py +6 -7
  122. nautobot/core/views/utils.py +80 -0
  123. nautobot/dcim/api/serializers.py +160 -667
  124. nautobot/dcim/api/urls.py +1 -1
  125. nautobot/dcim/api/views.py +7 -44
  126. nautobot/dcim/choices.py +2 -0
  127. nautobot/dcim/filters/__init__.py +21 -0
  128. nautobot/dcim/form_mixins.py +1 -27
  129. nautobot/dcim/forms.py +19 -765
  130. nautobot/dcim/migrations/0024_alter_device_and_rack_role_add_new_role.py +2 -1
  131. nautobot/dcim/migrations/0025_device_and_rack_roles_data_migrations.py +19 -13
  132. nautobot/dcim/migrations/0027_remove_device_role_and_rack_role.py +1 -1
  133. nautobot/dcim/migrations/0028_rename_foreignkey_fields.py +1 -1
  134. nautobot/dcim/migrations/0030_migrate_region_and_site_data_to_locations.py +2 -2
  135. nautobot/dcim/migrations/0035_related_name_changes.py +1 -1
  136. nautobot/dcim/migrations/0036_remove_region_and_site.py +1 -1
  137. nautobot/dcim/migrations/0040_tagsfield.py +109 -0
  138. nautobot/dcim/migrations/{0040_ipam__namespaces.py → 0041_ipam__namespaces.py} +1 -1
  139. nautobot/dcim/migrations/0042_fixup_null_statuses.py +51 -0
  140. nautobot/dcim/migrations/0043_status_nonnullable.py +72 -0
  141. nautobot/dcim/models/cables.py +3 -33
  142. nautobot/dcim/models/device_component_templates.py +6 -0
  143. nautobot/dcim/models/device_components.py +12 -198
  144. nautobot/dcim/models/devices.py +30 -143
  145. nautobot/dcim/models/locations.py +3 -64
  146. nautobot/dcim/models/power.py +3 -50
  147. nautobot/dcim/models/racks.py +7 -84
  148. nautobot/dcim/navigation.py +141 -467
  149. nautobot/dcim/signals.py +0 -2
  150. nautobot/dcim/tables/locations.py +2 -2
  151. nautobot/dcim/tables/power.py +1 -2
  152. nautobot/dcim/templates/dcim/console_port_connection_list.html +7 -0
  153. nautobot/dcim/templates/dcim/devicetype.html +2 -2
  154. nautobot/dcim/templates/dcim/interface_connection_list.html +7 -0
  155. nautobot/dcim/templates/dcim/location.html +16 -1
  156. nautobot/dcim/templates/dcim/locationtype.html +15 -0
  157. nautobot/dcim/templates/dcim/power_port_connection_list.html +7 -0
  158. nautobot/dcim/templates/dcim/rackgroup.html +0 -12
  159. nautobot/dcim/tests/test_api.py +166 -81
  160. nautobot/dcim/tests/test_cablepaths.py +41 -35
  161. nautobot/dcim/tests/test_filters.py +67 -23
  162. nautobot/dcim/tests/test_forms.py +5 -205
  163. nautobot/dcim/tests/test_graphql.py +7 -2
  164. nautobot/dcim/tests/test_migrations.py +6 -11
  165. nautobot/dcim/tests/test_models.py +182 -110
  166. nautobot/dcim/tests/test_natural_ordering.py +11 -8
  167. nautobot/dcim/tests/test_signals.py +6 -3
  168. nautobot/dcim/tests/test_views.py +197 -175
  169. nautobot/dcim/urls.py +11 -16
  170. nautobot/dcim/views.py +7 -134
  171. nautobot/docs/additional-features/caching.md +6 -87
  172. nautobot/docs/additional-features/job-scheduling-and-approvals.md +3 -0
  173. nautobot/docs/additional-features/jobs.md +177 -195
  174. nautobot/docs/administration/nautobot-server.md +6 -21
  175. nautobot/docs/administration/replicating-nautobot.md +0 -10
  176. nautobot/docs/configuration/optional-settings.md +32 -41
  177. nautobot/docs/configuration/required-settings.md +11 -52
  178. nautobot/docs/development/application-registry.md +2 -13
  179. nautobot/docs/development/extending-models.md +15 -17
  180. nautobot/docs/development/generic-views.md +0 -2
  181. nautobot/docs/development/getting-started.md +55 -5
  182. nautobot/docs/development/navigation-menu.md +22 -93
  183. nautobot/docs/development/react-ui.md +105 -0
  184. nautobot/docs/development/role-internals.md +1 -3
  185. nautobot/docs/development/style-guide.md +6 -4
  186. nautobot/docs/index.md +3 -2
  187. nautobot/docs/installation/migrating-from-netbox.md +11 -42
  188. nautobot/docs/installation/nautobot.md +1 -1
  189. nautobot/docs/installation/tables/v2-api-behavior-changes.yaml +70 -0
  190. nautobot/docs/installation/tables/v2-api-removed-fields.yaml +142 -0
  191. nautobot/docs/installation/tables/v2-api-renamed-fields.yaml +124 -0
  192. nautobot/docs/installation/tables/v2-code-location-changes.yaml +241 -0
  193. nautobot/docs/installation/tables/v2-code-removals.yaml +67 -0
  194. nautobot/docs/installation/tables/v2-database-behavior-changes.yaml +37 -0
  195. nautobot/docs/installation/tables/v2-database-removed-fields.yaml +166 -0
  196. nautobot/docs/installation/tables/v2-database-renamed-fields.yaml +340 -0
  197. nautobot/docs/installation/tables/v2-filters-corrected-fields.yaml +28 -0
  198. nautobot/docs/installation/tables/v2-filters-enhanced-fields.yaml +241 -0
  199. nautobot/docs/installation/tables/v2-filters-removed-fields.yaml +553 -0
  200. nautobot/docs/installation/tables/v2-filters-renamed-fields.yaml +223 -0
  201. nautobot/docs/installation/tables/v2-logging-renamed-loggers.yaml +23 -0
  202. nautobot/docs/installation/upgrading-from-nautobot-v1.md +170 -747
  203. nautobot/docs/models/dcim/device.md +3 -0
  204. nautobot/docs/models/dcim/deviceredundancygroup.md +3 -3
  205. nautobot/docs/models/extras/computedfield.md +4 -4
  206. nautobot/docs/models/extras/gitrepository.md +3 -0
  207. nautobot/docs/models/extras/job.md +1 -0
  208. nautobot/docs/models/extras/jobbutton.md +18 -13
  209. nautobot/docs/models/extras/jobhook.md +7 -4
  210. nautobot/docs/models/extras/jobresult.md +6 -2
  211. nautobot/docs/models/extras/relationship.md +2 -2
  212. nautobot/docs/models/extras/status.md +6 -19
  213. nautobot/docs/models/ipam/ipaddress.md +3 -0
  214. nautobot/docs/models/virtualization/virtualmachine.md +3 -0
  215. nautobot/docs/plugins/development.md +83 -21
  216. nautobot/docs/release-notes/version-1.5.md +53 -0
  217. nautobot/docs/release-notes/version-2.0.md +180 -0
  218. nautobot/docs/requirements.txt +1 -0
  219. nautobot/docs/rest-api/overview.md +384 -215
  220. nautobot/docs/rest-api/ui-related-endpoints.md +9 -0
  221. nautobot/extras/admin.py +3 -5
  222. nautobot/extras/api/customfields.py +15 -39
  223. nautobot/extras/api/fields.py +0 -11
  224. nautobot/extras/api/mixins.py +45 -0
  225. nautobot/extras/api/relationships.py +63 -158
  226. nautobot/extras/api/serializers.py +165 -700
  227. nautobot/extras/api/urls.py +1 -1
  228. nautobot/extras/api/views.py +294 -280
  229. nautobot/extras/apps.py +4 -7
  230. nautobot/extras/choices.py +11 -9
  231. nautobot/extras/constants.py +9 -3
  232. nautobot/extras/datasources/__init__.py +2 -0
  233. nautobot/extras/datasources/git.py +135 -186
  234. nautobot/extras/datasources/registry.py +25 -35
  235. nautobot/extras/filters/__init__.py +20 -19
  236. nautobot/extras/filters/mixins.py +4 -4
  237. nautobot/extras/forms/forms.py +63 -127
  238. nautobot/extras/forms/mixins.py +23 -51
  239. nautobot/extras/health_checks.py +0 -33
  240. nautobot/extras/jobs.py +387 -565
  241. nautobot/extras/management/commands/runjob.py +24 -62
  242. nautobot/extras/managers.py +30 -7
  243. nautobot/extras/migrations/0058_jobresult_add_time_status_idxs.py +38 -0
  244. nautobot/extras/migrations/{0058_joblogentry_scheduledjob_webhook_data_migration.py → 0059_joblogentry_scheduledjob_webhook_data_migration.py} +1 -1
  245. nautobot/extras/migrations/{0059_alter_joblogentry_scheduledjob_webhook_fields.py → 0060_alter_joblogentry_scheduledjob_webhook_fields.py} +1 -1
  246. nautobot/extras/migrations/{0060_role_and_alter_status.py → 0061_role_and_alter_status.py} +1 -7
  247. nautobot/extras/migrations/{0061_collect_roles_from_related_apps_roles.py → 0062_collect_roles_from_related_apps_roles.py} +33 -32
  248. nautobot/extras/migrations/{0062_alter_role_options.py → 0063_alter_role_options.py} +1 -1
  249. nautobot/extras/migrations/{0063_alter_configcontext_and_add_new_role.py → 0064_alter_configcontext_and_add_new_role.py} +1 -1
  250. nautobot/extras/migrations/0065_configcontext_data_migrations.py +44 -0
  251. nautobot/extras/migrations/{0065_rename_configcontext_role.py → 0066_rename_configcontext_role.py} +1 -1
  252. nautobot/extras/migrations/{0066_jobresult__add_celery_fields.py → 0067_jobresult__add_celery_fields.py} +36 -2
  253. nautobot/extras/migrations/{0067_created_datetime.py → 0068_created_datetime.py} +1 -1
  254. nautobot/extras/migrations/{0068_remove_site_and_region_attributes_from_config_context.py → 0069_remove_site_and_region_attributes_from_config_context.py} +1 -1
  255. nautobot/extras/migrations/{0069_replace_related_names.py → 0070_replace_related_names.py} +1 -1
  256. nautobot/extras/migrations/{0070_rename_model_fields.py → 0071_rename_model_fields.py} +1 -1
  257. nautobot/extras/migrations/0072_job__unique_name_data_migration.py +86 -0
  258. nautobot/extras/migrations/{0072_job__unique_name.py → 0073_job__unique_name.py} +13 -9
  259. nautobot/extras/migrations/{0073_remove_gitrepository_fields.py → 0074_remove_gitrepository_fields.py} +1 -1
  260. nautobot/extras/migrations/{0074_rename_slug_to_key_for_custom_field.py → 0075_rename_slug_to_key_for_custom_field.py} +1 -1
  261. nautobot/extras/migrations/{0075_migrate_custom_field_data.py → 0076_migrate_custom_field_data.py} +1 -1
  262. nautobot/extras/migrations/{0076_remove_name_field_and_make_label_field_non_nullable.py → 0077_remove_name_field_and_make_label_field_non_nullable.py} +1 -1
  263. nautobot/extras/migrations/{0077_remove_slug.py → 0078_remove_slug.py} +1 -5
  264. nautobot/extras/migrations/0079_tagsfield.py +28 -0
  265. nautobot/extras/migrations/0080_rename_relationship_slug_to_key.py +17 -0
  266. nautobot/extras/migrations/0081_rename_relationship_name_to_label.py +29 -0
  267. nautobot/extras/migrations/0082_ensure_relationship_keys_are_unique.py +43 -0
  268. nautobot/extras/migrations/0083_rename_computed_field_slug_to_key.py +21 -0
  269. nautobot/extras/migrations/0084_taggeditem_cleanup.py +43 -0
  270. nautobot/extras/migrations/0085_taggeditem_uniqueness.py +22 -0
  271. nautobot/extras/migrations/0086_job__celery_task_fields__dryrun_support.py +81 -0
  272. nautobot/extras/migrations/0087_job__commit_default_data_migration.py +26 -0
  273. nautobot/extras/migrations/0088_joblogentry__log_level_default.py +17 -0
  274. nautobot/extras/migrations/0089_joblogentry__log_level_data_migration.py +34 -0
  275. nautobot/extras/migrations/0090_scheduledjob__data_migration.py +57 -0
  276. nautobot/extras/models/__init__.py +2 -3
  277. nautobot/extras/models/change_logging.py +0 -36
  278. nautobot/extras/models/customfields.py +39 -33
  279. nautobot/extras/models/datasources.py +48 -50
  280. nautobot/extras/models/groups.py +5 -6
  281. nautobot/extras/models/jobs.py +189 -321
  282. nautobot/extras/models/mixins.py +0 -71
  283. nautobot/extras/models/models.py +0 -19
  284. nautobot/extras/models/relationships.py +19 -13
  285. nautobot/extras/models/roles.py +0 -34
  286. nautobot/extras/models/secrets.py +2 -26
  287. nautobot/extras/models/statuses.py +6 -5
  288. nautobot/extras/models/tags.py +2 -17
  289. nautobot/extras/navigation.py +89 -307
  290. nautobot/extras/plugins/__init__.py +3 -120
  291. nautobot/extras/plugins/utils.py +0 -3
  292. nautobot/extras/plugins/validators.py +5 -4
  293. nautobot/extras/plugins/views.py +16 -3
  294. nautobot/extras/querysets.py +1 -7
  295. nautobot/extras/registry.py +3 -0
  296. nautobot/extras/signals.py +26 -60
  297. nautobot/extras/tables.py +34 -40
  298. nautobot/extras/tasks.py +0 -12
  299. nautobot/extras/templates/extras/configcontext.html +1 -1
  300. nautobot/extras/templates/extras/configcontextschema.html +16 -1
  301. nautobot/extras/templates/extras/customfield.html +0 -13
  302. nautobot/extras/templates/extras/gitrepository.html +3 -3
  303. nautobot/extras/templates/extras/inc/jobresult.html +10 -0
  304. nautobot/extras/templates/extras/inc/panel_jobhistory.html +1 -1
  305. nautobot/extras/templates/extras/job.html +35 -25
  306. nautobot/extras/templates/extras/job_approval_request.html +15 -30
  307. nautobot/extras/templates/extras/job_detail.html +13 -31
  308. nautobot/extras/templates/extras/job_edit.html +15 -17
  309. nautobot/extras/templates/extras/jobresult.html +24 -6
  310. nautobot/extras/templates/extras/scheduledjob.html +2 -2
  311. nautobot/extras/templates/extras/secret.html +28 -0
  312. nautobot/extras/templatetags/job_buttons.py +1 -0
  313. nautobot/extras/{tests/example_jobs → test_jobs}/api_test_job.py +13 -6
  314. nautobot/extras/test_jobs/atomic_transaction.py +53 -0
  315. nautobot/extras/test_jobs/dry_run.py +29 -0
  316. nautobot/extras/{tests/example_jobs/test_duplicate_name.py → test_jobs/duplicate_name.py} +4 -0
  317. nautobot/extras/test_jobs/duplicate_name2.py +9 -0
  318. nautobot/extras/test_jobs/fail.py +23 -0
  319. nautobot/extras/{tests/example_jobs/test_field_default.py → test_jobs/field_default.py} +4 -0
  320. nautobot/extras/{tests/example_jobs/test_field_order.py → test_jobs/field_order.py} +4 -0
  321. nautobot/extras/{tests/example_jobs/test_file_upload_fail.py → test_jobs/file_upload_fail.py} +11 -6
  322. nautobot/extras/test_jobs/file_upload_pass.py +25 -0
  323. nautobot/extras/test_jobs/has_sensitive_variables.py +25 -0
  324. nautobot/extras/test_jobs/ipaddress_vars.py +66 -0
  325. nautobot/extras/test_jobs/job_button_receiver.py +28 -0
  326. nautobot/extras/test_jobs/job_hook_receiver.py +29 -0
  327. nautobot/extras/test_jobs/job_variables.py +88 -0
  328. nautobot/extras/test_jobs/location_with_custom_field.py +45 -0
  329. nautobot/extras/test_jobs/log_redaction.py +20 -0
  330. nautobot/extras/test_jobs/log_skip_db_logging.py +17 -0
  331. nautobot/extras/test_jobs/modify_db.py +25 -0
  332. nautobot/extras/{tests/example_jobs/test_no_field_order.py → test_jobs/no_field_order.py} +4 -0
  333. nautobot/extras/test_jobs/object_var_optional.py +21 -0
  334. nautobot/extras/test_jobs/object_var_required.py +21 -0
  335. nautobot/extras/test_jobs/object_vars.py +26 -0
  336. nautobot/extras/test_jobs/pass.py +25 -0
  337. nautobot/extras/test_jobs/profiling.py +32 -0
  338. nautobot/extras/test_jobs/read_only_job.py +15 -0
  339. nautobot/extras/{tests/example_jobs/test_required_args.py → test_jobs/required_args.py} +4 -0
  340. nautobot/extras/{tests/example_jobs/test_soft_time_limit_greater_than_time_limit.py → test_jobs/soft_time_limit_greater_than_time_limit.py} +5 -1
  341. nautobot/extras/{tests/example_jobs/test_task_queues.py → test_jobs/task_queues.py} +5 -1
  342. nautobot/extras/tests/integration/test_computedfields.py +1 -1
  343. nautobot/extras/tests/integration/test_configcontextschema.py +5 -3
  344. nautobot/extras/tests/integration/test_customfields.py +4 -2
  345. nautobot/extras/tests/integration/test_dynamicgroups.py +1 -1
  346. nautobot/extras/tests/integration/test_jobs.py +25 -27
  347. nautobot/extras/tests/integration/test_notes.py +8 -4
  348. nautobot/extras/tests/integration/test_relationships.py +2 -2
  349. nautobot/extras/tests/test_api.py +649 -642
  350. nautobot/extras/tests/test_changelog.py +3 -3
  351. nautobot/extras/tests/test_context_managers.py +5 -3
  352. nautobot/extras/tests/test_customfields.py +92 -50
  353. nautobot/extras/tests/test_datasources.py +189 -112
  354. nautobot/extras/tests/test_dynamicgroups.py +7 -8
  355. nautobot/extras/tests/test_filters.py +137 -89
  356. nautobot/extras/tests/test_forms.py +73 -75
  357. nautobot/extras/tests/{test_scripts.py → test_job_variables.py} +43 -49
  358. nautobot/extras/tests/test_jobs.py +262 -263
  359. nautobot/extras/tests/test_migrations.py +4 -3
  360. nautobot/extras/tests/test_models.py +116 -161
  361. nautobot/extras/tests/test_plugins.py +38 -60
  362. nautobot/extras/tests/test_relationships.py +167 -120
  363. nautobot/extras/tests/test_tags.py +6 -11
  364. nautobot/extras/tests/test_utils.py +31 -1
  365. nautobot/extras/tests/test_views.py +201 -145
  366. nautobot/extras/tests/test_webhooks.py +6 -2
  367. nautobot/extras/urls.py +42 -42
  368. nautobot/extras/utils.py +137 -163
  369. nautobot/extras/views.py +78 -152
  370. nautobot/ipam/api/fields.py +17 -0
  371. nautobot/ipam/api/serializers.py +58 -164
  372. nautobot/ipam/api/urls.py +1 -1
  373. nautobot/ipam/api/views.py +3 -2
  374. nautobot/ipam/apps.py +1 -2
  375. nautobot/ipam/filters.py +1 -10
  376. nautobot/ipam/forms.py +4 -177
  377. nautobot/ipam/lookups.py +1 -0
  378. nautobot/ipam/management/commands/__init__.py +0 -0
  379. nautobot/ipam/management/commands/fix_prefix_broadcast.py +17 -0
  380. nautobot/ipam/migrations/0010_alter_ipam_role_add_new_role.py +1 -1
  381. nautobot/ipam/migrations/0011_migrate_ipam_role_data.py +32 -38
  382. nautobot/ipam/migrations/0020_related_name_changes.py +1 -1
  383. nautobot/ipam/migrations/0022_aggregate_to_prefix_data_migration.py +2 -2
  384. nautobot/ipam/migrations/0028_tagsfield.py +44 -0
  385. nautobot/ipam/migrations/0029_ip_address_to_interface_uniqueness_constraints.py +18 -0
  386. nautobot/ipam/migrations/{0028_ipam__namespaces.py → 0030_ipam__namespaces.py} +77 -28
  387. nautobot/ipam/migrations/0031_ipam__prefix__add_parent.py +58 -0
  388. nautobot/ipam/migrations/0032_ipam__namespaces_finish.py +63 -0
  389. nautobot/ipam/migrations/0033_fixup_null_statuses.py +26 -0
  390. nautobot/ipam/migrations/0034_status_nonnullable.py +36 -0
  391. nautobot/ipam/models.py +100 -236
  392. nautobot/ipam/navigation.py +36 -181
  393. nautobot/ipam/querysets.py +20 -25
  394. nautobot/ipam/signals.py +49 -6
  395. nautobot/ipam/tables.py +10 -3
  396. nautobot/ipam/templates/ipam/namespace_ipaddresses.html +11 -0
  397. nautobot/ipam/templates/ipam/namespace_prefixes.html +11 -0
  398. nautobot/ipam/templates/ipam/namespace_retrieve.html +17 -4
  399. nautobot/ipam/templates/ipam/namespace_vrfs.html +11 -0
  400. nautobot/ipam/templates/ipam/prefix.html +1 -1
  401. nautobot/ipam/templates/ipam/vlangroup.html +0 -13
  402. nautobot/ipam/templates/ipam/vrf_edit.html +6 -0
  403. nautobot/ipam/tests/integration/test_prefixes.py +3 -26
  404. nautobot/ipam/tests/test_api.py +22 -19
  405. nautobot/ipam/tests/test_filters.py +59 -23
  406. nautobot/ipam/tests/test_migrations.py +6 -10
  407. nautobot/ipam/tests/test_models.py +323 -198
  408. nautobot/ipam/tests/test_ordering.py +2 -2
  409. nautobot/ipam/tests/test_querysets.py +44 -24
  410. nautobot/ipam/tests/test_views.py +73 -26
  411. nautobot/ipam/urls.py +16 -0
  412. nautobot/ipam/{utils.py → utils/__init__.py} +2 -2
  413. nautobot/ipam/utils/migrations.py +713 -0
  414. nautobot/ipam/views.py +137 -20
  415. nautobot/project-static/docs/404.html +1178 -10
  416. nautobot/project-static/docs/additional-features/caching.html +1224 -159
  417. nautobot/project-static/docs/additional-features/change-logging.html +1180 -12
  418. nautobot/project-static/docs/additional-features/config-contexts.html +1180 -12
  419. nautobot/project-static/docs/additional-features/graphql.html +1179 -11
  420. nautobot/project-static/docs/additional-features/healthcheck.html +1180 -12
  421. nautobot/project-static/docs/additional-features/job-scheduling-and-approvals.html +1184 -12
  422. nautobot/project-static/docs/additional-features/jobs.html +1514 -328
  423. nautobot/project-static/docs/additional-features/napalm.html +1180 -12
  424. nautobot/project-static/docs/additional-features/prometheus-metrics.html +1180 -12
  425. nautobot/project-static/docs/additional-features/template-filters.html +1180 -12
  426. nautobot/project-static/docs/administration/celery-queues.html +1178 -10
  427. nautobot/project-static/docs/administration/nautobot-server.html +1451 -304
  428. nautobot/project-static/docs/administration/nautobot-shell.html +1178 -10
  429. nautobot/project-static/docs/administration/permissions.html +1178 -10
  430. nautobot/project-static/docs/administration/replicating-nautobot.html +1262 -113
  431. nautobot/project-static/docs/apps/index.html +1178 -10
  432. nautobot/project-static/docs/apps/nautobot-apps.html +1178 -10
  433. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +1580 -426
  434. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +1178 -10
  435. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +3481 -1838
  436. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +1178 -10
  437. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +1178 -10
  438. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +1185 -11
  439. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +1719 -551
  440. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +2062 -930
  441. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +1946 -659
  442. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +1180 -12
  443. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +1189 -21
  444. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +9283 -6218
  445. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +2734 -2122
  446. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +1178 -10
  447. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +2337 -1300
  448. nautobot/project-static/docs/configuration/authentication/ldap.html +1178 -10
  449. nautobot/project-static/docs/configuration/authentication/remote.html +1178 -10
  450. nautobot/project-static/docs/configuration/authentication/sso.html +1178 -10
  451. nautobot/project-static/docs/configuration/index.html +1178 -10
  452. nautobot/project-static/docs/configuration/optional-settings.html +1311 -160
  453. nautobot/project-static/docs/configuration/required-settings.html +1312 -211
  454. nautobot/project-static/docs/core-functionality/circuits.html +1178 -10
  455. nautobot/project-static/docs/core-functionality/device-types.html +1178 -10
  456. nautobot/project-static/docs/core-functionality/devices.html +1182 -10
  457. nautobot/project-static/docs/core-functionality/ipam.html +1182 -10
  458. nautobot/project-static/docs/core-functionality/power.html +1178 -10
  459. nautobot/project-static/docs/core-functionality/secrets.html +1178 -10
  460. nautobot/project-static/docs/core-functionality/services.html +1178 -10
  461. nautobot/project-static/docs/core-functionality/sites-and-racks.html +1178 -10
  462. nautobot/project-static/docs/core-functionality/tenancy.html +1178 -10
  463. nautobot/project-static/docs/core-functionality/virtualization.html +1182 -10
  464. nautobot/project-static/docs/core-functionality/vlans.html +1179 -11
  465. nautobot/project-static/docs/development/application-registry.html +1190 -42
  466. nautobot/project-static/docs/development/best-practices.html +1178 -10
  467. nautobot/project-static/docs/development/docker-compose-advanced-use-cases.html +1178 -10
  468. nautobot/project-static/docs/development/extending-models.html +1238 -83
  469. nautobot/project-static/docs/development/generic-views.html +1180 -14
  470. nautobot/project-static/docs/development/getting-started.html +1365 -90
  471. nautobot/project-static/docs/development/homepage.html +1178 -10
  472. nautobot/project-static/docs/development/index.html +1178 -10
  473. nautobot/project-static/docs/development/model-features.html +1178 -10
  474. nautobot/project-static/docs/development/natural-keys.html +1178 -10
  475. nautobot/project-static/docs/development/navigation-menu.html +1215 -125
  476. nautobot/project-static/docs/development/react-ui.html +4199 -0
  477. nautobot/project-static/docs/development/release-checklist.html +1178 -10
  478. nautobot/project-static/docs/development/role-internals.html +1179 -12
  479. nautobot/project-static/docs/development/style-guide.html +1188 -19
  480. nautobot/project-static/docs/development/templates.html +1178 -10
  481. nautobot/project-static/docs/development/testing.html +1178 -10
  482. nautobot/project-static/docs/development/user-preferences.html +1178 -10
  483. nautobot/project-static/docs/docker/index.html +1178 -10
  484. nautobot/project-static/docs/index.html +1183 -12
  485. nautobot/project-static/docs/installation/centos.html +1178 -10
  486. nautobot/project-static/docs/installation/external-authentication.html +1178 -10
  487. nautobot/project-static/docs/installation/http-server.html +1178 -10
  488. nautobot/project-static/docs/installation/index.html +1178 -10
  489. nautobot/project-static/docs/installation/migrating-from-netbox.html +1305 -189
  490. nautobot/project-static/docs/installation/migrating-from-postgresql.html +1178 -10
  491. nautobot/project-static/docs/installation/nautobot.html +1179 -11
  492. nautobot/project-static/docs/installation/region-and-site-data-migration-guide.html +1178 -10
  493. nautobot/project-static/docs/installation/selinux-troubleshooting.html +1178 -10
  494. nautobot/project-static/docs/installation/services.html +1178 -10
  495. nautobot/project-static/docs/installation/tables/v2-api-behavior-changes.yaml +70 -0
  496. nautobot/project-static/docs/installation/tables/v2-api-removed-fields.yaml +142 -0
  497. nautobot/project-static/docs/installation/tables/v2-api-renamed-fields.yaml +124 -0
  498. nautobot/project-static/docs/installation/tables/v2-code-location-changes.yaml +241 -0
  499. nautobot/project-static/docs/installation/tables/v2-code-removals.yaml +67 -0
  500. nautobot/project-static/docs/installation/tables/v2-database-behavior-changes.yaml +37 -0
  501. nautobot/project-static/docs/installation/tables/v2-database-removed-fields.yaml +166 -0
  502. nautobot/project-static/docs/installation/tables/v2-database-renamed-fields.yaml +340 -0
  503. nautobot/project-static/docs/installation/tables/v2-filters-corrected-fields.yaml +28 -0
  504. nautobot/project-static/docs/installation/tables/v2-filters-enhanced-fields.yaml +241 -0
  505. nautobot/project-static/docs/installation/tables/v2-filters-removed-fields.yaml +553 -0
  506. nautobot/project-static/docs/installation/tables/v2-filters-renamed-fields.yaml +223 -0
  507. nautobot/project-static/docs/installation/tables/v2-logging-renamed-loggers.yaml +23 -0
  508. nautobot/project-static/docs/installation/ubuntu.html +1178 -10
  509. nautobot/project-static/docs/installation/upgrading-from-nautobot-v1.html +3823 -2152
  510. nautobot/project-static/docs/installation/upgrading.html +1178 -10
  511. nautobot/project-static/docs/models/circuits/circuit.html +1293 -103
  512. nautobot/project-static/docs/models/circuits/circuittermination.html +1293 -103
  513. nautobot/project-static/docs/models/circuits/circuittype.html +1293 -103
  514. nautobot/project-static/docs/models/circuits/provider.html +1293 -103
  515. nautobot/project-static/docs/models/circuits/providernetwork.html +1293 -103
  516. nautobot/project-static/docs/models/dcim/cable.html +1324 -103
  517. nautobot/project-static/docs/models/dcim/consoleport.html +1293 -103
  518. nautobot/project-static/docs/models/dcim/consoleporttemplate.html +1293 -103
  519. nautobot/project-static/docs/models/dcim/consoleserverport.html +1293 -103
  520. nautobot/project-static/docs/models/dcim/consoleserverporttemplate.html +1293 -103
  521. nautobot/project-static/docs/models/dcim/device.html +1326 -132
  522. nautobot/project-static/docs/models/dcim/devicebay.html +1293 -103
  523. nautobot/project-static/docs/models/dcim/devicebaytemplate.html +1293 -103
  524. nautobot/project-static/docs/models/dcim/deviceredundancygroup.html +1379 -97
  525. nautobot/project-static/docs/models/dcim/devicetype.html +1293 -103
  526. nautobot/project-static/docs/models/dcim/frontport.html +1293 -103
  527. nautobot/project-static/docs/models/dcim/frontporttemplate.html +1293 -103
  528. nautobot/project-static/docs/models/dcim/interface.html +1293 -103
  529. nautobot/project-static/docs/models/dcim/interfacetemplate.html +1293 -103
  530. nautobot/project-static/docs/models/dcim/inventoryitem.html +1293 -103
  531. nautobot/project-static/docs/models/dcim/location.html +1293 -103
  532. nautobot/project-static/docs/models/dcim/locationtype.html +1293 -103
  533. nautobot/project-static/docs/models/dcim/manufacturer.html +1292 -102
  534. nautobot/project-static/docs/models/dcim/platform.html +1272 -82
  535. nautobot/project-static/docs/models/dcim/powerfeed.html +1270 -80
  536. nautobot/project-static/docs/models/dcim/poweroutlet.html +1272 -82
  537. nautobot/project-static/docs/models/dcim/poweroutlettemplate.html +1272 -82
  538. nautobot/project-static/docs/models/dcim/powerpanel.html +1270 -80
  539. nautobot/project-static/docs/models/dcim/powerport.html +1272 -82
  540. nautobot/project-static/docs/models/dcim/powerporttemplate.html +1272 -82
  541. nautobot/project-static/docs/models/dcim/rack.html +1272 -82
  542. nautobot/project-static/docs/models/dcim/rackgroup.html +1272 -82
  543. nautobot/project-static/docs/models/dcim/rackreservation.html +1272 -82
  544. nautobot/project-static/docs/models/dcim/rearport.html +1286 -96
  545. nautobot/project-static/docs/models/dcim/rearporttemplate.html +1286 -96
  546. nautobot/project-static/docs/models/dcim/region.html +1178 -10
  547. nautobot/project-static/docs/models/dcim/site.html +1178 -10
  548. nautobot/project-static/docs/models/dcim/virtualchassis.html +1284 -94
  549. nautobot/project-static/docs/models/extras/computedfield.html +1184 -16
  550. nautobot/project-static/docs/models/extras/configcontext.html +1314 -86
  551. nautobot/project-static/docs/models/extras/configcontextschema.html +1276 -86
  552. nautobot/project-static/docs/models/extras/customfield.html +1180 -12
  553. nautobot/project-static/docs/models/extras/customlink.html +1180 -12
  554. nautobot/project-static/docs/models/extras/dynamicgroup.html +1180 -12
  555. nautobot/project-static/docs/models/extras/exporttemplate.html +1180 -12
  556. nautobot/project-static/docs/models/extras/gitrepository.html +1184 -12
  557. nautobot/project-static/docs/models/extras/graphqlquery.html +1321 -86
  558. nautobot/project-static/docs/models/extras/imageattachment.html +1276 -86
  559. nautobot/project-static/docs/models/extras/job.html +1277 -86
  560. nautobot/project-static/docs/models/extras/jobbutton.html +1201 -29
  561. nautobot/project-static/docs/models/extras/jobhook.html +1188 -16
  562. nautobot/project-static/docs/models/extras/joblogentry.html +1274 -84
  563. nautobot/project-static/docs/models/extras/jobresult.html +1364 -169
  564. nautobot/project-static/docs/models/extras/note.html +1180 -12
  565. nautobot/project-static/docs/models/extras/relationship.html +1182 -14
  566. nautobot/project-static/docs/models/extras/role.html +1320 -86
  567. nautobot/project-static/docs/models/extras/secret.html +1314 -86
  568. nautobot/project-static/docs/models/extras/secretsgroup.html +1276 -86
  569. nautobot/project-static/docs/models/extras/status.html +1188 -59
  570. nautobot/project-static/docs/models/extras/tag.html +1180 -12
  571. nautobot/project-static/docs/models/extras/webhook.html +1180 -12
  572. nautobot/project-static/docs/models/ipam/ipaddress.html +1327 -102
  573. nautobot/project-static/docs/models/ipam/prefix.html +1276 -86
  574. nautobot/project-static/docs/models/ipam/rir.html +1276 -86
  575. nautobot/project-static/docs/models/ipam/routetarget.html +1276 -86
  576. nautobot/project-static/docs/models/ipam/service.html +1276 -86
  577. nautobot/project-static/docs/models/ipam/vlan.html +1276 -86
  578. nautobot/project-static/docs/models/ipam/vlangroup.html +1276 -86
  579. nautobot/project-static/docs/models/ipam/vrf.html +1276 -86
  580. nautobot/project-static/docs/models/tenancy/tenant.html +1276 -86
  581. nautobot/project-static/docs/models/tenancy/tenantgroup.html +1276 -86
  582. nautobot/project-static/docs/models/users/objectpermission.html +1314 -86
  583. nautobot/project-static/docs/models/users/token.html +1276 -86
  584. nautobot/project-static/docs/models/virtualization/cluster.html +1276 -86
  585. nautobot/project-static/docs/models/virtualization/clustergroup.html +1276 -86
  586. nautobot/project-static/docs/models/virtualization/clustertype.html +1276 -86
  587. nautobot/project-static/docs/models/virtualization/virtualmachine.html +1321 -127
  588. nautobot/project-static/docs/models/virtualization/vminterface.html +1276 -86
  589. nautobot/project-static/docs/objects.inv +0 -0
  590. nautobot/project-static/docs/plugins/development.html +1726 -495
  591. nautobot/project-static/docs/plugins/index.html +1178 -10
  592. nautobot/project-static/docs/plugins/porting-from-netbox.html +1178 -10
  593. nautobot/project-static/docs/release-notes/index.html +1178 -10
  594. nautobot/project-static/docs/release-notes/version-1.0.html +1178 -10
  595. nautobot/project-static/docs/release-notes/version-1.1.html +1178 -10
  596. nautobot/project-static/docs/release-notes/version-1.2.html +1178 -10
  597. nautobot/project-static/docs/release-notes/version-1.3.html +1178 -10
  598. nautobot/project-static/docs/release-notes/version-1.4.html +1178 -10
  599. nautobot/project-static/docs/release-notes/version-1.5.html +1608 -225
  600. nautobot/project-static/docs/release-notes/version-2.0.html +1547 -47
  601. nautobot/project-static/docs/requirements.txt +1 -0
  602. nautobot/project-static/docs/rest-api/authentication.html +1179 -11
  603. nautobot/project-static/docs/rest-api/filtering.html +1178 -10
  604. nautobot/project-static/docs/rest-api/overview.html +1841 -446
  605. nautobot/project-static/docs/rest-api/ui-related-endpoints.html +4057 -0
  606. nautobot/project-static/docs/search/search_index.json +1 -1
  607. nautobot/project-static/docs/sitemap.xml +197 -187
  608. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  609. nautobot/project-static/docs/user-guides/custom-fields.html +1178 -10
  610. nautobot/project-static/docs/user-guides/getting-started/creating-devices.html +1178 -10
  611. nautobot/project-static/docs/user-guides/getting-started/index.html +1178 -10
  612. nautobot/project-static/docs/user-guides/getting-started/interfaces.html +1178 -10
  613. nautobot/project-static/docs/user-guides/getting-started/ipam.html +1178 -10
  614. nautobot/project-static/docs/user-guides/getting-started/platforms.html +1178 -10
  615. nautobot/project-static/docs/user-guides/getting-started/regions.html +1178 -10
  616. nautobot/project-static/docs/user-guides/getting-started/search-bar.html +1178 -10
  617. nautobot/project-static/docs/user-guides/getting-started/tenants.html +1178 -10
  618. nautobot/project-static/docs/user-guides/getting-started/vlans-and-vlan-groups.html +1178 -10
  619. nautobot/project-static/docs/user-guides/git-data-source.html +1178 -10
  620. nautobot/project-static/docs/user-guides/graphql.html +1178 -10
  621. nautobot/project-static/docs/user-guides/relationships.html +1178 -10
  622. nautobot/project-static/docs/user-guides/s3-django-storage.html +1178 -10
  623. nautobot/project-static/js/forms.js +16 -9
  624. nautobot/project-static/js/theme.js +5 -0
  625. nautobot/tenancy/api/serializers.py +4 -32
  626. nautobot/tenancy/api/urls.py +1 -1
  627. nautobot/tenancy/forms.py +0 -28
  628. nautobot/tenancy/migrations/0008_tagsfield.py +19 -0
  629. nautobot/tenancy/models.py +0 -25
  630. nautobot/tenancy/navigation.py +6 -39
  631. nautobot/tenancy/templates/tenancy/tenant.html +12 -12
  632. nautobot/tenancy/templates/tenancy/tenantgroup.html +1 -1
  633. nautobot/tenancy/tests/test_api.py +1 -3
  634. nautobot/tenancy/tests/test_filters.py +10 -5
  635. nautobot/tenancy/views.py +0 -2
  636. nautobot/ui/.eslintignore +6 -0
  637. nautobot/ui/.gitignore +10 -0
  638. nautobot/ui/.prettierignore +9 -0
  639. nautobot/ui/.prettierrc +4 -0
  640. nautobot/ui/README.md +33 -0
  641. nautobot/ui/app_imports.js.j2 +7 -0
  642. nautobot/ui/craco.config.js +46 -0
  643. nautobot/ui/jsconfig-base.json +11 -0
  644. nautobot/ui/jsconfig.json +5 -0
  645. nautobot/ui/lib/nautobot-craco-alias-plugin.js +40 -0
  646. nautobot/ui/package-lock.json +21451 -0
  647. nautobot/ui/package.json +70 -0
  648. nautobot/ui/public/index.html +47 -0
  649. nautobot/ui/public/logo192.png +0 -0
  650. nautobot/ui/public/logo512.png +0 -0
  651. nautobot/ui/public/manifest.json +25 -0
  652. nautobot/ui/public/nautobot_logo.svg +131 -0
  653. nautobot/ui/public/robots.txt +3 -0
  654. nautobot/ui/src/App.js +71 -0
  655. nautobot/ui/src/components/AppFullWidthComponents.js +8 -0
  656. nautobot/ui/src/components/AppTab.js +40 -0
  657. nautobot/ui/src/components/Apps.js +60 -0
  658. nautobot/ui/src/components/HomeChangelogPanel.js +98 -0
  659. nautobot/ui/src/components/HomePanel.js +58 -0
  660. nautobot/ui/src/components/JobHistoryTable.js +78 -0
  661. nautobot/ui/src/components/Layout.js +53 -0
  662. nautobot/ui/src/components/LoadingWidget.js +25 -0
  663. nautobot/ui/src/components/Navbar.js +116 -0
  664. nautobot/ui/src/components/NotificationPopover.js +27 -0
  665. nautobot/ui/src/components/ObjectListTable.js +209 -0
  666. nautobot/ui/src/components/ReferenceDataTag.js +35 -0
  667. nautobot/ui/src/components/RouterButton.js +10 -0
  668. nautobot/ui/src/components/RouterLink.js +10 -0
  669. nautobot/ui/src/components/SidebarNav.js +147 -0
  670. nautobot/ui/src/components/Table.js +48 -0
  671. nautobot/ui/src/components/TableItem.js +71 -0
  672. nautobot/ui/src/components/__tests__/AppFullWidthComponents.test.js +16 -0
  673. nautobot/ui/src/components/__tests__/AppTab.test.js +21 -0
  674. nautobot/ui/src/components/__tests__/Apps.test.js +14 -0
  675. nautobot/ui/src/components/__tests__/Layout.test.js +33 -0
  676. nautobot/ui/src/components/__tests__/Table.test.js +36 -0
  677. nautobot/ui/src/components/__tests__/TableItem.test.js +37 -0
  678. nautobot/ui/src/components/__tests__/paginator.test.js +43 -0
  679. nautobot/ui/src/components/__tests__/paginator_form.test.js +13 -0
  680. nautobot/ui/src/components/pagination.js +93 -0
  681. nautobot/ui/src/components/paginator.js +79 -0
  682. nautobot/ui/src/components/paginator_form.js +43 -0
  683. nautobot/ui/src/components/usePagination.js +57 -0
  684. nautobot/ui/src/constants/apiPath.js +10 -0
  685. nautobot/ui/src/constants/icons.js +15 -0
  686. nautobot/ui/src/constants/size.js +15 -0
  687. nautobot/ui/src/index.js +65 -0
  688. nautobot/ui/src/reportWebVitals.js +15 -0
  689. nautobot/ui/src/router.js +77 -0
  690. nautobot/ui/src/utils/api.js +131 -0
  691. nautobot/ui/src/utils/app-import.js +15 -0
  692. nautobot/ui/src/utils/color.js +15 -0
  693. nautobot/ui/src/utils/date.js +14 -0
  694. nautobot/ui/src/utils/index.js +15 -0
  695. nautobot/ui/src/utils/navigation.js +32 -0
  696. nautobot/ui/src/utils/session.js +64 -0
  697. nautobot/ui/src/utils/store.js +242 -0
  698. nautobot/ui/src/utils/string.js +6 -0
  699. nautobot/ui/src/utils/url.js +4 -0
  700. nautobot/ui/src/views/Home.js +138 -0
  701. nautobot/ui/src/views/InstalledApps.js +80 -0
  702. nautobot/ui/src/views/Login.js +48 -0
  703. nautobot/ui/src/views/Logout.js +20 -0
  704. nautobot/ui/src/views/__tests__/BSCreateViewTemplate.test.js +11 -0
  705. nautobot/ui/src/views/__tests__/BSListViewTemplate.test.js +107 -0
  706. nautobot/ui/src/views/__tests__/Login.test.js +15 -0
  707. nautobot/ui/src/views/generic/GenericView.js +142 -0
  708. nautobot/ui/src/views/generic/ObjectCreate.js +96 -0
  709. nautobot/ui/src/views/generic/ObjectList.js +127 -0
  710. nautobot/ui/src/views/generic/ObjectRetrieve.js +551 -0
  711. nautobot/users/admin.py +1 -1
  712. nautobot/users/api/serializers.py +51 -61
  713. nautobot/users/api/urls.py +1 -1
  714. nautobot/users/api/views.py +53 -2
  715. nautobot/users/tests/test_api.py +110 -25
  716. nautobot/virtualization/api/serializers.py +18 -130
  717. nautobot/virtualization/api/urls.py +1 -1
  718. nautobot/virtualization/api/views.py +1 -22
  719. nautobot/virtualization/forms.py +13 -99
  720. nautobot/virtualization/migrations/0012_alter_virtualmachine_role_add_new_role.py +1 -1
  721. nautobot/virtualization/migrations/0013_migrate_virtualmachine_role_data.py +18 -11
  722. nautobot/virtualization/migrations/0015_rename_foreignkey_fields.py +1 -1
  723. nautobot/virtualization/migrations/0018_related_name_changes.py +1 -1
  724. nautobot/virtualization/migrations/0021_tagsfield_and_vminterface_to_primarymodel.py +39 -0
  725. nautobot/virtualization/migrations/0022_vminterface_timestamps_data_migration.py +17 -0
  726. nautobot/virtualization/migrations/{0021_ipam__namespaces.py → 0023_ipam__namespaces.py} +2 -2
  727. nautobot/virtualization/migrations/0024_fixup_null_statuses.py +25 -0
  728. nautobot/virtualization/migrations/0025_status_nonnullable.py +29 -0
  729. nautobot/virtualization/models.py +31 -123
  730. nautobot/virtualization/navigation.py +18 -99
  731. nautobot/virtualization/templates/virtualization/virtualmachine.html +2 -1
  732. nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +6 -0
  733. nautobot/virtualization/tests/test_api.py +25 -26
  734. nautobot/virtualization/tests/test_filters.py +41 -15
  735. nautobot/virtualization/tests/test_models.py +31 -7
  736. nautobot/virtualization/tests/test_views.py +42 -25
  737. nautobot/virtualization/views.py +7 -6
  738. {nautobot-2.0.0a3.dist-info → nautobot-2.0.0b1.dist-info}/METADATA +3 -7
  739. {nautobot-2.0.0a3.dist-info → nautobot-2.0.0b1.dist-info}/RECORD +744 -602
  740. {nautobot-2.0.0a3.dist-info → nautobot-2.0.0b1.dist-info}/WHEEL +1 -1
  741. nautobot/circuits/api/nested_serializers.py +0 -69
  742. nautobot/core/templates/plugin_template/navigation.py-tpl +0 -22
  743. nautobot/dcim/api/nested_serializers.py +0 -356
  744. nautobot/dcim/templates/dcim/device_import.html +0 -5
  745. nautobot/dcim/templates/dcim/device_import_child.html +0 -5
  746. nautobot/dcim/templates/dcim/inc/device_import_header.html +0 -4
  747. nautobot/extras/api/nested_serializers.py +0 -353
  748. nautobot/extras/migrations/0064_configcontext_data_migrations.py +0 -41
  749. nautobot/extras/migrations/0071_job__unique_name_data_migration.py +0 -46
  750. nautobot/extras/reports.py +0 -60
  751. nautobot/extras/scripts.py +0 -72
  752. nautobot/extras/tests/example_jobs/script_variables.py +0 -67
  753. nautobot/extras/tests/example_jobs/test_duplicate_name2.py +0 -5
  754. nautobot/extras/tests/example_jobs/test_fail.py +0 -16
  755. nautobot/extras/tests/example_jobs/test_file_upload_pass.py +0 -20
  756. nautobot/extras/tests/example_jobs/test_ipaddress_vars.py +0 -52
  757. nautobot/extras/tests/example_jobs/test_job_button_receiver.py +0 -21
  758. nautobot/extras/tests/example_jobs/test_job_hook_receiver.py +0 -20
  759. nautobot/extras/tests/example_jobs/test_location_with_custom_field.py +0 -35
  760. nautobot/extras/tests/example_jobs/test_log_redaction.py +0 -14
  761. nautobot/extras/tests/example_jobs/test_modify_db.py +0 -18
  762. nautobot/extras/tests/example_jobs/test_object_var_optional.py +0 -14
  763. nautobot/extras/tests/example_jobs/test_object_var_required.py +0 -14
  764. nautobot/extras/tests/example_jobs/test_object_vars.py +0 -29
  765. nautobot/extras/tests/example_jobs/test_pass.py +0 -19
  766. nautobot/extras/tests/example_jobs/test_read_only_fail.py +0 -24
  767. nautobot/extras/tests/example_jobs/test_read_only_no_commit_field.py +0 -10
  768. nautobot/extras/tests/example_jobs/test_read_only_pass.py +0 -22
  769. nautobot/ipam/api/nested_serializers.py +0 -159
  770. nautobot/ipam/migrations/0029_ipam__prefix__add_parent.py +0 -31
  771. nautobot/ipam/migrations/0030_ipam__prefix__data_migration.py +0 -13
  772. nautobot/ipam/migrations/0031_ipam__ipaddress__add_parent.py +0 -41
  773. nautobot/ipam/migrations/0032_ipam__ipaddress__data_migration.py +0 -11
  774. nautobot/tenancy/api/nested_serializers.py +0 -31
  775. nautobot/users/api/nested_serializers.py +0 -67
  776. nautobot/virtualization/api/nested_serializers.py +0 -65
  777. /nautobot/extras/{tests/example_jobs → test_jobs}/__init__.py +0 -0
  778. /nautobot/{dcim/models/sites.py → ipam/management/__init__.py} +0 -0
  779. {nautobot-2.0.0a3.dist-info → nautobot-2.0.0b1.dist-info}/LICENSE.txt +0 -0
  780. {nautobot-2.0.0a3.dist-info → nautobot-2.0.0b1.dist-info}/entry_points.txt +0 -0
@@ -1348,12 +1348,1166 @@
1348
1348
 
1349
1349
 
1350
1350
  <label class="md-nav__link" for="__nav_2_8" id="__nav_2_8_label" tabindex="0">
1351
+ Model Details
1352
+ <span class="md-nav__icon md-icon"></span>
1353
+ </label>
1354
+
1355
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_8_label" aria-expanded="false">
1356
+ <label class="md-nav__title" for="__nav_2_8">
1357
+ <span class="md-nav__icon md-icon"></span>
1358
+ Model Details
1359
+ </label>
1360
+ <ul class="md-nav__list" data-md-scrollfix>
1361
+
1362
+
1363
+
1364
+
1365
+
1366
+
1367
+
1368
+ <li class="md-nav__item md-nav__item--nested">
1369
+
1370
+
1371
+
1372
+
1373
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_1" >
1374
+
1375
+
1376
+
1377
+ <label class="md-nav__link" for="__nav_2_8_1" id="__nav_2_8_1_label" tabindex="0">
1378
+ Circuits
1379
+ <span class="md-nav__icon md-icon"></span>
1380
+ </label>
1381
+
1382
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_1_label" aria-expanded="false">
1383
+ <label class="md-nav__title" for="__nav_2_8_1">
1384
+ <span class="md-nav__icon md-icon"></span>
1385
+ Circuits
1386
+ </label>
1387
+ <ul class="md-nav__list" data-md-scrollfix>
1388
+
1389
+
1390
+
1391
+
1392
+
1393
+
1394
+ <li class="md-nav__item">
1395
+ <a href="../models/circuits/circuit.html" class="md-nav__link">
1396
+ Circuit
1397
+ </a>
1398
+ </li>
1399
+
1400
+
1401
+
1402
+
1403
+
1404
+
1405
+
1406
+
1407
+
1408
+ <li class="md-nav__item">
1409
+ <a href="../models/circuits/circuittermination.html" class="md-nav__link">
1410
+ Circuit Termination
1411
+ </a>
1412
+ </li>
1413
+
1414
+
1415
+
1416
+
1417
+
1418
+
1419
+
1420
+
1421
+
1422
+ <li class="md-nav__item">
1423
+ <a href="../models/circuits/circuittype.html" class="md-nav__link">
1424
+ Circuit Type
1425
+ </a>
1426
+ </li>
1427
+
1428
+
1429
+
1430
+
1431
+
1432
+
1433
+
1434
+
1435
+
1436
+ <li class="md-nav__item">
1437
+ <a href="../models/circuits/provider.html" class="md-nav__link">
1438
+ Circuit Provider
1439
+ </a>
1440
+ </li>
1441
+
1442
+
1443
+
1444
+
1445
+
1446
+
1447
+
1448
+
1449
+
1450
+ <li class="md-nav__item">
1451
+ <a href="../models/circuits/providernetwork.html" class="md-nav__link">
1452
+ Circuit Provider Network
1453
+ </a>
1454
+ </li>
1455
+
1456
+
1457
+
1458
+
1459
+ </ul>
1460
+ </nav>
1461
+ </li>
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+
1470
+
1471
+
1472
+ <li class="md-nav__item md-nav__item--nested">
1473
+
1474
+
1475
+
1476
+
1477
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_2" >
1478
+
1479
+
1480
+
1481
+ <label class="md-nav__link" for="__nav_2_8_2" id="__nav_2_8_2_label" tabindex="0">
1482
+ DCIM
1483
+ <span class="md-nav__icon md-icon"></span>
1484
+ </label>
1485
+
1486
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_2_label" aria-expanded="false">
1487
+ <label class="md-nav__title" for="__nav_2_8_2">
1488
+ <span class="md-nav__icon md-icon"></span>
1489
+ DCIM
1490
+ </label>
1491
+ <ul class="md-nav__list" data-md-scrollfix>
1492
+
1493
+
1494
+
1495
+
1496
+
1497
+
1498
+ <li class="md-nav__item">
1499
+ <a href="../models/dcim/cable.html" class="md-nav__link">
1500
+ Cable
1501
+ </a>
1502
+ </li>
1503
+
1504
+
1505
+
1506
+
1507
+
1508
+
1509
+
1510
+
1511
+
1512
+ <li class="md-nav__item">
1513
+ <a href="../models/dcim/consoleport.html" class="md-nav__link">
1514
+ Console Port
1515
+ </a>
1516
+ </li>
1517
+
1518
+
1519
+
1520
+
1521
+
1522
+
1523
+
1524
+
1525
+
1526
+ <li class="md-nav__item">
1527
+ <a href="../models/dcim/consoleporttemplate.html" class="md-nav__link">
1528
+ Console Port Template
1529
+ </a>
1530
+ </li>
1531
+
1532
+
1533
+
1534
+
1535
+
1536
+
1537
+
1538
+
1539
+
1540
+ <li class="md-nav__item">
1541
+ <a href="../models/dcim/consoleserverport.html" class="md-nav__link">
1542
+ Console Server Port
1543
+ </a>
1544
+ </li>
1545
+
1546
+
1547
+
1548
+
1549
+
1550
+
1551
+
1552
+
1553
+
1554
+ <li class="md-nav__item">
1555
+ <a href="../models/dcim/consoleserverporttemplate.html" class="md-nav__link">
1556
+ Console Server Port Template
1557
+ </a>
1558
+ </li>
1559
+
1560
+
1561
+
1562
+
1563
+
1564
+
1565
+
1566
+
1567
+
1568
+ <li class="md-nav__item">
1569
+ <a href="../models/dcim/device.html" class="md-nav__link">
1570
+ Device
1571
+ </a>
1572
+ </li>
1573
+
1574
+
1575
+
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+ <li class="md-nav__item">
1583
+ <a href="../models/dcim/devicebay.html" class="md-nav__link">
1584
+ Device Bay
1585
+ </a>
1586
+ </li>
1587
+
1588
+
1589
+
1590
+
1591
+
1592
+
1593
+
1594
+
1595
+
1596
+ <li class="md-nav__item">
1597
+ <a href="../models/dcim/devicebaytemplate.html" class="md-nav__link">
1598
+ Device Bay Template
1599
+ </a>
1600
+ </li>
1601
+
1602
+
1603
+
1604
+
1605
+
1606
+
1607
+
1608
+
1609
+
1610
+ <li class="md-nav__item">
1611
+ <a href="../models/dcim/deviceredundancygroup.html" class="md-nav__link">
1612
+ Device Redundancy Group
1613
+ </a>
1614
+ </li>
1615
+
1616
+
1617
+
1618
+
1619
+
1620
+
1621
+
1622
+
1623
+
1624
+ <li class="md-nav__item">
1625
+ <a href="../models/dcim/devicetype.html" class="md-nav__link">
1626
+ Device Type
1627
+ </a>
1628
+ </li>
1629
+
1630
+
1631
+
1632
+
1633
+
1634
+
1635
+
1636
+
1637
+
1638
+ <li class="md-nav__item">
1639
+ <a href="../models/dcim/frontport.html" class="md-nav__link">
1640
+ Front Port
1641
+ </a>
1642
+ </li>
1643
+
1644
+
1645
+
1646
+
1647
+
1648
+
1649
+
1650
+
1651
+
1652
+ <li class="md-nav__item">
1653
+ <a href="../models/dcim/frontporttemplate.html" class="md-nav__link">
1654
+ Front Port Template
1655
+ </a>
1656
+ </li>
1657
+
1658
+
1659
+
1660
+
1661
+
1662
+
1663
+
1664
+
1665
+
1666
+ <li class="md-nav__item">
1667
+ <a href="../models/dcim/interface.html" class="md-nav__link">
1668
+ Interface
1669
+ </a>
1670
+ </li>
1671
+
1672
+
1673
+
1674
+
1675
+
1676
+
1677
+
1678
+
1679
+
1680
+ <li class="md-nav__item">
1681
+ <a href="../models/dcim/interfacetemplate.html" class="md-nav__link">
1682
+ Interface Template
1683
+ </a>
1684
+ </li>
1685
+
1686
+
1687
+
1688
+
1689
+
1690
+
1691
+
1692
+
1693
+
1694
+ <li class="md-nav__item">
1695
+ <a href="../models/dcim/inventoryitem.html" class="md-nav__link">
1696
+ Inventory Item
1697
+ </a>
1698
+ </li>
1699
+
1700
+
1701
+
1702
+
1703
+
1704
+
1705
+
1706
+
1707
+
1708
+ <li class="md-nav__item">
1709
+ <a href="../models/dcim/location.html" class="md-nav__link">
1710
+ Location
1711
+ </a>
1712
+ </li>
1713
+
1714
+
1715
+
1716
+
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+ <li class="md-nav__item">
1723
+ <a href="../models/dcim/locationtype.html" class="md-nav__link">
1724
+ Location Type
1725
+ </a>
1726
+ </li>
1727
+
1728
+
1729
+
1730
+
1731
+
1732
+
1733
+
1734
+
1735
+
1736
+ <li class="md-nav__item">
1737
+ <a href="../models/dcim/manufacturer.html" class="md-nav__link">
1738
+ Manufacturer
1739
+ </a>
1740
+ </li>
1741
+
1742
+
1743
+
1744
+
1745
+
1746
+
1747
+
1748
+
1749
+
1750
+ <li class="md-nav__item">
1751
+ <a href="../models/dcim/platform.html" class="md-nav__link">
1752
+ Platform
1753
+ </a>
1754
+ </li>
1755
+
1756
+
1757
+
1758
+
1759
+
1760
+
1761
+
1762
+
1763
+
1764
+ <li class="md-nav__item">
1765
+ <a href="../models/dcim/powerfeed.html" class="md-nav__link">
1766
+ Power Feed
1767
+ </a>
1768
+ </li>
1769
+
1770
+
1771
+
1772
+
1773
+
1774
+
1775
+
1776
+
1777
+
1778
+ <li class="md-nav__item">
1779
+ <a href="../models/dcim/poweroutlet.html" class="md-nav__link">
1780
+ Power Outlet
1781
+ </a>
1782
+ </li>
1783
+
1784
+
1785
+
1786
+
1787
+
1788
+
1789
+
1790
+
1791
+
1792
+ <li class="md-nav__item">
1793
+ <a href="../models/dcim/poweroutlettemplate.html" class="md-nav__link">
1794
+ Power Outlet Template
1795
+ </a>
1796
+ </li>
1797
+
1798
+
1799
+
1800
+
1801
+
1802
+
1803
+
1804
+
1805
+
1806
+ <li class="md-nav__item">
1807
+ <a href="../models/dcim/powerpanel.html" class="md-nav__link">
1808
+ Power Panel
1809
+ </a>
1810
+ </li>
1811
+
1812
+
1813
+
1814
+
1815
+
1816
+
1817
+
1818
+
1819
+
1820
+ <li class="md-nav__item">
1821
+ <a href="../models/dcim/powerport.html" class="md-nav__link">
1822
+ Power Port
1823
+ </a>
1824
+ </li>
1825
+
1826
+
1827
+
1828
+
1829
+
1830
+
1831
+
1832
+
1833
+
1834
+ <li class="md-nav__item">
1835
+ <a href="../models/dcim/powerporttemplate.html" class="md-nav__link">
1836
+ Power Port Template
1837
+ </a>
1838
+ </li>
1839
+
1840
+
1841
+
1842
+
1843
+
1844
+
1845
+
1846
+
1847
+
1848
+ <li class="md-nav__item">
1849
+ <a href="../models/dcim/rack.html" class="md-nav__link">
1850
+ Rack
1851
+ </a>
1852
+ </li>
1853
+
1854
+
1855
+
1856
+
1857
+
1858
+
1859
+
1860
+
1861
+
1862
+ <li class="md-nav__item">
1863
+ <a href="../models/dcim/rackgroup.html" class="md-nav__link">
1864
+ Rack Group
1865
+ </a>
1866
+ </li>
1867
+
1868
+
1869
+
1870
+
1871
+
1872
+
1873
+
1874
+
1875
+
1876
+ <li class="md-nav__item">
1877
+ <a href="../models/dcim/rackreservation.html" class="md-nav__link">
1878
+ Rack Reservation
1879
+ </a>
1880
+ </li>
1881
+
1882
+
1883
+
1884
+
1885
+
1886
+
1887
+
1888
+
1889
+
1890
+ <li class="md-nav__item">
1891
+ <a href="../models/dcim/rearport.html" class="md-nav__link">
1892
+ Rear Port
1893
+ </a>
1894
+ </li>
1895
+
1896
+
1897
+
1898
+
1899
+
1900
+
1901
+
1902
+
1903
+
1904
+ <li class="md-nav__item">
1905
+ <a href="../models/dcim/rearporttemplate.html" class="md-nav__link">
1906
+ Rear Port Template
1907
+ </a>
1908
+ </li>
1909
+
1910
+
1911
+
1912
+
1913
+
1914
+
1915
+
1916
+
1917
+
1918
+ <li class="md-nav__item">
1919
+ <a href="../models/dcim/virtualchassis.html" class="md-nav__link">
1920
+ Virtual Chassis
1921
+ </a>
1922
+ </li>
1923
+
1924
+
1925
+
1926
+
1927
+ </ul>
1928
+ </nav>
1929
+ </li>
1930
+
1931
+
1932
+
1933
+
1934
+
1935
+
1936
+
1937
+
1938
+
1939
+
1940
+ <li class="md-nav__item md-nav__item--nested">
1941
+
1942
+
1943
+
1944
+
1945
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_3" >
1946
+
1947
+
1948
+
1949
+ <label class="md-nav__link" for="__nav_2_8_3" id="__nav_2_8_3_label" tabindex="0">
1950
+ Extras
1951
+ <span class="md-nav__icon md-icon"></span>
1952
+ </label>
1953
+
1954
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_3_label" aria-expanded="false">
1955
+ <label class="md-nav__title" for="__nav_2_8_3">
1956
+ <span class="md-nav__icon md-icon"></span>
1957
+ Extras
1958
+ </label>
1959
+ <ul class="md-nav__list" data-md-scrollfix>
1960
+
1961
+
1962
+
1963
+
1964
+
1965
+
1966
+ <li class="md-nav__item">
1967
+ <a href="../models/extras/configcontext.html" class="md-nav__link">
1968
+ Config Context
1969
+ </a>
1970
+ </li>
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1978
+
1979
+
1980
+ <li class="md-nav__item">
1981
+ <a href="../models/extras/configcontextschema.html" class="md-nav__link">
1982
+ Config Context Schema
1983
+ </a>
1984
+ </li>
1985
+
1986
+
1987
+
1988
+
1989
+
1990
+
1991
+
1992
+
1993
+
1994
+ <li class="md-nav__item">
1995
+ <a href="../models/extras/graphqlquery.html" class="md-nav__link">
1996
+ GraphQL Query
1997
+ </a>
1998
+ </li>
1999
+
2000
+
2001
+
2002
+
2003
+
2004
+
2005
+
2006
+
2007
+
2008
+ <li class="md-nav__item">
2009
+ <a href="../models/extras/imageattachment.html" class="md-nav__link">
2010
+ Image Attachment
2011
+ </a>
2012
+ </li>
2013
+
2014
+
2015
+
2016
+
2017
+
2018
+
2019
+
2020
+
2021
+
2022
+ <li class="md-nav__item">
2023
+ <a href="../models/extras/job.html" class="md-nav__link">
2024
+ Job
2025
+ </a>
2026
+ </li>
2027
+
2028
+
2029
+
2030
+
2031
+
2032
+
2033
+
2034
+
2035
+
2036
+ <li class="md-nav__item">
2037
+ <a href="../models/extras/joblogentry.html" class="md-nav__link">
2038
+ Job Log Entry
2039
+ </a>
2040
+ </li>
2041
+
2042
+
2043
+
2044
+
2045
+
2046
+
2047
+
2048
+
2049
+
2050
+ <li class="md-nav__item">
2051
+ <a href="../models/extras/jobresult.html" class="md-nav__link">
2052
+ Job Result
2053
+ </a>
2054
+ </li>
2055
+
2056
+
2057
+
2058
+
2059
+
2060
+
2061
+
2062
+
2063
+
2064
+ <li class="md-nav__item">
2065
+ <a href="../models/extras/role.html" class="md-nav__link">
2066
+ Role
2067
+ </a>
2068
+ </li>
2069
+
2070
+
2071
+
2072
+
2073
+
2074
+
2075
+
2076
+
2077
+
2078
+ <li class="md-nav__item">
2079
+ <a href="../models/extras/secret.html" class="md-nav__link">
2080
+ Secret
2081
+ </a>
2082
+ </li>
2083
+
2084
+
2085
+
2086
+
2087
+
2088
+
2089
+
2090
+
2091
+
2092
+ <li class="md-nav__item">
2093
+ <a href="../models/extras/secretsgroup.html" class="md-nav__link">
2094
+ Secrets group
2095
+ </a>
2096
+ </li>
2097
+
2098
+
2099
+
2100
+
2101
+ </ul>
2102
+ </nav>
2103
+ </li>
2104
+
2105
+
2106
+
2107
+
2108
+
2109
+
2110
+
2111
+
2112
+
2113
+
2114
+ <li class="md-nav__item md-nav__item--nested">
2115
+
2116
+
2117
+
2118
+
2119
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_4" >
2120
+
2121
+
2122
+
2123
+ <label class="md-nav__link" for="__nav_2_8_4" id="__nav_2_8_4_label" tabindex="0">
2124
+ IPAM
2125
+ <span class="md-nav__icon md-icon"></span>
2126
+ </label>
2127
+
2128
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_4_label" aria-expanded="false">
2129
+ <label class="md-nav__title" for="__nav_2_8_4">
2130
+ <span class="md-nav__icon md-icon"></span>
2131
+ IPAM
2132
+ </label>
2133
+ <ul class="md-nav__list" data-md-scrollfix>
2134
+
2135
+
2136
+
2137
+
2138
+
2139
+
2140
+ <li class="md-nav__item">
2141
+ <a href="../models/ipam/ipaddress.html" class="md-nav__link">
2142
+ IP Address
2143
+ </a>
2144
+ </li>
2145
+
2146
+
2147
+
2148
+
2149
+
2150
+
2151
+
2152
+
2153
+
2154
+ <li class="md-nav__item">
2155
+ <a href="../models/ipam/prefix.html" class="md-nav__link">
2156
+ Prefix
2157
+ </a>
2158
+ </li>
2159
+
2160
+
2161
+
2162
+
2163
+
2164
+
2165
+
2166
+
2167
+
2168
+ <li class="md-nav__item">
2169
+ <a href="../models/ipam/rir.html" class="md-nav__link">
2170
+ Rir
2171
+ </a>
2172
+ </li>
2173
+
2174
+
2175
+
2176
+
2177
+
2178
+
2179
+
2180
+
2181
+
2182
+ <li class="md-nav__item">
2183
+ <a href="../models/ipam/routetarget.html" class="md-nav__link">
2184
+ Route Target
2185
+ </a>
2186
+ </li>
2187
+
2188
+
2189
+
2190
+
2191
+
2192
+
2193
+
2194
+
2195
+
2196
+ <li class="md-nav__item">
2197
+ <a href="../models/ipam/service.html" class="md-nav__link">
2198
+ Service
2199
+ </a>
2200
+ </li>
2201
+
2202
+
2203
+
2204
+
2205
+
2206
+
2207
+
2208
+
2209
+
2210
+ <li class="md-nav__item">
2211
+ <a href="../models/ipam/vlan.html" class="md-nav__link">
2212
+ VLAN
2213
+ </a>
2214
+ </li>
2215
+
2216
+
2217
+
2218
+
2219
+
2220
+
2221
+
2222
+
2223
+
2224
+ <li class="md-nav__item">
2225
+ <a href="../models/ipam/vlangroup.html" class="md-nav__link">
2226
+ VLAN Group
2227
+ </a>
2228
+ </li>
2229
+
2230
+
2231
+
2232
+
2233
+
2234
+
2235
+
2236
+
2237
+
2238
+ <li class="md-nav__item">
2239
+ <a href="../models/ipam/vrf.html" class="md-nav__link">
2240
+ VRF
2241
+ </a>
2242
+ </li>
2243
+
2244
+
2245
+
2246
+
2247
+ </ul>
2248
+ </nav>
2249
+ </li>
2250
+
2251
+
2252
+
2253
+
2254
+
2255
+
2256
+
2257
+
2258
+
2259
+
2260
+ <li class="md-nav__item md-nav__item--nested">
2261
+
2262
+
2263
+
2264
+
2265
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_5" >
2266
+
2267
+
2268
+
2269
+ <label class="md-nav__link" for="__nav_2_8_5" id="__nav_2_8_5_label" tabindex="0">
2270
+ Tenancy
2271
+ <span class="md-nav__icon md-icon"></span>
2272
+ </label>
2273
+
2274
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_5_label" aria-expanded="false">
2275
+ <label class="md-nav__title" for="__nav_2_8_5">
2276
+ <span class="md-nav__icon md-icon"></span>
2277
+ Tenancy
2278
+ </label>
2279
+ <ul class="md-nav__list" data-md-scrollfix>
2280
+
2281
+
2282
+
2283
+
2284
+
2285
+
2286
+ <li class="md-nav__item">
2287
+ <a href="../models/tenancy/tenant.html" class="md-nav__link">
2288
+ Tenant
2289
+ </a>
2290
+ </li>
2291
+
2292
+
2293
+
2294
+
2295
+
2296
+
2297
+
2298
+
2299
+
2300
+ <li class="md-nav__item">
2301
+ <a href="../models/tenancy/tenantgroup.html" class="md-nav__link">
2302
+ Tenant Group
2303
+ </a>
2304
+ </li>
2305
+
2306
+
2307
+
2308
+
2309
+ </ul>
2310
+ </nav>
2311
+ </li>
2312
+
2313
+
2314
+
2315
+
2316
+
2317
+
2318
+
2319
+
2320
+
2321
+
2322
+ <li class="md-nav__item md-nav__item--nested">
2323
+
2324
+
2325
+
2326
+
2327
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_6" >
2328
+
2329
+
2330
+
2331
+ <label class="md-nav__link" for="__nav_2_8_6" id="__nav_2_8_6_label" tabindex="0">
2332
+ Users
2333
+ <span class="md-nav__icon md-icon"></span>
2334
+ </label>
2335
+
2336
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_6_label" aria-expanded="false">
2337
+ <label class="md-nav__title" for="__nav_2_8_6">
2338
+ <span class="md-nav__icon md-icon"></span>
2339
+ Users
2340
+ </label>
2341
+ <ul class="md-nav__list" data-md-scrollfix>
2342
+
2343
+
2344
+
2345
+
2346
+
2347
+
2348
+ <li class="md-nav__item">
2349
+ <a href="../models/users/objectpermission.html" class="md-nav__link">
2350
+ Object Permission
2351
+ </a>
2352
+ </li>
2353
+
2354
+
2355
+
2356
+
2357
+
2358
+
2359
+
2360
+
2361
+
2362
+ <li class="md-nav__item">
2363
+ <a href="../models/users/token.html" class="md-nav__link">
2364
+ Token
2365
+ </a>
2366
+ </li>
2367
+
2368
+
2369
+
2370
+
2371
+ </ul>
2372
+ </nav>
2373
+ </li>
2374
+
2375
+
2376
+
2377
+
2378
+
2379
+
2380
+
2381
+
2382
+
2383
+
2384
+ <li class="md-nav__item md-nav__item--nested">
2385
+
2386
+
2387
+
2388
+
2389
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_7" >
2390
+
2391
+
2392
+
2393
+ <label class="md-nav__link" for="__nav_2_8_7" id="__nav_2_8_7_label" tabindex="0">
2394
+ Virtualization
2395
+ <span class="md-nav__icon md-icon"></span>
2396
+ </label>
2397
+
2398
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_7_label" aria-expanded="false">
2399
+ <label class="md-nav__title" for="__nav_2_8_7">
2400
+ <span class="md-nav__icon md-icon"></span>
2401
+ Virtualization
2402
+ </label>
2403
+ <ul class="md-nav__list" data-md-scrollfix>
2404
+
2405
+
2406
+
2407
+
2408
+
2409
+
2410
+ <li class="md-nav__item">
2411
+ <a href="../models/virtualization/cluster.html" class="md-nav__link">
2412
+ Cluster
2413
+ </a>
2414
+ </li>
2415
+
2416
+
2417
+
2418
+
2419
+
2420
+
2421
+
2422
+
2423
+
2424
+ <li class="md-nav__item">
2425
+ <a href="../models/virtualization/clustergroup.html" class="md-nav__link">
2426
+ Cluster Group
2427
+ </a>
2428
+ </li>
2429
+
2430
+
2431
+
2432
+
2433
+
2434
+
2435
+
2436
+
2437
+
2438
+ <li class="md-nav__item">
2439
+ <a href="../models/virtualization/clustertype.html" class="md-nav__link">
2440
+ Cluster Type
2441
+ </a>
2442
+ </li>
2443
+
2444
+
2445
+
2446
+
2447
+
2448
+
2449
+
2450
+
2451
+
2452
+ <li class="md-nav__item">
2453
+ <a href="../models/virtualization/virtualmachine.html" class="md-nav__link">
2454
+ Virtual Machine
2455
+ </a>
2456
+ </li>
2457
+
2458
+
2459
+
2460
+
2461
+
2462
+
2463
+
2464
+
2465
+
2466
+ <li class="md-nav__item">
2467
+ <a href="../models/virtualization/vminterface.html" class="md-nav__link">
2468
+ VM Interface
2469
+ </a>
2470
+ </li>
2471
+
2472
+
2473
+
2474
+
2475
+ </ul>
2476
+ </nav>
2477
+ </li>
2478
+
2479
+
2480
+
2481
+
2482
+ </ul>
2483
+ </nav>
2484
+ </li>
2485
+
2486
+
2487
+
2488
+
2489
+
2490
+
2491
+
2492
+
2493
+
2494
+
2495
+ <li class="md-nav__item md-nav__item--nested">
2496
+
2497
+
2498
+
2499
+
2500
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_9" >
2501
+
2502
+
2503
+
2504
+ <label class="md-nav__link" for="__nav_2_9" id="__nav_2_9_label" tabindex="0">
1351
2505
  Additional Features
1352
2506
  <span class="md-nav__icon md-icon"></span>
1353
2507
  </label>
1354
2508
 
1355
- <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_8_label" aria-expanded="false">
1356
- <label class="md-nav__title" for="__nav_2_8">
2509
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_9_label" aria-expanded="false">
2510
+ <label class="md-nav__title" for="__nav_2_9">
1357
2511
  <span class="md-nav__icon md-icon"></span>
1358
2512
  Additional Features
1359
2513
  </label>
@@ -1687,17 +2841,17 @@
1687
2841
 
1688
2842
 
1689
2843
 
1690
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_9" checked>
2844
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_10" checked>
1691
2845
 
1692
2846
 
1693
2847
 
1694
- <label class="md-nav__link" for="__nav_2_9" id="__nav_2_9_label" tabindex="0">
2848
+ <label class="md-nav__link" for="__nav_2_10" id="__nav_2_10_label" tabindex="0">
1695
2849
  REST API
1696
2850
  <span class="md-nav__icon md-icon"></span>
1697
2851
  </label>
1698
2852
 
1699
- <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_9_label" aria-expanded="true">
1700
- <label class="md-nav__title" for="__nav_2_9">
2853
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_10_label" aria-expanded="true">
2854
+ <label class="md-nav__title" for="__nav_2_10">
1701
2855
  <span class="md-nav__icon md-icon"></span>
1702
2856
  REST API
1703
2857
  </label>
@@ -1772,8 +2926,8 @@
1772
2926
  <ul class="md-nav__list">
1773
2927
 
1774
2928
  <li class="md-nav__item">
1775
- <a href="#default-versions-and-backward-compatibility" class="md-nav__link">
1776
- Default Versions and Backward Compatibility
2929
+ <a href="#default-versions" class="md-nav__link">
2930
+ Default Versions
1777
2931
  </a>
1778
2932
 
1779
2933
  </li>
@@ -1843,6 +2997,13 @@
1843
2997
  Pagination
1844
2998
  </a>
1845
2999
 
3000
+ </li>
3001
+
3002
+ <li class="md-nav__item">
3003
+ <a href="#sorting" class="md-nav__link">
3004
+ Sorting
3005
+ </a>
3006
+
1846
3007
  </li>
1847
3008
 
1848
3009
  <li class="md-nav__item">
@@ -1868,10 +3029,37 @@
1868
3029
  </li>
1869
3030
 
1870
3031
  <li class="md-nav__item">
1871
- <a href="#brief-format" class="md-nav__link">
1872
- Brief Format
3032
+ <a href="#depth-query-parameter" class="md-nav__link">
3033
+ Depth Query Parameter
3034
+ </a>
3035
+
3036
+ <nav class="md-nav" aria-label="Depth Query Parameter">
3037
+ <ul class="md-nav__list">
3038
+
3039
+ <li class="md-nav__item">
3040
+ <a href="#defaultdepth0" class="md-nav__link">
3041
+ Default/?depth=0
3042
+ </a>
3043
+
3044
+ </li>
3045
+
3046
+ <li class="md-nav__item">
3047
+ <a href="#depth1" class="md-nav__link">
3048
+ ?depth=1
3049
+ </a>
3050
+
3051
+ </li>
3052
+
3053
+ <li class="md-nav__item">
3054
+ <a href="#depth2-and-beyond" class="md-nav__link">
3055
+ ?depth=2 and beyond
1873
3056
  </a>
1874
3057
 
3058
+ </li>
3059
+
3060
+ </ul>
3061
+ </nav>
3062
+
1875
3063
  </li>
1876
3064
 
1877
3065
  <li class="md-nav__item">
@@ -1882,8 +3070,8 @@
1882
3070
  </li>
1883
3071
 
1884
3072
  <li class="md-nav__item">
1885
- <a href="#excluding-config-contexts" class="md-nav__link">
1886
- Excluding Config Contexts
3073
+ <a href="#including-config-contexts" class="md-nav__link">
3074
+ Including Config Contexts
1887
3075
  </a>
1888
3076
 
1889
3077
  </li>
@@ -1985,6 +3173,20 @@
1985
3173
 
1986
3174
 
1987
3175
 
3176
+
3177
+
3178
+
3179
+
3180
+
3181
+ <li class="md-nav__item">
3182
+ <a href="ui-related-endpoints.html" class="md-nav__link">
3183
+ UI Endpoints
3184
+ </a>
3185
+ </li>
3186
+
3187
+
3188
+
3189
+
1988
3190
  </ul>
1989
3191
  </nav>
1990
3192
  </li>
@@ -2003,17 +3205,17 @@
2003
3205
 
2004
3206
 
2005
3207
 
2006
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_10" >
3208
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_11" >
2007
3209
 
2008
3210
 
2009
3211
 
2010
- <label class="md-nav__link" for="__nav_2_10" id="__nav_2_10_label" tabindex="0">
3212
+ <label class="md-nav__link" for="__nav_2_11" id="__nav_2_11_label" tabindex="0">
2011
3213
  GraphQL API
2012
3214
  <span class="md-nav__icon md-icon"></span>
2013
3215
  </label>
2014
3216
 
2015
- <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_10_label" aria-expanded="false">
2016
- <label class="md-nav__title" for="__nav_2_10">
3217
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_11_label" aria-expanded="false">
3218
+ <label class="md-nav__title" for="__nav_2_11">
2017
3219
  <span class="md-nav__icon md-icon"></span>
2018
3220
  GraphQL API
2019
3221
  </label>
@@ -3025,8 +4227,8 @@
3025
4227
  <ul class="md-nav__list">
3026
4228
 
3027
4229
  <li class="md-nav__item">
3028
- <a href="#default-versions-and-backward-compatibility" class="md-nav__link">
3029
- Default Versions and Backward Compatibility
4230
+ <a href="#default-versions" class="md-nav__link">
4231
+ Default Versions
3030
4232
  </a>
3031
4233
 
3032
4234
  </li>
@@ -3096,6 +4298,13 @@
3096
4298
  Pagination
3097
4299
  </a>
3098
4300
 
4301
+ </li>
4302
+
4303
+ <li class="md-nav__item">
4304
+ <a href="#sorting" class="md-nav__link">
4305
+ Sorting
4306
+ </a>
4307
+
3099
4308
  </li>
3100
4309
 
3101
4310
  <li class="md-nav__item">
@@ -3121,10 +4330,37 @@
3121
4330
  </li>
3122
4331
 
3123
4332
  <li class="md-nav__item">
3124
- <a href="#brief-format" class="md-nav__link">
3125
- Brief Format
4333
+ <a href="#depth-query-parameter" class="md-nav__link">
4334
+ Depth Query Parameter
4335
+ </a>
4336
+
4337
+ <nav class="md-nav" aria-label="Depth Query Parameter">
4338
+ <ul class="md-nav__list">
4339
+
4340
+ <li class="md-nav__item">
4341
+ <a href="#defaultdepth0" class="md-nav__link">
4342
+ Default/?depth=0
4343
+ </a>
4344
+
4345
+ </li>
4346
+
4347
+ <li class="md-nav__item">
4348
+ <a href="#depth1" class="md-nav__link">
4349
+ ?depth=1
4350
+ </a>
4351
+
4352
+ </li>
4353
+
4354
+ <li class="md-nav__item">
4355
+ <a href="#depth2-and-beyond" class="md-nav__link">
4356
+ ?depth=2 and beyond
3126
4357
  </a>
3127
4358
 
4359
+ </li>
4360
+
4361
+ </ul>
4362
+ </nav>
4363
+
3128
4364
  </li>
3129
4365
 
3130
4366
  <li class="md-nav__item">
@@ -3135,8 +4371,8 @@
3135
4371
  </li>
3136
4372
 
3137
4373
  <li class="md-nav__item">
3138
- <a href="#excluding-config-contexts" class="md-nav__link">
3139
- Excluding Config Contexts
4374
+ <a href="#including-config-contexts" class="md-nav__link">
4375
+ Including Config Contexts
3140
4376
  </a>
3141
4377
 
3142
4378
  </li>
@@ -3230,49 +4466,37 @@
3230
4466
  </ul>
3231
4467
  <p>Additionally, the <code>OPTIONS</code> verb can be used to inspect a particular REST API endpoint and return all supported actions and their available parameters.</p>
3232
4468
  <p>One of the primary benefits of a REST API is its human-friendliness. Because it utilizes HTTP and JSON, it's very easy to interact with Nautobot data on the command line using common tools. For example, we can request an IP address from Nautobot and output the JSON using <code>curl</code> and <code>jq</code>. The following command makes an HTTP <code>GET</code> request for information about a particular IP address, identified by its primary key, and uses <code>jq</code> to present the raw JSON data returned in a more human-friendly format. (Piping the output through <code>jq</code> isn't strictly required but makes it much easier to read.)</p>
3233
- <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>curl -s http://nautobot/api/ipam/ip-addresses/c557df87-9a63-4555-bfd1-21cea2f6aac3/ | jq &#39;.&#39;
4469
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>curl -s http://nautobot/api/ipam/ip-addresses/83445aa3-bbd3-4ab4-86f5-36942ce9df60/ | jq &#39;.&#39;
3234
4470
  </code></pre></div>
3235
4471
  <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="p">{</span>
3236
- <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2954</span><span class="p">,</span>
3237
- <a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/ip-addresses/c557df87-9a63-4555-bfd1-21cea2f6aac3/&quot;</span><span class="p">,</span>
3238
- <a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="w"> </span><span class="nt">&quot;family&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3239
- <a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="w"> </span><span class="nt">&quot;value&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span>
3240
- <a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="w"> </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;IPv4&quot;</span>
3241
- <a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="w"> </span><span class="p">},</span>
3242
- <a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="w"> </span><span class="nt">&quot;address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.168.0.42/26&quot;</span><span class="p">,</span>
3243
- <a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a><span class="w"> </span><span class="nt">&quot;vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3244
- <a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3245
- <a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3246
- <a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a><span class="w"> </span><span class="nt">&quot;value&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;active&quot;</span><span class="p">,</span>
3247
- <a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a><span class="w"> </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Active&quot;</span>
3248
- <a id="__codelineno-1-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a><span class="w"> </span><span class="p">},</span>
3249
- <a id="__codelineno-1-15" name="__codelineno-1-15" href="#__codelineno-1-15"></a><span class="w"> </span><span class="nt">&quot;role&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3250
- <a id="__codelineno-1-16" name="__codelineno-1-16" href="#__codelineno-1-16"></a><span class="w"> </span><span class="nt">&quot;assigned_object_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;dcim.interface&quot;</span><span class="p">,</span>
3251
- <a id="__codelineno-1-17" name="__codelineno-1-17" href="#__codelineno-1-17"></a><span class="w"> </span><span class="nt">&quot;assigned_object_id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;9fd066d2-135c-4005-b032-e0551cc61cec&quot;</span><span class="p">,</span>
3252
- <a id="__codelineno-1-18" name="__codelineno-1-18" href="#__codelineno-1-18"></a><span class="w"> </span><span class="nt">&quot;assigned_object&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3253
- <a id="__codelineno-1-19" name="__codelineno-1-19" href="#__codelineno-1-19"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;9fd066d2-135c-4005-b032-e0551cc61cec&quot;</span><span class="p">,</span>
3254
- <a id="__codelineno-1-20" name="__codelineno-1-20" href="#__codelineno-1-20"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/interfaces/9fd066d2-135c-4005-b032-e0551cc61cec/&quot;</span><span class="p">,</span>
3255
- <a id="__codelineno-1-21" name="__codelineno-1-21" href="#__codelineno-1-21"></a><span class="w"> </span><span class="nt">&quot;device&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3256
- <a id="__codelineno-1-22" name="__codelineno-1-22" href="#__codelineno-1-22"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;6a522ebb-5739-4c5c-922f-ab4a2dc12eb0&quot;</span><span class="p">,</span>
3257
- <a id="__codelineno-1-23" name="__codelineno-1-23" href="#__codelineno-1-23"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/devices/6a522ebb-5739-4c5c-922f-ab4a2dc12eb0/&quot;</span><span class="p">,</span>
3258
- <a id="__codelineno-1-24" name="__codelineno-1-24" href="#__codelineno-1-24"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;router1&quot;</span><span class="p">,</span>
3259
- <a id="__codelineno-1-25" name="__codelineno-1-25" href="#__codelineno-1-25"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;router1&quot;</span>
3260
- <a id="__codelineno-1-26" name="__codelineno-1-26" href="#__codelineno-1-26"></a><span class="w"> </span><span class="p">},</span>
3261
- <a id="__codelineno-1-27" name="__codelineno-1-27" href="#__codelineno-1-27"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;et-0/1/2&quot;</span><span class="p">,</span>
3262
- <a id="__codelineno-1-28" name="__codelineno-1-28" href="#__codelineno-1-28"></a><span class="w"> </span><span class="nt">&quot;cable&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3263
- <a id="__codelineno-1-29" name="__codelineno-1-29" href="#__codelineno-1-29"></a><span class="w"> </span><span class="nt">&quot;connection_status&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span>
3264
- <a id="__codelineno-1-30" name="__codelineno-1-30" href="#__codelineno-1-30"></a><span class="w"> </span><span class="p">},</span>
3265
- <a id="__codelineno-1-31" name="__codelineno-1-31" href="#__codelineno-1-31"></a><span class="w"> </span><span class="nt">&quot;nat_inside&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3266
- <a id="__codelineno-1-32" name="__codelineno-1-32" href="#__codelineno-1-32"></a><span class="w"> </span><span class="nt">&quot;nat_outside_list&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3267
- <a id="__codelineno-1-33" name="__codelineno-1-33" href="#__codelineno-1-33"></a><span class="w"> </span><span class="nt">&quot;dns_name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
3268
- <a id="__codelineno-1-34" name="__codelineno-1-34" href="#__codelineno-1-34"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Example IP address&quot;</span><span class="p">,</span>
3269
- <a id="__codelineno-1-35" name="__codelineno-1-35" href="#__codelineno-1-35"></a><span class="w"> </span><span class="nt">&quot;tags&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
3270
- <a id="__codelineno-1-36" name="__codelineno-1-36" href="#__codelineno-1-36"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
3271
- <a id="__codelineno-1-37" name="__codelineno-1-37" href="#__codelineno-1-37"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2020-08-04T00:00:00Z&quot;</span><span class="p">,</span>
3272
- <a id="__codelineno-1-38" name="__codelineno-1-38" href="#__codelineno-1-38"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2020-08-04T14:12:39.666885Z&quot;</span>
3273
- <a id="__codelineno-1-39" name="__codelineno-1-39" href="#__codelineno-1-39"></a><span class="p">}</span>
4472
+ <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;83445aa3-bbd3-4ab4-86f5-36942ce9df60&quot;</span><span class="p">,</span>
4473
+ <a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/ip-addresses/83445aa3-bbd3-4ab4-86f5-36942ce9df60/&quot;</span><span class="p">,</span>
4474
+ <a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10.0.60.39/32&quot;</span><span class="p">,</span>
4475
+ <a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
4476
+ <a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="w"> </span><span class="nt">&quot;notes_url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/ip-addresses/83445aa3-bbd3-4ab4-86f5-36942ce9df60/notes/&quot;</span><span class="p">,</span>
4477
+ <a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="w"> </span><span class="nt">&quot;family&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
4478
+ <a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="w"> </span><span class="nt">&quot;value&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span>
4479
+ <a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a><span class="w"> </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;IPv4&quot;</span>
4480
+ <a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a><span class="w"> </span><span class="p">},</span>
4481
+ <a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a><span class="w"> </span><span class="nt">&quot;address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10.0.60.39/32&quot;</span><span class="p">,</span>
4482
+ <a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a><span class="w"> </span><span class="nt">&quot;nat_outside_list&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
4483
+ <a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/ip-addresses/a7569104-ed58-4938-ab6f-cb6a9e584f14/&quot;</span>
4484
+ <a id="__codelineno-1-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a><span class="w"> </span><span class="p">],</span>
4485
+ <a id="__codelineno-1-15" name="__codelineno-1-15" href="#__codelineno-1-15"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-25T12:46:09.152507Z&quot;</span><span class="p">,</span>
4486
+ <a id="__codelineno-1-16" name="__codelineno-1-16" href="#__codelineno-1-16"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-25T12:46:09.163545Z&quot;</span><span class="p">,</span>
4487
+ <a id="__codelineno-1-17" name="__codelineno-1-17" href="#__codelineno-1-17"></a><span class="w"> </span><span class="nt">&quot;host&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10.0.60.39&quot;</span><span class="p">,</span>
4488
+ <a id="__codelineno-1-18" name="__codelineno-1-18" href="#__codelineno-1-18"></a><span class="w"> </span><span class="nt">&quot;mask_length&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">32</span><span class="p">,</span>
4489
+ <a id="__codelineno-1-19" name="__codelineno-1-19" href="#__codelineno-1-19"></a><span class="w"> </span><span class="nt">&quot;dns_name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;desktop-08.cook.biz&quot;</span><span class="p">,</span>
4490
+ <a id="__codelineno-1-20" name="__codelineno-1-20" href="#__codelineno-1-20"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;This is an IP Address&quot;</span><span class="p">,</span>
4491
+ <a id="__codelineno-1-21" name="__codelineno-1-21" href="#__codelineno-1-21"></a><span class="w"> </span><span class="nt">&quot;role&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/roles/e7a815b0-2c48-499a-84b8-f20350abe415/&quot;</span><span class="p">,</span>
4492
+ <a id="__codelineno-1-22" name="__codelineno-1-22" href="#__codelineno-1-22"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/statuses/b7f6a447-5616-4533-a6d5-a4ece50cd08c/&quot;</span><span class="p">,</span>
4493
+ <a id="__codelineno-1-23" name="__codelineno-1-23" href="#__codelineno-1-23"></a><span class="w"> </span><span class="nt">&quot;vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4494
+ <a id="__codelineno-1-24" name="__codelineno-1-24" href="#__codelineno-1-24"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/tenancy/tenants/501fffe7-5302-40ae-b9e4-27d5e3ff2108/&quot;</span><span class="p">,</span>
4495
+ <a id="__codelineno-1-25" name="__codelineno-1-25" href="#__codelineno-1-25"></a><span class="w"> </span><span class="nt">&quot;nat_inside&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4496
+ <a id="__codelineno-1-26" name="__codelineno-1-26" href="#__codelineno-1-26"></a><span class="w"> </span><span class="nt">&quot;tags&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span>
4497
+ <a id="__codelineno-1-27" name="__codelineno-1-27" href="#__codelineno-1-27"></a><span class="p">}</span>
3274
4498
  </code></pre></div>
3275
- <p>Each attribute of the IP address is expressed as an attribute of the JSON object. Fields may include their own nested objects, as in the case of the <code>assigned_object</code> field above. Every object includes a primary key named <code>id</code> which uniquely identifies it in the database.</p>
4499
+ <p>Each attribute of the IP address is expressed as an attribute of the JSON object. Related objects are identified by their own URLs that may be accessed to retrieve more details of the related object, as in the case of the <code>role</code> and <code>status</code> fields above. Every object includes a primary key named <code>id</code> which uniquely identifies it in the database.</p>
3276
4500
  <h2 id="interactive-documentation">Interactive Documentation<a class="headerlink" href="#interactive-documentation" title="Permanent link">&para;</a></h2>
3277
4501
  <p>Comprehensive, interactive documentation of all REST API endpoints is available on a running Nautobot instance at <code>/api/docs/</code>. This interface provides a convenient sandbox for researching and experimenting with specific endpoints and request types. The API itself can also be explored using a web browser by navigating to its root at <code>/api/</code>.</p>
3278
4502
  <div class="admonition version-added">
@@ -3298,7 +4522,7 @@
3298
4522
  <li><code>/api/dcim/devices/6a522ebb-5739-4c5c-922f-ab4a2dc12eb0/</code> - Retrieve, update, or delete the device with ID 6a522ebb-5739-4c5c-922f-ab4a2dc12eb0</li>
3299
4523
  </ul>
3300
4524
  <p>Lists of objects can be filtered using a set of query parameters. For example, to find all interfaces belonging to the device with ID 6a522ebb-5739-4c5c-922f-ab4a2dc12eb0:</p>
3301
- <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>GET /api/dcim/interfaces/?device_id=6a522ebb-5739-4c5c-922f-ab4a2dc12eb0
4525
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>GET /api/dcim/interfaces/?device=6a522ebb-5739-4c5c-922f-ab4a2dc12eb0
3302
4526
  </code></pre></div>
3303
4527
  <p>See the <a href="filtering.html">filtering documentation</a> for more details.</p>
3304
4528
  <h2 id="versioning">Versioning<a class="headerlink" href="#versioning" title="Permanent link">&para;</a></h2>
@@ -3311,16 +4535,19 @@
3311
4535
  <li>A client may include an <code>api_version</code> as a URL query parameter, for example <code>/api/extras/jobs/?api_version=2.0</code></li>
3312
4536
  </ol>
3313
4537
  <p>Generally the former approach is recommended when writing automated API integrations, as it can be set as a general request header alongside the <a href="authentication.html">authentication token</a> and re-used across a series of REST API interactions, while the latter approach may be more convenient when initially exploring the REST API via the interactive documentation as described above.</p>
3314
- <h3 id="default-versions-and-backward-compatibility">Default Versions and Backward Compatibility<a class="headerlink" href="#default-versions-and-backward-compatibility" title="Permanent link">&para;</a></h3>
3315
- <p>By default, a REST API request that does not specify an API version number will default to compatibility with a specified Nautobot version. This default REST API version can be expected to remain constant throughout the lifespan of a given Nautobot major release.</p>
3316
- <div class="admonition note">
3317
- <p class="admonition-title">Note</p>
4538
+ <h3 id="default-versions">Default Versions<a class="headerlink" href="#default-versions" title="Permanent link">&para;</a></h3>
4539
+ <p>By default, a REST API request that does not specify an API version number will default to compatibility with the current Nautobot version.</p>
4540
+ <div class="admonition version-added">
4541
+ <p class="admonition-title">Added in version 1.3.0</p>
3318
4542
  <p>For Nautobot 1.x, the default API behavior is to be compatible with the REST API of Nautobot version 1.2, in other words, for all Nautobot 1.x versions (beginning with Nautobot 1.2.0), <code>Accept: application/json</code> is functionally equivalent to <code>Accept: application/json; version=1.2</code>.</p>
3319
- <p>For Nautobot 2.x, the default API version is 2.0.</p>
3320
4543
  </div>
3321
- <div class="admonition tip">
3322
- <p class="admonition-title">Tip</p>
3323
- <p>The default REST API version compatibility may change in a subsequent Nautobot major release, so as a best practice, it is recommended that a REST API client <em>should always</em> request the exact Nautobot REST API version that it is compatible with, rather than relying on the default behavior to remain constant.</p>
4544
+ <div class="admonition version-changed">
4545
+ <p class="admonition-title">Changed in version 2.0.0</p>
4546
+ <p>As of Nautobot 2.0, the default API behavior is changed to use the latest available REST API version. In other words, the default REST API version for Nautobot 2.0.y will be <code>2.0</code>, for Nautobot 2.1.y will be <code>2.1</code>, etc. This means that REST API clients that do not explicitly request a particular REST API version may encounter potentially <a href="#breaking-changes">breaking changes</a> in the REST API when Nautobot is upgraded to a new minor or major version.</p>
4547
+ </div>
4548
+ <div class="admonition important">
4549
+ <p class="admonition-title">Important</p>
4550
+ <p>As a best practice, it is recommended that a REST API client <em>should always</em> request the exact Nautobot REST API version that it is compatible with, rather than relying on the default behavior to remain constant.</p>
3324
4551
  </div>
3325
4552
  <div class="admonition tip">
3326
4553
  <p class="admonition-title">Tip</p>
@@ -3341,21 +4568,17 @@
3341
4568
  <p>Breaking (non-backward-compatible) REST API changes also may be introduced in major or minor Nautobot releases. Examples would include:</p>
3342
4569
  <ul>
3343
4570
  <li>Removal of deprecated fields</li>
3344
- <li>Addition of new, <em>required</em> fields in POST/PUT/PATCH requests</li>
4571
+ <li>Addition of new, <em>required</em> fields in POST/PUT/PATCH requests or changing an existing field from optional to required</li>
3345
4572
  <li>Changed field types (for example, changing a single value to a list of values)</li>
3346
4573
  <li>Redesigned API (for example, listing and accessing Job instances by UUID primary-key instead of by class-path string)</li>
3347
4574
  </ul>
3348
4575
  <p>Per Nautobot's <a href="../development/index.html#deprecation-policy">feature-deprecation policy</a>, the previous REST API version(s) will continue to be supported until the next major release. Upon the next major release, previously deprecated API versions will be removed and the newest behavior will become the default. You will no longer be able to request API versions from the previous major version.</p>
3349
4576
  <div class="admonition important">
3350
4577
  <p class="admonition-title">Important</p>
3351
- <p>When breaking changes are introduced in a minor release, for compatibility as described above, the default REST API behavior within the remainder of the current major release cycle will continue to be the previous (unchanged) API version. API clients must "opt in" to the new version of the API by explicitly requesting the new API version.</p>
3352
- </div>
3353
- <div class="admonition tip">
3354
- <p class="admonition-title">Tip</p>
3355
- <p>This is another reason to always specify the exact <code>major.minor</code> Nautobot REST API version when developing a REST API client integration, as it guarantees that the client will be receiving the latest API feature set available in that release rather than possibly defaulting to an older REST API version that is still default but is now deprecated.</p>
4578
+ <p>Again, REST API clients are strongly encouraged to always specify the REST API version they are expecting, as otherwise unexpected breaking changes may be encountered when Nautobot is upgraded to a new major or minor release.</p>
3356
4579
  </div>
3357
4580
  <h3 id="example-of-api-version-behavior">Example of API Version Behavior<a class="headerlink" href="#example-of-api-version-behavior" title="Permanent link">&para;</a></h3>
3358
- <p>As an example, let us say that Nautobot 1.3 introduced a new, <em>non-backwards-compatible</em> REST API for the <code>/api/extras/jobs/</code> endpoint, and also introduced a new, <em>backwards-compatible</em> set of additional fields on the <code>/api/dcim/sites/</code> endpoint. Depending on what API version a REST client interacting with Nautobot 1.3 specified (or didn't specify), it would see the following responses from the server:</p>
4581
+ <p>As an example, let us say that Nautobot 2.1 introduced a new, <em>non-backwards-compatible</em> REST API for the <code>/api/extras/jobs/</code> endpoint, and also introduced a new, <em>backwards-compatible</em> set of additional fields on the <code>/api/dcim/locations/</code> endpoint. Depending on what API version a REST client interacting with Nautobot 2.1 specified (or didn't specify), it would see the following responses from the server:</p>
3359
4582
  <table>
3360
4583
  <thead>
3361
4584
  <tr>
@@ -3368,23 +4591,23 @@
3368
4591
  <tr>
3369
4592
  <td><code>/api/extras/jobs/</code></td>
3370
4593
  <td>(unspecified)</td>
3371
- <td>Deprecated 1.2-compatible REST API</td>
4594
+ <td>Updated 2.1 REST API (not backwards compatible)</td>
3372
4595
  </tr>
3373
4596
  <tr>
3374
4597
  <td><code>/api/extras/jobs/</code></td>
3375
- <td><code>1.2</code></td>
3376
- <td>Deprecated 1.2-compatible REST API</td>
4598
+ <td><code>2.0</code></td>
4599
+ <td>Deprecated 2.0-compatible REST API</td>
3377
4600
  </tr>
3378
4601
  <tr>
3379
4602
  <td><code>/api/extras/jobs/</code></td>
3380
- <td><code>1.3</code></td>
3381
- <td>New/updated 1.3-compatible REST API</td>
4603
+ <td><code>2.1</code></td>
4604
+ <td>New/updated 2.1-compatible REST API</td>
3382
4605
  </tr>
3383
4606
  </tbody>
3384
4607
  </table>
3385
- <div class="admonition important">
3386
- <p class="admonition-title">Important</p>
3387
- <p>Note again that if not specifying an API version, the client <em>would not</em> receive the latest API version when breaking changes are present. Even though the server had Nautobot version 1.3, the default Jobs REST API behavior would be that of Nautobot 1.2. Only by actually requesting API version <code>1.3</code> was the client able to access the new Jobs REST API.</p>
4608
+ <div class="admonition version-changed">
4609
+ <p class="admonition-title">Changed in version 2.0.0</p>
4610
+ <p>The <a href="#default-versions">default behavior</a> when the API version is unspecified is changed from Nautobot 1.x.</p>
3388
4611
  </div>
3389
4612
  <table>
3390
4613
  <thead>
@@ -3396,19 +4619,19 @@
3396
4619
  </thead>
3397
4620
  <tbody>
3398
4621
  <tr>
3399
- <td><code>/api/dcim/sites/</code></td>
4622
+ <td><code>/api/dcim/locations/</code></td>
3400
4623
  <td>(unspecified)</td>
3401
- <td>1.3-updated, 1.2-compatible REST API</td>
4624
+ <td>2.1-updated, 2.0-compatible REST API</td>
3402
4625
  </tr>
3403
4626
  <tr>
3404
- <td><code>/api/dcim/sites/</code></td>
3405
- <td><code>1.2</code></td>
3406
- <td>1.3-updated, 1.2-compatible REST API</td>
4627
+ <td><code>/api/dcim/locations/</code></td>
4628
+ <td><code>2.0</code></td>
4629
+ <td>2.1-updated, 2.0-compatible REST API</td>
3407
4630
  </tr>
3408
4631
  <tr>
3409
- <td><code>/api/dcim/sites/</code></td>
3410
- <td><code>1.3</code></td>
3411
- <td>1.3-updated, 1.2-compatible REST API</td>
4632
+ <td><code>/api/dcim/locations/</code></td>
4633
+ <td><code>2.1</code></td>
4634
+ <td>2.1-updated, 2.0-compatible REST API</td>
3412
4635
  </tr>
3413
4636
  </tbody>
3414
4637
  </table>
@@ -3424,17 +4647,17 @@
3424
4647
  <tr>
3425
4648
  <td><code>/api/dcim/racks/</code></td>
3426
4649
  <td>(unspecified)</td>
3427
- <td>1.2-compatible REST API (unchanged)</td>
4650
+ <td>2.1-compatible REST API (unchanged from 2.0)</td>
3428
4651
  </tr>
3429
4652
  <tr>
3430
4653
  <td><code>/api/dcim/racks/</code></td>
3431
- <td><code>1.2</code></td>
3432
- <td>1.2-compatible REST API (unchanged)</td>
4654
+ <td><code>2.0</code></td>
4655
+ <td>2.1-compatible REST API (unchanged from 2.0)</td>
3433
4656
  </tr>
3434
4657
  <tr>
3435
4658
  <td><code>/api/dcim/racks/</code></td>
3436
- <td><code>1.3</code></td>
3437
- <td>1.3-compatible REST API (unchanged from 1.2)</td>
4659
+ <td><code>2.1</code></td>
4660
+ <td>2.1-compatible REST API (unchanged from 2.0)</td>
3438
4661
  </tr>
3439
4662
  </tbody>
3440
4663
  </table>
@@ -3444,41 +4667,29 @@
3444
4667
  </div>
3445
4668
  <p>The constructor for Nautobot's <code>APISelect</code>/<code>APISelectMultiple</code> UI widgets now includes an optional <code>api_version</code> argument which if set overrides the default API version of the request.</p>
3446
4669
  <h2 id="serialization">Serialization<a class="headerlink" href="#serialization" title="Permanent link">&para;</a></h2>
3447
- <p>The REST API employs two types of serializers to represent model data: base serializers and nested serializers. The base serializer is used to present the complete view of a model. This includes all database table fields which comprise the model, and may include additional metadata. A base serializer includes relationships to parent objects, but <strong>does not</strong> include child objects. For example, the <code>VLANSerializer</code> includes a nested representation its parent VLANGroup (if any), but does not include any assigned Prefixes.</p>
4670
+ <p>The REST API employs "serializers" to represent model data. The representation produced by a serializer typically includes all relevant database table fields which comprise the model, and may also include additional metadata such as information about other relevant objects in the database. Much like the database model itself, a serializer typically will represent information about "parent" objects (those objects that needed to exist in order to define the current object, such as <code>DeviceType</code> and <code>Location</code> for a <code>DeviceSerializer</code>) but typically will not include information about "child" objects (those objects that depend on the current object in order to be defined, such as <code>Interface</code> objects for a <code>DeviceSerializer</code>).</p>
4671
+ <h3 id="related-objects">Related Objects<a class="headerlink" href="#related-objects" title="Permanent link">&para;</a></h3>
4672
+ <p>Related objects (e.g. <code>ForeignKey</code> fields) are representable in several different ways. By default, when retrieving an object via the REST API, related objects are represented by URLs, or by a JSON <code>null</code> if no such related object exists. These URLs may be accessed in order to retrieve the full details of such related objects if needed/desired. For example, when retrieving an <code>IPAddress</code>, you might see:</p>
3448
4673
  <div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="p">{</span>
3449
- <a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1048</span><span class="p">,</span>
3450
- <a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="w"> </span><span class="nt">&quot;site&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3451
- <a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;09c9e21c-e038-44fd-be9a-43aef97bff8f&quot;</span><span class="p">,</span>
3452
- <a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/sites/09c9e21c-e038-44fd-be9a-43aef97bff8f/&quot;</span><span class="p">,</span>
3453
- <a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Corporate HQ&quot;</span><span class="p">,</span>
3454
- <a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;corporate-hq&quot;</span>
3455
- <a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a><span class="w"> </span><span class="p">},</span>
3456
- <a id="__codelineno-3-9" name="__codelineno-3-9" href="#__codelineno-3-9"></a><span class="w"> </span><span class="nt">&quot;group&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3457
- <a id="__codelineno-3-10" name="__codelineno-3-10" href="#__codelineno-3-10"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;eccc0964-9fab-43bc-bb77-66b1be08f64b&quot;</span><span class="p">,</span>
3458
- <a id="__codelineno-3-11" name="__codelineno-3-11" href="#__codelineno-3-11"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/vlan-groups/eccc0964-9fab-43bc-bb77-66b1be08f64b/&quot;</span><span class="p">,</span>
3459
- <a id="__codelineno-3-12" name="__codelineno-3-12" href="#__codelineno-3-12"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Production&quot;</span><span class="p">,</span>
3460
- <a id="__codelineno-3-13" name="__codelineno-3-13" href="#__codelineno-3-13"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;production&quot;</span>
3461
- <a id="__codelineno-3-14" name="__codelineno-3-14" href="#__codelineno-3-14"></a><span class="w"> </span><span class="p">},</span>
3462
- <a id="__codelineno-3-15" name="__codelineno-3-15" href="#__codelineno-3-15"></a><span class="w"> </span><span class="nt">&quot;vid&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">101</span><span class="p">,</span>
3463
- <a id="__codelineno-3-16" name="__codelineno-3-16" href="#__codelineno-3-16"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Users-Floor1&quot;</span><span class="p">,</span>
3464
- <a id="__codelineno-3-17" name="__codelineno-3-17" href="#__codelineno-3-17"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3465
- <a id="__codelineno-3-18" name="__codelineno-3-18" href="#__codelineno-3-18"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3466
- <a id="__codelineno-3-19" name="__codelineno-3-19" href="#__codelineno-3-19"></a><span class="w"> </span><span class="nt">&quot;value&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;active&quot;</span><span class="p">,</span>
3467
- <a id="__codelineno-3-20" name="__codelineno-3-20" href="#__codelineno-3-20"></a><span class="w"> </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Active&quot;</span>
3468
- <a id="__codelineno-3-21" name="__codelineno-3-21" href="#__codelineno-3-21"></a><span class="w"> </span><span class="p">},</span>
3469
- <a id="__codelineno-3-22" name="__codelineno-3-22" href="#__codelineno-3-22"></a><span class="w"> </span><span class="nt">&quot;role&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3470
- <a id="__codelineno-3-23" name="__codelineno-3-23" href="#__codelineno-3-23"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;a1fd5e46-a85e-48c3-a2f4-3c2ec2bb2464&quot;</span><span class="p">,</span>
3471
- <a id="__codelineno-3-24" name="__codelineno-3-24" href="#__codelineno-3-24"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/roles/a1fd5e46-a85e-48c3-a2f4-3c2ec2bb2464/&quot;</span><span class="p">,</span>
3472
- <a id="__codelineno-3-25" name="__codelineno-3-25" href="#__codelineno-3-25"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;User Access&quot;</span><span class="p">,</span>
3473
- <a id="__codelineno-3-26" name="__codelineno-3-26" href="#__codelineno-3-26"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;user-access&quot;</span>
3474
- <a id="__codelineno-3-27" name="__codelineno-3-27" href="#__codelineno-3-27"></a><span class="w"> </span><span class="p">},</span>
3475
- <a id="__codelineno-3-28" name="__codelineno-3-28" href="#__codelineno-3-28"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
3476
- <a id="__codelineno-3-29" name="__codelineno-3-29" href="#__codelineno-3-29"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;101 (Users-Floor1)&quot;</span><span class="p">,</span>
3477
- <a id="__codelineno-3-30" name="__codelineno-3-30" href="#__codelineno-3-30"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{}</span>
3478
- <a id="__codelineno-3-31" name="__codelineno-3-31" href="#__codelineno-3-31"></a><span class="p">}</span>
4674
+ <a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;83445aa3-bbd3-4ab4-86f5-36942ce9df60&quot;</span><span class="p">,</span>
4675
+ <a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://localhost:8080/api/ipam/ip-addresses/83445aa3-bbd3-4ab4-86f5-36942ce9df60/&quot;</span><span class="p">,</span>
4676
+ <a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10.0.60.39/32&quot;</span><span class="p">,</span>
4677
+ <a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="w"> </span><span class="nt">&quot;address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10.0.60.39/32&quot;</span><span class="p">,</span>
4678
+ <a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="w"> </span><span class="err">...</span>
4679
+ <a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a><span class="w"> </span><span class="nt">&quot;role&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://localhost:8080/api/extras/roles/e7a815b0-2c48-499a-84b8-f20350abe415/&quot;</span><span class="p">,</span>
4680
+ <a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://localhost:8080/api/extras/statuses/b7f6a447-5616-4533-a6d5-a4ece50cd08c/&quot;</span><span class="p">,</span>
4681
+ <a id="__codelineno-3-9" name="__codelineno-3-9" href="#__codelineno-3-9"></a><span class="w"> </span><span class="nt">&quot;vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4682
+ <a id="__codelineno-3-10" name="__codelineno-3-10" href="#__codelineno-3-10"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://localhost:8080/api/tenancy/tenants/501fffe7-5302-40ae-b9e4-27d5e3ff2108/&quot;</span><span class="p">,</span>
4683
+ <a id="__codelineno-3-11" name="__codelineno-3-11" href="#__codelineno-3-11"></a><span class="w"> </span><span class="nt">&quot;nat_inside&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4684
+ <a id="__codelineno-3-12" name="__codelineno-3-12" href="#__codelineno-3-12"></a><span class="w"> </span><span class="nt">&quot;tags&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span>
4685
+ <a id="__codelineno-3-13" name="__codelineno-3-13" href="#__codelineno-3-13"></a><span class="p">}</span>
3479
4686
  </code></pre></div>
3480
- <h3 id="related-objects">Related Objects<a class="headerlink" href="#related-objects" title="Permanent link">&para;</a></h3>
3481
- <p>Related objects (e.g. <code>ForeignKey</code> fields) are represented using nested serializers. A nested serializer provides a minimal representation of an object, including only its direct URL and enough information to display the object to a user. When performing write API actions (<code>POST</code>, <code>PUT</code>, and <code>PATCH</code>), related objects may be specified by either UUID (primary key), or by a set of attributes sufficiently unique to return the desired object.</p>
4687
+ <p>Here, the <code>role</code>, <code>status</code>, <code>vrf</code>, <code>tenant</code>, and <code>nat_outside</code> fields represent objects related to this <code>IPAddress</code>, and the <code>tags</code> field is a list of such objects (no tags in this example).</p>
4688
+ <div class="admonition version-changed">
4689
+ <p class="admonition-title">Changed in version 2.0.0</p>
4690
+ <p>The representation of related objects on retrieval has changed from Nautobot 1.x. The <code>brief</code> query parameter has been removed, and distinct "nested" serializers no longer exist. Instead, the <code>depth</code> parameter controls whether related objects are represented by URLs or as nested objects. Please see <a href="#depth-query-parameter">Depth Query Parameter</a> for more details.</p>
4691
+ </div>
4692
+ <p>When performing write API actions (<code>POST</code>, <code>PUT</code>, and <code>PATCH</code>), related objects may be specified by either UUID (primary key), or by a set of attributes sufficiently unique to return the desired object.</p>
3482
4693
  <p>For example, when creating a new device, its rack can be specified by Nautobot ID (PK):</p>
3483
4694
  <div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="p">{</span>
3484
4695
  <a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;MyNewDevice&quot;</span><span class="p">,</span>
@@ -3490,7 +4701,7 @@
3490
4701
  <div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="p">{</span>
3491
4702
  <a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;MyNewDevice&quot;</span><span class="p">,</span>
3492
4703
  <a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a><span class="w"> </span><span class="nt">&quot;rack&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3493
- <a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="w"> </span><span class="nt">&quot;site&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
4704
+ <a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="w"> </span><span class="nt">&quot;location&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3494
4705
  <a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Equinix DC6&quot;</span>
3495
4706
  <a id="__codelineno-5-6" name="__codelineno-5-6" href="#__codelineno-5-6"></a><span class="w"> </span><span class="p">},</span>
3496
4707
  <a id="__codelineno-5-7" name="__codelineno-5-7" href="#__codelineno-5-7"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;R204&quot;</span>
@@ -3498,47 +4709,41 @@
3498
4709
  <a id="__codelineno-5-9" name="__codelineno-5-9" href="#__codelineno-5-9"></a><span class="w"> </span><span class="err">...</span>
3499
4710
  <a id="__codelineno-5-10" name="__codelineno-5-10" href="#__codelineno-5-10"></a><span class="p">}</span>
3500
4711
  </code></pre></div>
3501
- <p>Note that if the provided parameters do not return exactly one object, a validation error is raised.</p>
4712
+ <p>Note that if the provided parameters do not match exactly one object, a validation error will be raised.</p>
3502
4713
  <h3 id="generic-relations">Generic Relations<a class="headerlink" href="#generic-relations" title="Permanent link">&para;</a></h3>
3503
- <p>Some objects within Nautobot have attributes which can reference an object of multiple types, known as <em>generic relations</em>. For example, an IP address can be assigned to either a device interface <em>or</em> a virtual machine interface. When making this assignment via the REST API, we must specify two attributes:</p>
4714
+ <p>Some objects within Nautobot have attributes which can reference an object of multiple types, known as <em>generic relations</em>. For example, a <code>Cable</code> can be terminated (connected) to an <code>Interface</code>, or a <code>FrontPort</code>, or a <code>RearPort</code>, etc. For such generic relations, when making this assignment via the REST API, we must specify two attributes, typically a <code>object_type</code> and an <code>object_id</code>, and by convention in Nautobot's API:</p>
3504
4715
  <ul>
3505
- <li><code>assigned_object_type</code> - The content type of the assigned object, defined as <code>&lt;app&gt;.&lt;model&gt;</code></li>
3506
- <li><code>assigned_object_id</code> - The assigned object's UUID</li>
4716
+ <li>the <code>object_type</code> is the type of assigned object, typically represented as <code>&lt;app_label&gt;.&lt;model_name&gt;</code></li>
4717
+ <li>the <code>object_id</code> is the UUID (primary key) of the assigned object.</li>
3507
4718
  </ul>
3508
- <p>Together, these values identify a unique object in Nautobot. The assigned object (if any) is represented by the <code>assigned_object</code> attribute on the IP address model.</p>
4719
+ <p>For example, the two ends of a Cable are identified by <code>termination_a_type</code>/<code>termination_a_id</code> and <code>termination_b_type</code>/<code>termination_b_id</code>, and might be specified on creation as something like:</p>
3509
4720
  <div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>curl -X POST \
3510
4721
  <a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a>-H &quot;Authorization: Token $TOKEN&quot; \
3511
4722
  <a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a>-H &quot;Content-Type: application/json&quot; \
3512
- <a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a>-H &quot;Accept: application/json; version=1.3; indent=4&quot; \
3513
- <a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a>http://nautobot/api/ipam/ip-addresses/ \
4723
+ <a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a>-H &quot;Accept: application/json; version=2.0; indent=4&quot; \
4724
+ <a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a>http://nautobot/api/dcim/cables/ \
3514
4725
  <a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a>--data &#39;{
3515
- <a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a> &quot;address&quot;: &quot;192.0.2.1/24&quot;,
3516
- <a id="__codelineno-6-8" name="__codelineno-6-8" href="#__codelineno-6-8"></a> &quot;assigned_object_type&quot;: &quot;dcim.interface&quot;,
3517
- <a id="__codelineno-6-9" name="__codelineno-6-9" href="#__codelineno-6-9"></a> &quot;assigned_object_id&quot;: &quot;e824bc29-623f-407e-8aa8-828f4c0b98ee&quot;
3518
- <a id="__codelineno-6-10" name="__codelineno-6-10" href="#__codelineno-6-10"></a>}&#39;
4726
+ <a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a> &quot;termination_a_type&quot;: &quot;dcim.interface&quot;,
4727
+ <a id="__codelineno-6-8" name="__codelineno-6-8" href="#__codelineno-6-8"></a> &quot;termination_a_id&quot;: &quot;96ee6c25-d689-46f4-b552-eb72977c27b8&quot;,
4728
+ <a id="__codelineno-6-9" name="__codelineno-6-9" href="#__codelineno-6-9"></a> &quot;termination_b_type&quot;: &quot;dcim.frontport&quot;,
4729
+ <a id="__codelineno-6-10" name="__codelineno-6-10" href="#__codelineno-6-10"></a> &quot;termination_b_id&quot;: &quot;ca54e2cc-d1b5-46e2-bb7d-85b1a9e3c1d0&quot;,
4730
+ <a id="__codelineno-6-11" name="__codelineno-6-11" href="#__codelineno-6-11"></a> ...
4731
+ <a id="__codelineno-6-12" name="__codelineno-6-12" href="#__codelineno-6-12"></a>}&#39;
3519
4732
  </code></pre></div>
4733
+ <p>On retrieval, the REST API will include the <code>object_type</code> and <code>object_id</code> fields, but will also typically for convenience include an <code>object</code> field containing the URL or nested details of the object identified by the type/id fields. For the above <code>Cable</code> example, the retrieval response might look something like:</p>
3520
4734
  <div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="p">{</span>
3521
- <a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;e2f29f8f-002a-4c4a-9d19-24cc7549e715&quot;</span><span class="p">,</span>
3522
- <a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/ip-addresses/56296/&quot;</span><span class="p">,</span>
3523
- <a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a><span class="w"> </span><span class="nt">&quot;assigned_object_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;dcim.interface&quot;</span><span class="p">,</span>
3524
- <a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a><span class="w"> </span><span class="nt">&quot;assigned_object_id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;e824bc29-623f-407e-8aa8-828f4c0b98ee&quot;</span><span class="p">,</span>
3525
- <a id="__codelineno-7-6" name="__codelineno-7-6" href="#__codelineno-7-6"></a><span class="w"> </span><span class="nt">&quot;assigned_object&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3526
- <a id="__codelineno-7-7" name="__codelineno-7-7" href="#__codelineno-7-7"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;e824bc29-623f-407e-8aa8-828f4c0b98ee&quot;</span><span class="p">,</span>
3527
- <a id="__codelineno-7-8" name="__codelineno-7-8" href="#__codelineno-7-8"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/interfaces/e824bc29-623f-407e-8aa8-828f4c0b98ee/&quot;</span><span class="p">,</span>
3528
- <a id="__codelineno-7-9" name="__codelineno-7-9" href="#__codelineno-7-9"></a><span class="w"> </span><span class="nt">&quot;device&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3529
- <a id="__codelineno-7-10" name="__codelineno-7-10" href="#__codelineno-7-10"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;76816a69-db2c-40e6-812d-115c61156e21&quot;</span><span class="p">,</span>
3530
- <a id="__codelineno-7-11" name="__codelineno-7-11" href="#__codelineno-7-11"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/devices/76816a69-db2c-40e6-812d-115c61156e21/&quot;</span><span class="p">,</span>
3531
- <a id="__codelineno-7-12" name="__codelineno-7-12" href="#__codelineno-7-12"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;device105&quot;</span><span class="p">,</span>
3532
- <a id="__codelineno-7-13" name="__codelineno-7-13" href="#__codelineno-7-13"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;device105&quot;</span>
3533
- <a id="__codelineno-7-14" name="__codelineno-7-14" href="#__codelineno-7-14"></a><span class="w"> </span><span class="p">},</span>
3534
- <a id="__codelineno-7-15" name="__codelineno-7-15" href="#__codelineno-7-15"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ge-0/0/0&quot;</span><span class="p">,</span>
3535
- <a id="__codelineno-7-16" name="__codelineno-7-16" href="#__codelineno-7-16"></a><span class="w"> </span><span class="nt">&quot;cable&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3536
- <a id="__codelineno-7-17" name="__codelineno-7-17" href="#__codelineno-7-17"></a><span class="w"> </span><span class="nt">&quot;connection_status&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span>
3537
- <a id="__codelineno-7-18" name="__codelineno-7-18" href="#__codelineno-7-18"></a><span class="w"> </span><span class="p">},</span>
3538
- <a id="__codelineno-7-19" name="__codelineno-7-19" href="#__codelineno-7-19"></a><span class="w"> </span><span class="err">...</span>
3539
- <a id="__codelineno-7-20" name="__codelineno-7-20" href="#__codelineno-7-20"></a><span class="p">}</span>
4735
+ <a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;549dae0d-3345-4bd1-8626-085e46a36ded&quot;</span><span class="p">,</span>
4736
+ <a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://localhost:8080/api/dcim/cables/549dae0d-3345-4bd1-8626-085e46a36ded/&quot;</span><span class="p">,</span>
4737
+ <a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a><span class="w"> </span><span class="err">...</span>
4738
+ <a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a><span class="w"> </span><span class="nt">&quot;termination_a_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;dcim.interface&quot;</span><span class="p">,</span>
4739
+ <a id="__codelineno-7-6" name="__codelineno-7-6" href="#__codelineno-7-6"></a><span class="w"> </span><span class="nt">&quot;termination_b_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;dcim.frontport&quot;</span><span class="p">,</span>
4740
+ <a id="__codelineno-7-7" name="__codelineno-7-7" href="#__codelineno-7-7"></a><span class="w"> </span><span class="nt">&quot;termination_a_id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;96ee6c25-d689-46f4-b552-eb72977c27b8&quot;</span><span class="p">,</span>
4741
+ <a id="__codelineno-7-8" name="__codelineno-7-8" href="#__codelineno-7-8"></a><span class="w"> </span><span class="nt">&quot;termination_b_id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ca54e2cc-d1b5-46e2-bb7d-85b1a9e3c1d0&quot;</span><span class="p">,</span>
4742
+ <a id="__codelineno-7-9" name="__codelineno-7-9" href="#__codelineno-7-9"></a><span class="w"> </span><span class="nt">&quot;termination_a&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://localhost:8080/api/dcim/interfaces/96ee6c25-d689-46f4-b552-eb72977c27b8/&quot;</span><span class="p">,</span>
4743
+ <a id="__codelineno-7-10" name="__codelineno-7-10" href="#__codelineno-7-10"></a><span class="w"> </span><span class="nt">&quot;termination_b&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://localhost:8080/api/dcim/front-ports/ca54e2cc-d1b5-46e2-bb7d-85b1a9e3c1d0/&quot;</span><span class="p">,</span>
4744
+ <a id="__codelineno-7-11" name="__codelineno-7-11" href="#__codelineno-7-11"></a><span class="w"> </span><span class="err">...</span>
4745
+ <a id="__codelineno-7-12" name="__codelineno-7-12" href="#__codelineno-7-12"></a><span class="p">}</span>
3540
4746
  </code></pre></div>
3541
- <p>If we wanted to assign this IP address to a virtual machine interface instead, we would have set <code>assigned_object_type</code> to <code>virtualization.vminterface</code> and updated the object ID appropriately.</p>
3542
4747
  <h2 id="pagination">Pagination<a class="headerlink" href="#pagination" title="Permanent link">&para;</a></h2>
3543
4748
  <p>API responses which contain a list of many objects will be paginated for efficiency. The root JSON object returned by a list endpoint contains the following attributes:</p>
3544
4749
  <ul>
@@ -3589,36 +4794,44 @@
3589
4794
  <p class="admonition-title">Warning</p>
3590
4795
  <p>Disabling the page size limit introduces a potential for very resource-intensive requests, since one API request can effectively retrieve an entire table from the database.</p>
3591
4796
  </div>
4797
+ <h2 id="sorting">Sorting<a class="headerlink" href="#sorting" title="Permanent link">&para;</a></h2>
4798
+ <p>By default, objects are sorted by their model-defined ordering property. However, this can be overridden by specifying the <code>?sort</code> query parameter. For example, to retrieve devices sorted by their rack position:</p>
4799
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>http://nautobot/api/dcim/devices/?sort=position
4800
+ </code></pre></div>
4801
+ <p>To sort in descending order, prefix the field name with a minus sign (<code>-</code>):</p>
4802
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>http://nautobot/api/dcim/devices/?sort=-position
4803
+ </code></pre></div>
4804
+ <p>Currently only direct model attributes are validated to be sorted as expected.</p>
3592
4805
  <h2 id="interacting-with-objects">Interacting with Objects<a class="headerlink" href="#interacting-with-objects" title="Permanent link">&para;</a></h2>
3593
4806
  <h3 id="retrieving-multiple-objects">Retrieving Multiple Objects<a class="headerlink" href="#retrieving-multiple-objects" title="Permanent link">&para;</a></h3>
3594
4807
  <p>To query Nautobot for a list of objects, make a <code>GET</code> request to the model's <em>list</em> endpoint. Objects are listed under the response object's <code>results</code> parameter. Specifying the <code>Accept</code> header with the Nautobot API version is not required, but is strongly recommended.</p>
3595
- <div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>curl -s -X GET \
3596
- <a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a>-H &quot;Accept: application/json; version=1.3&quot; \
3597
- <a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a>http://nautobot/api/ipam/ip-addresses/ | jq &#39;.&#39;
4808
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>curl -s -X GET \
4809
+ <a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a>-H &quot;Accept: application/json; version=2.0&quot; \
4810
+ <a id="__codelineno-13-3" name="__codelineno-13-3" href="#__codelineno-13-3"></a>http://nautobot/api/ipam/ip-addresses/ | jq &#39;.&#39;
3598
4811
  </code></pre></div>
3599
- <div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="p">{</span>
3600
- <a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a><span class="w"> </span><span class="nt">&quot;count&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">42031</span><span class="p">,</span>
3601
- <a id="__codelineno-12-3" name="__codelineno-12-3" href="#__codelineno-12-3"></a><span class="w"> </span><span class="nt">&quot;next&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/ip-addresses/?limit=50&amp;offset=50&quot;</span><span class="p">,</span>
3602
- <a id="__codelineno-12-4" name="__codelineno-12-4" href="#__codelineno-12-4"></a><span class="w"> </span><span class="nt">&quot;previous&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3603
- <a id="__codelineno-12-5" name="__codelineno-12-5" href="#__codelineno-12-5"></a><span class="w"> </span><span class="nt">&quot;results&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
3604
- <a id="__codelineno-12-6" name="__codelineno-12-6" href="#__codelineno-12-6"></a><span class="w"> </span><span class="p">{</span>
3605
- <a id="__codelineno-12-7" name="__codelineno-12-7" href="#__codelineno-12-7"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;bd307eca-de34-4bda-9195-d69ca52206d6&quot;</span><span class="p">,</span>
3606
- <a id="__codelineno-12-8" name="__codelineno-12-8" href="#__codelineno-12-8"></a><span class="w"> </span><span class="nt">&quot;address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.0.2.1/24&quot;</span><span class="p">,</span>
3607
- <a id="__codelineno-12-9" name="__codelineno-12-9" href="#__codelineno-12-9"></a><span class="w"> </span><span class="err">...</span>
3608
- <a id="__codelineno-12-10" name="__codelineno-12-10" href="#__codelineno-12-10"></a><span class="w"> </span><span class="p">},</span>
3609
- <a id="__codelineno-12-11" name="__codelineno-12-11" href="#__codelineno-12-11"></a><span class="w"> </span><span class="p">{</span>
3610
- <a id="__codelineno-12-12" name="__codelineno-12-12" href="#__codelineno-12-12"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;6c52e918-4f0c-4c50-ae49-6bef22c97fd5&quot;</span><span class="p">,</span>
3611
- <a id="__codelineno-12-13" name="__codelineno-12-13" href="#__codelineno-12-13"></a><span class="w"> </span><span class="nt">&quot;address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.0.2.2/24&quot;</span><span class="p">,</span>
3612
- <a id="__codelineno-12-14" name="__codelineno-12-14" href="#__codelineno-12-14"></a><span class="w"> </span><span class="err">...</span>
3613
- <a id="__codelineno-12-15" name="__codelineno-12-15" href="#__codelineno-12-15"></a><span class="w"> </span><span class="p">},</span>
3614
- <a id="__codelineno-12-16" name="__codelineno-12-16" href="#__codelineno-12-16"></a><span class="w"> </span><span class="p">{</span>
3615
- <a id="__codelineno-12-17" name="__codelineno-12-17" href="#__codelineno-12-17"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;b8cde1ee-1b86-4ea4-a884-041c472d8999&quot;</span><span class="p">,</span>
3616
- <a id="__codelineno-12-18" name="__codelineno-12-18" href="#__codelineno-12-18"></a><span class="w"> </span><span class="nt">&quot;address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.0.2.3/24&quot;</span><span class="p">,</span>
3617
- <a id="__codelineno-12-19" name="__codelineno-12-19" href="#__codelineno-12-19"></a><span class="w"> </span><span class="err">...</span>
3618
- <a id="__codelineno-12-20" name="__codelineno-12-20" href="#__codelineno-12-20"></a><span class="w"> </span><span class="p">},</span>
3619
- <a id="__codelineno-12-21" name="__codelineno-12-21" href="#__codelineno-12-21"></a><span class="w"> </span><span class="err">...</span>
3620
- <a id="__codelineno-12-22" name="__codelineno-12-22" href="#__codelineno-12-22"></a><span class="w"> </span><span class="p">]</span>
3621
- <a id="__codelineno-12-23" name="__codelineno-12-23" href="#__codelineno-12-23"></a><span class="p">}</span>
4812
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a><span class="p">{</span>
4813
+ <a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a><span class="w"> </span><span class="nt">&quot;count&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">42031</span><span class="p">,</span>
4814
+ <a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a><span class="w"> </span><span class="nt">&quot;next&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/ip-addresses/?limit=50&amp;offset=50&quot;</span><span class="p">,</span>
4815
+ <a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a><span class="w"> </span><span class="nt">&quot;previous&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4816
+ <a id="__codelineno-14-5" name="__codelineno-14-5" href="#__codelineno-14-5"></a><span class="w"> </span><span class="nt">&quot;results&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
4817
+ <a id="__codelineno-14-6" name="__codelineno-14-6" href="#__codelineno-14-6"></a><span class="w"> </span><span class="p">{</span>
4818
+ <a id="__codelineno-14-7" name="__codelineno-14-7" href="#__codelineno-14-7"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;bd307eca-de34-4bda-9195-d69ca52206d6&quot;</span><span class="p">,</span>
4819
+ <a id="__codelineno-14-8" name="__codelineno-14-8" href="#__codelineno-14-8"></a><span class="w"> </span><span class="nt">&quot;address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.0.2.1/24&quot;</span><span class="p">,</span>
4820
+ <a id="__codelineno-14-9" name="__codelineno-14-9" href="#__codelineno-14-9"></a><span class="w"> </span><span class="err">...</span>
4821
+ <a id="__codelineno-14-10" name="__codelineno-14-10" href="#__codelineno-14-10"></a><span class="w"> </span><span class="p">},</span>
4822
+ <a id="__codelineno-14-11" name="__codelineno-14-11" href="#__codelineno-14-11"></a><span class="w"> </span><span class="p">{</span>
4823
+ <a id="__codelineno-14-12" name="__codelineno-14-12" href="#__codelineno-14-12"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;6c52e918-4f0c-4c50-ae49-6bef22c97fd5&quot;</span><span class="p">,</span>
4824
+ <a id="__codelineno-14-13" name="__codelineno-14-13" href="#__codelineno-14-13"></a><span class="w"> </span><span class="nt">&quot;address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.0.2.2/24&quot;</span><span class="p">,</span>
4825
+ <a id="__codelineno-14-14" name="__codelineno-14-14" href="#__codelineno-14-14"></a><span class="w"> </span><span class="err">...</span>
4826
+ <a id="__codelineno-14-15" name="__codelineno-14-15" href="#__codelineno-14-15"></a><span class="w"> </span><span class="p">},</span>
4827
+ <a id="__codelineno-14-16" name="__codelineno-14-16" href="#__codelineno-14-16"></a><span class="w"> </span><span class="p">{</span>
4828
+ <a id="__codelineno-14-17" name="__codelineno-14-17" href="#__codelineno-14-17"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;b8cde1ee-1b86-4ea4-a884-041c472d8999&quot;</span><span class="p">,</span>
4829
+ <a id="__codelineno-14-18" name="__codelineno-14-18" href="#__codelineno-14-18"></a><span class="w"> </span><span class="nt">&quot;address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.0.2.3/24&quot;</span><span class="p">,</span>
4830
+ <a id="__codelineno-14-19" name="__codelineno-14-19" href="#__codelineno-14-19"></a><span class="w"> </span><span class="err">...</span>
4831
+ <a id="__codelineno-14-20" name="__codelineno-14-20" href="#__codelineno-14-20"></a><span class="w"> </span><span class="p">},</span>
4832
+ <a id="__codelineno-14-21" name="__codelineno-14-21" href="#__codelineno-14-21"></a><span class="w"> </span><span class="err">...</span>
4833
+ <a id="__codelineno-14-22" name="__codelineno-14-22" href="#__codelineno-14-22"></a><span class="w"> </span><span class="p">]</span>
4834
+ <a id="__codelineno-14-23" name="__codelineno-14-23" href="#__codelineno-14-23"></a><span class="p">}</span>
3622
4835
  </code></pre></div>
3623
4836
  <h3 id="retrieving-a-single-object">Retrieving a Single Object<a class="headerlink" href="#retrieving-a-single-object" title="Permanent link">&para;</a></h3>
3624
4837
  <p>To query Nautobot for a single object, make a <code>GET</code> request to the model's <em>detail</em> endpoint specifying its UUID.</p>
@@ -3626,120 +4839,324 @@
3626
4839
  <p class="admonition-title">Note</p>
3627
4840
  <p>Note that the trailing slash is required. Omitting this will return a 302 redirect.</p>
3628
4841
  </div>
3629
- <div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>curl -s -X GET \
3630
- <a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a>-H &quot;Accept: application/json; version=1.3&quot; \
3631
- <a id="__codelineno-13-3" name="__codelineno-13-3" href="#__codelineno-13-3"></a>http://nautobot/api/ipam/ip-addresses/bd307eca-de34-4bda-9195-d69ca52206d6/ | jq &#39;.&#39;
3632
- </code></pre></div>
3633
- <div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a><span class="p">{</span>
3634
- <a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;bd307eca-de34-4bda-9195-d69ca52206d6&quot;</span><span class="p">,</span>
3635
- <a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a><span class="w"> </span><span class="nt">&quot;address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.0.2.1/24&quot;</span><span class="p">,</span>
3636
- <a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a><span class="w"> </span><span class="err">...</span>
3637
- <a id="__codelineno-14-5" name="__codelineno-14-5" href="#__codelineno-14-5"></a><span class="p">}</span>
3638
- </code></pre></div>
3639
- <h3 id="brief-format">Brief Format<a class="headerlink" href="#brief-format" title="Permanent link">&para;</a></h3>
3640
- <p>The <code>GET</code> API endpoints support an optional "brief" format, which returns only a minimal representation of each object in the response. This is useful when you need only a list of available objects without any related data, such as when populating a drop-down list in a form. As an example, the default (complete) format of an IP address looks like this:</p>
3641
- <div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>GET /api/ipam/prefixes/7d2d24ac-4737-4fc1-a850-b30366618f3d/
4842
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>curl -s -X GET \
4843
+ <a id="__codelineno-15-2" name="__codelineno-15-2" href="#__codelineno-15-2"></a>-H &quot;Accept: application/json; version=2.0&quot; \
4844
+ <a id="__codelineno-15-3" name="__codelineno-15-3" href="#__codelineno-15-3"></a>http://nautobot/api/ipam/ip-addresses/bd307eca-de34-4bda-9195-d69ca52206d6/ | jq &#39;.&#39;
3642
4845
  </code></pre></div>
3643
4846
  <div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="p">{</span>
3644
- <a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;7d2d24ac-4737-4fc1-a850-b30366618f3d&quot;</span><span class="p">,</span>
3645
- <a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/prefixes/7d2d24ac-4737-4fc1-a850-b30366618f3d/&quot;</span><span class="p">,</span>
3646
- <a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a><span class="w"> </span><span class="nt">&quot;family&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3647
- <a id="__codelineno-16-5" name="__codelineno-16-5" href="#__codelineno-16-5"></a><span class="w"> </span><span class="nt">&quot;value&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span>
3648
- <a id="__codelineno-16-6" name="__codelineno-16-6" href="#__codelineno-16-6"></a><span class="w"> </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;IPv4&quot;</span>
3649
- <a id="__codelineno-16-7" name="__codelineno-16-7" href="#__codelineno-16-7"></a><span class="w"> </span><span class="p">},</span>
3650
- <a id="__codelineno-16-8" name="__codelineno-16-8" href="#__codelineno-16-8"></a><span class="w"> </span><span class="nt">&quot;prefix&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.0.2.0/24&quot;</span><span class="p">,</span>
3651
- <a id="__codelineno-16-9" name="__codelineno-16-9" href="#__codelineno-16-9"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3652
- <a id="__codelineno-16-10" name="__codelineno-16-10" href="#__codelineno-16-10"></a><span class="w"> </span><span class="nt">&quot;value&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;container&quot;</span><span class="p">,</span>
3653
- <a id="__codelineno-16-11" name="__codelineno-16-11" href="#__codelineno-16-11"></a><span class="w"> </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Container&quot;</span>
3654
- <a id="__codelineno-16-12" name="__codelineno-16-12" href="#__codelineno-16-12"></a><span class="w"> </span><span class="p">},</span>
3655
- <a id="__codelineno-16-13" name="__codelineno-16-13" href="#__codelineno-16-13"></a><span class="w"> </span><span class="nt">&quot;site&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3656
- <a id="__codelineno-16-14" name="__codelineno-16-14" href="#__codelineno-16-14"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;b9edf2ee-cad9-48be-9921-006294bff730&quot;</span><span class="p">,</span>
3657
- <a id="__codelineno-16-15" name="__codelineno-16-15" href="#__codelineno-16-15"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/sites/b9edf2ee-cad9-48be-9921-006294bff730/&quot;</span><span class="p">,</span>
3658
- <a id="__codelineno-16-16" name="__codelineno-16-16" href="#__codelineno-16-16"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Site 23A&quot;</span><span class="p">,</span>
3659
- <a id="__codelineno-16-17" name="__codelineno-16-17" href="#__codelineno-16-17"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;site-23a&quot;</span>
3660
- <a id="__codelineno-16-18" name="__codelineno-16-18" href="#__codelineno-16-18"></a><span class="w"> </span><span class="p">},</span>
3661
- <a id="__codelineno-16-19" name="__codelineno-16-19" href="#__codelineno-16-19"></a><span class="w"> </span><span class="nt">&quot;vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3662
- <a id="__codelineno-16-20" name="__codelineno-16-20" href="#__codelineno-16-20"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3663
- <a id="__codelineno-16-21" name="__codelineno-16-21" href="#__codelineno-16-21"></a><span class="w"> </span><span class="nt">&quot;vlan&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3664
- <a id="__codelineno-16-22" name="__codelineno-16-22" href="#__codelineno-16-22"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3665
- <a id="__codelineno-16-23" name="__codelineno-16-23" href="#__codelineno-16-23"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Reserved&quot;</span><span class="p">,</span>
3666
- <a id="__codelineno-16-24" name="__codelineno-16-24" href="#__codelineno-16-24"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;fc32b83f-2448-4602-9d43-fecc6735e4e5&quot;</span><span class="p">,</span>
3667
- <a id="__codelineno-16-25" name="__codelineno-16-25" href="#__codelineno-16-25"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://localhost:8080/api/extras/statuses/fc32b83f-2448-4602-9d43-fecc6735e4e5/&quot;</span><span class="p">,</span>
3668
- <a id="__codelineno-16-26" name="__codelineno-16-26" href="#__codelineno-16-26"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Reserved&quot;</span><span class="p">,</span>
3669
- <a id="__codelineno-16-27" name="__codelineno-16-27" href="#__codelineno-16-27"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span>
3670
- <a id="__codelineno-16-28" name="__codelineno-16-28" href="#__codelineno-16-28"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2019-12-09T01:02:03.456789Z&quot;</span><span class="p">,</span>
3671
- <a id="__codelineno-16-29" name="__codelineno-16-29" href="#__codelineno-16-29"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2019-12-09T16:38:50.363404Z&quot;</span>
3672
- <a id="__codelineno-16-30" name="__codelineno-16-30" href="#__codelineno-16-30"></a><span class="w"> </span><span class="p">},</span>
3673
- <a id="__codelineno-16-31" name="__codelineno-16-31" href="#__codelineno-16-31"></a><span class="w"> </span><span class="nt">&quot;role&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3674
- <a id="__codelineno-16-32" name="__codelineno-16-32" href="#__codelineno-16-32"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ae1470bc-a858-4ce7-b9ce-dd1cd46333fe&quot;</span><span class="p">,</span>
3675
- <a id="__codelineno-16-33" name="__codelineno-16-33" href="#__codelineno-16-33"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/roles/ae1470bc-a858-4ce7-b9ce-dd1cd46333fe/&quot;</span><span class="p">,</span>
3676
- <a id="__codelineno-16-34" name="__codelineno-16-34" href="#__codelineno-16-34"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Staging&quot;</span><span class="p">,</span>
3677
- <a id="__codelineno-16-35" name="__codelineno-16-35" href="#__codelineno-16-35"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;staging&quot;</span>
3678
- <a id="__codelineno-16-36" name="__codelineno-16-36" href="#__codelineno-16-36"></a><span class="w"> </span><span class="p">},</span>
3679
- <a id="__codelineno-16-37" name="__codelineno-16-37" href="#__codelineno-16-37"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;network&quot;</span><span class="p">,</span>
3680
- <a id="__codelineno-16-38" name="__codelineno-16-38" href="#__codelineno-16-38"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Example prefix&quot;</span><span class="p">,</span>
3681
- <a id="__codelineno-16-39" name="__codelineno-16-39" href="#__codelineno-16-39"></a><span class="w"> </span><span class="nt">&quot;tags&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
3682
- <a id="__codelineno-16-40" name="__codelineno-16-40" href="#__codelineno-16-40"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
3683
- <a id="__codelineno-16-41" name="__codelineno-16-41" href="#__codelineno-16-41"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2018-12-10T00:00:00Z&quot;</span><span class="p">,</span>
3684
- <a id="__codelineno-16-42" name="__codelineno-16-42" href="#__codelineno-16-42"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2019-03-01T20:02:46.173540Z&quot;</span>
3685
- <a id="__codelineno-16-43" name="__codelineno-16-43" href="#__codelineno-16-43"></a><span class="p">}</span>
4847
+ <a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;bd307eca-de34-4bda-9195-d69ca52206d6&quot;</span><span class="p">,</span>
4848
+ <a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a><span class="w"> </span><span class="nt">&quot;address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.0.2.1/24&quot;</span><span class="p">,</span>
4849
+ <a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a><span class="w"> </span><span class="err">...</span>
4850
+ <a id="__codelineno-16-5" name="__codelineno-16-5" href="#__codelineno-16-5"></a><span class="p">}</span>
3686
4851
  </code></pre></div>
3687
- <p>The brief format is much more terse:</p>
3688
- <div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>GET /api/ipam/prefixes/7d2d24ac-4737-4fc1-a850-b30366618f3d/?brief=1
4852
+ <h3 id="depth-query-parameter">Depth Query Parameter<a class="headerlink" href="#depth-query-parameter" title="Permanent link">&para;</a></h3>
4853
+ <div class="admonition version-added">
4854
+ <p class="admonition-title">Added in version 2.0.0</p>
4855
+ </div>
4856
+ <p>A <code>?depth</code> query parameter is introduced in Nautobot 2.0 to replace the <code>?brief</code> parameter. It enables <a href="https://www.django-rest-framework.org/api-guide/serializers/#specifying-nested-serialization">nested serialization</a> functionality and offers a more dynamic and comprehensive browsable API. It is available for both retrieving a single object and a list of objects.
4857
+ This parameter is an positive integer value that can range from 0 to 10. In most use cases, you will only need a maximum <code>depth</code> of 2 to get all the information you need.</p>
4858
+ <div class="admonition note">
4859
+ <p class="admonition-title">Note</p>
4860
+ <p>The <code>?brief</code> query parameter is removed for Nautobot v2.x. Use <code>?depth=0</code> instead.</p>
4861
+ </div>
4862
+ <div class="admonition important">
4863
+ <p class="admonition-title">Important</p>
4864
+ <p>The <code>?depth</code> query parameter should only be used for <code>GET</code> operations in the API. It should not be used in <code>POST</code>, <code>PATCH</code> and <code>DELETE</code> requests. For these requests, only <code>?depth=0</code> should be used.</p>
4865
+ </div>
4866
+ <h4 id="defaultdepth0">Default/?depth=0<a class="headerlink" href="#defaultdepth0" title="Permanent link">&para;</a></h4>
4867
+ <p><code>?depth</code> parameter defaults to 0 and offers a very lightweight view of the API where all object-related fields are represented by only their URLs:</p>
4868
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>curl -s -X GET \
4869
+ <a id="__codelineno-17-2" name="__codelineno-17-2" href="#__codelineno-17-2"></a>-H &quot;Accept: application/json; version=2.0&quot; \
4870
+ <a id="__codelineno-17-3" name="__codelineno-17-3" href="#__codelineno-17-3"></a>http://nautobot/api/dcim/locations/0e19e475-89c9-4cf4-8b5f-a0589f0950cd/ | jq &#39;.&#39;
3689
4871
  </code></pre></div>
3690
4872
  <div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="p">{</span>
3691
- <a id="__codelineno-18-2" name="__codelineno-18-2" href="#__codelineno-18-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;7d2d24ac-4737-4fc1-a850-b30366618f3d&quot;</span><span class="p">,</span>
3692
- <a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/prefixes/7d2d24ac-4737-4fc1-a850-b30366618f3d/&quot;</span><span class="p">,</span>
3693
- <a id="__codelineno-18-4" name="__codelineno-18-4" href="#__codelineno-18-4"></a><span class="w"> </span><span class="nt">&quot;family&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span>
3694
- <a id="__codelineno-18-5" name="__codelineno-18-5" href="#__codelineno-18-5"></a><span class="w"> </span><span class="nt">&quot;prefix&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10.40.3.0/24&quot;</span>
3695
- <a id="__codelineno-18-6" name="__codelineno-18-6" href="#__codelineno-18-6"></a><span class="p">}</span>
4873
+ <a id="__codelineno-18-2" name="__codelineno-18-2" href="#__codelineno-18-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0e19e475-89c9-4cf4-8b5f-a0589f0950cd&quot;</span><span class="p">,</span>
4874
+ <a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Campus-01&quot;</span><span class="p">,</span>
4875
+ <a id="__codelineno-18-4" name="__codelineno-18-4" href="#__codelineno-18-4"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/locations/0e19e475-89c9-4cf4-8b5f-a0589f0950cd/&quot;</span><span class="p">,</span>
4876
+ <a id="__codelineno-18-5" name="__codelineno-18-5" href="#__codelineno-18-5"></a><span class="w"> </span><span class="nt">&quot;tree_depth&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
4877
+ <a id="__codelineno-18-6" name="__codelineno-18-6" href="#__codelineno-18-6"></a><span class="w"> </span><span class="nt">&quot;time_zone&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Asia/Baghdad&quot;</span><span class="p">,</span>
4878
+ <a id="__codelineno-18-7" name="__codelineno-18-7" href="#__codelineno-18-7"></a><span class="w"> </span><span class="nt">&quot;circuit_count&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span>
4879
+ <a id="__codelineno-18-8" name="__codelineno-18-8" href="#__codelineno-18-8"></a><span class="w"> </span><span class="nt">&quot;device_count&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
4880
+ <a id="__codelineno-18-9" name="__codelineno-18-9" href="#__codelineno-18-9"></a><span class="w"> </span><span class="nt">&quot;prefix_count&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
4881
+ <a id="__codelineno-18-10" name="__codelineno-18-10" href="#__codelineno-18-10"></a><span class="w"> </span><span class="nt">&quot;rack_count&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
4882
+ <a id="__codelineno-18-11" name="__codelineno-18-11" href="#__codelineno-18-11"></a><span class="w"> </span><span class="nt">&quot;virtual_machine_count&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
4883
+ <a id="__codelineno-18-12" name="__codelineno-18-12" href="#__codelineno-18-12"></a><span class="w"> </span><span class="nt">&quot;vlan_count&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
4884
+ <a id="__codelineno-18-13" name="__codelineno-18-13" href="#__codelineno-18-13"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.884754Z&quot;</span><span class="p">,</span>
4885
+ <a id="__codelineno-18-14" name="__codelineno-18-14" href="#__codelineno-18-14"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.906503Z&quot;</span><span class="p">,</span>
4886
+ <a id="__codelineno-18-15" name="__codelineno-18-15" href="#__codelineno-18-15"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Campus-01&quot;</span><span class="p">,</span>
4887
+ <a id="__codelineno-18-16" name="__codelineno-18-16" href="#__codelineno-18-16"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;campus-01&quot;</span><span class="p">,</span>
4888
+ <a id="__codelineno-18-17" name="__codelineno-18-17" href="#__codelineno-18-17"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Local take each compare court exactly.&quot;</span><span class="p">,</span>
4889
+ <a id="__codelineno-18-18" name="__codelineno-18-18" href="#__codelineno-18-18"></a><span class="w"> </span><span class="nt">&quot;facility&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;328&quot;</span><span class="p">,</span>
4890
+ <a id="__codelineno-18-19" name="__codelineno-18-19" href="#__codelineno-18-19"></a><span class="w"> </span><span class="nt">&quot;asn&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4891
+ <a id="__codelineno-18-20" name="__codelineno-18-20" href="#__codelineno-18-20"></a><span class="w"> </span><span class="nt">&quot;physical_address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
4892
+ <a id="__codelineno-18-21" name="__codelineno-18-21" href="#__codelineno-18-21"></a><span class="w"> </span><span class="nt">&quot;shipping_address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
4893
+ <a id="__codelineno-18-22" name="__codelineno-18-22" href="#__codelineno-18-22"></a><span class="w"> </span><span class="nt">&quot;latitude&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4894
+ <a id="__codelineno-18-23" name="__codelineno-18-23" href="#__codelineno-18-23"></a><span class="w"> </span><span class="nt">&quot;longitude&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;104.200000&quot;</span><span class="p">,</span>
4895
+ <a id="__codelineno-18-24" name="__codelineno-18-24" href="#__codelineno-18-24"></a><span class="w"> </span><span class="nt">&quot;contact_name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Frances Hernandez&quot;</span><span class="p">,</span>
4896
+ <a id="__codelineno-18-25" name="__codelineno-18-25" href="#__codelineno-18-25"></a><span class="w"> </span><span class="nt">&quot;contact_phone&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
4897
+ <a id="__codelineno-18-26" name="__codelineno-18-26" href="#__codelineno-18-26"></a><span class="w"> </span><span class="nt">&quot;contact_email&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
4898
+ <a id="__codelineno-18-27" name="__codelineno-18-27" href="#__codelineno-18-27"></a><span class="w"> </span><span class="nt">&quot;comments&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Sort share road candidate.&quot;</span><span class="p">,</span>
4899
+ <a id="__codelineno-18-28" name="__codelineno-18-28" href="#__codelineno-18-28"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/statuses/28eb334b-4171-4da4-a03a-fa6d0c6a9442/&quot;</span><span class="p">,</span>
4900
+ <a id="__codelineno-18-29" name="__codelineno-18-29" href="#__codelineno-18-29"></a><span class="w"> </span><span class="nt">&quot;parent&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4901
+ <a id="__codelineno-18-30" name="__codelineno-18-30" href="#__codelineno-18-30"></a><span class="w"> </span><span class="nt">&quot;location_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/location-types/e3d4a9af-c6c1-4582-b483-a13301eb6e28/&quot;</span><span class="p">,</span>
4902
+ <a id="__codelineno-18-31" name="__codelineno-18-31" href="#__codelineno-18-31"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/tenancy/tenants/5b1feadb-fab0-4f81-a53f-5192d83b0216/&quot;</span><span class="p">,</span>
4903
+ <a id="__codelineno-18-32" name="__codelineno-18-32" href="#__codelineno-18-32"></a><span class="w"> </span><span class="nt">&quot;tags&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
4904
+ <a id="__codelineno-18-33" name="__codelineno-18-33" href="#__codelineno-18-33"></a><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/tags/a50d4568-27ae-4743-87ac-ffdc22b7f5d2/&quot;</span><span class="p">,</span>
4905
+ <a id="__codelineno-18-34" name="__codelineno-18-34" href="#__codelineno-18-34"></a><span class="w"> </span><span class="p">],</span>
4906
+ <a id="__codelineno-18-35" name="__codelineno-18-35" href="#__codelineno-18-35"></a><span class="w"> </span><span class="nt">&quot;notes_url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/locations/0e19e475-89c9-4cf4-8b5f-a0589f0950cd/notes/&quot;</span><span class="p">,</span>
4907
+ <a id="__codelineno-18-36" name="__codelineno-18-36" href="#__codelineno-18-36"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
4908
+ <a id="__codelineno-18-37" name="__codelineno-18-37" href="#__codelineno-18-37"></a><span class="w"> </span><span class="nt">&quot;example_plugin_auto_custom_field&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span>
4909
+ <a id="__codelineno-18-38" name="__codelineno-18-38" href="#__codelineno-18-38"></a><span class="w"> </span><span class="p">}</span>
4910
+ <a id="__codelineno-18-39" name="__codelineno-18-39" href="#__codelineno-18-39"></a><span class="p">}</span>
4911
+ </code></pre></div>
4912
+ <h4 id="depth1">?depth=1<a class="headerlink" href="#depth1" title="Permanent link">&para;</a></h4>
4913
+ <p>When <code>?depth=1</code> is added to the query parameters, all object-related fields, instead of being represented as UUIDs as they are when <code>?depth=0</code>, will be represented as nested objects, similar (<strong>but not necessarily identical!</strong>) to the objects that would be retrieved when querying the API directly for those related objects.</p>
4914
+ <div class="admonition important">
4915
+ <p class="admonition-title">Important</p>
4916
+ <p>Nested objects retrieved with a greater-than-zero <code>depth</code> parameter do not necessarily include all fields that would be included on the fully detailed object that can be retrieved by querying their <code>url</code> directly. In particular:</p>
4917
+ <ul>
4918
+ <li>Nested objects <em>will not include</em> a field for <code>tags</code> or any other many-to-many relations on the object (such as a <code>Status</code> object's <code>content_types</code> relation).</li>
4919
+ <li>Nested objects <em>will not include</em> the <code>relationships</code> or <code>computed_fields</code> keys, even if those are <a href="#retrieving-object-relationships-and-relationship-associations">opted-in</a> on the request.</li>
4920
+ <li>Nested objects <em>may omit</em> any derived (non-database) attributes, such as related object counts, tree-depth information, etc.</li>
4921
+ </ul>
4922
+ </div>
4923
+ <p>For example, retrieving a <code>Location</code> with <code>?depth=1</code> would provide nested objects for the <code>status</code>, <code>parent</code>, <code>location_type</code>, <code>tenant</code>, and <code>tags</code> fields:</p>
4924
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>curl -s -X GET \
4925
+ <a id="__codelineno-19-2" name="__codelineno-19-2" href="#__codelineno-19-2"></a>-H &quot;Accept: application/json; version=2.0&quot; \
4926
+ <a id="__codelineno-19-3" name="__codelineno-19-3" href="#__codelineno-19-3"></a>http://nautobot/api/dcim/locations/ce69530e-6a4a-4d3c-9f95-fc326ec39abf/?depth=1 | jq &#39;.&#39;
4927
+ </code></pre></div>
4928
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="p">{</span>
4929
+ <a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a><span class="w"> </span><span class="err">...</span>
4930
+ <a id="__codelineno-20-3" name="__codelineno-20-3" href="#__codelineno-20-3"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
4931
+ <a id="__codelineno-20-4" name="__codelineno-20-4" href="#__codelineno-20-4"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;91a53d61-4180-4820-835d-533b34dbb5b4&quot;</span><span class="p">,</span>
4932
+ <a id="__codelineno-20-5" name="__codelineno-20-5" href="#__codelineno-20-5"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Active&quot;</span><span class="p">,</span>
4933
+ <a id="__codelineno-20-6" name="__codelineno-20-6" href="#__codelineno-20-6"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/statuses/91a53d61-4180-4820-835d-533b34dbb5b4/&quot;</span><span class="p">,</span>
4934
+ <a id="__codelineno-20-7" name="__codelineno-20-7" href="#__codelineno-20-7"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
4935
+ <a id="__codelineno-20-8" name="__codelineno-20-8" href="#__codelineno-20-8"></a><span class="w"> </span><span class="nt">&quot;notes_url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/statuses/91a53d61-4180-4820-835d-533b34dbb5b4/notes/&quot;</span><span class="p">,</span>
4936
+ <a id="__codelineno-20-9" name="__codelineno-20-9" href="#__codelineno-20-9"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T00:00:00Z&quot;</span><span class="p">,</span>
4937
+ <a id="__codelineno-20-10" name="__codelineno-20-10" href="#__codelineno-20-10"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:25:51.413824Z&quot;</span><span class="p">,</span>
4938
+ <a id="__codelineno-20-11" name="__codelineno-20-11" href="#__codelineno-20-11"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Active&quot;</span><span class="p">,</span>
4939
+ <a id="__codelineno-20-12" name="__codelineno-20-12" href="#__codelineno-20-12"></a><span class="w"> </span><span class="nt">&quot;color&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;4caf50&quot;</span><span class="p">,</span>
4940
+ <a id="__codelineno-20-13" name="__codelineno-20-13" href="#__codelineno-20-13"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Unit is active&quot;</span>
4941
+ <a id="__codelineno-20-14" name="__codelineno-20-14" href="#__codelineno-20-14"></a><span class="w"> </span><span class="p">},</span>
4942
+ <a id="__codelineno-20-15" name="__codelineno-20-15" href="#__codelineno-20-15"></a><span class="w"> </span><span class="nt">&quot;parent&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
4943
+ <a id="__codelineno-20-16" name="__codelineno-20-16" href="#__codelineno-20-16"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0e19e475-89c9-4cf4-8b5f-a0589f0950cd&quot;</span><span class="p">,</span>
4944
+ <a id="__codelineno-20-17" name="__codelineno-20-17" href="#__codelineno-20-17"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Campus-01&quot;</span><span class="p">,</span>
4945
+ <a id="__codelineno-20-18" name="__codelineno-20-18" href="#__codelineno-20-18"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/locations/0e19e475-89c9-4cf4-8b5f-a0589f0950cd/&quot;</span><span class="p">,</span>
4946
+ <a id="__codelineno-20-19" name="__codelineno-20-19" href="#__codelineno-20-19"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
4947
+ <a id="__codelineno-20-20" name="__codelineno-20-20" href="#__codelineno-20-20"></a><span class="w"> </span><span class="nt">&quot;example_plugin_auto_custom_field&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span>
4948
+ <a id="__codelineno-20-21" name="__codelineno-20-21" href="#__codelineno-20-21"></a><span class="w"> </span><span class="p">},</span>
4949
+ <a id="__codelineno-20-22" name="__codelineno-20-22" href="#__codelineno-20-22"></a><span class="w"> </span><span class="nt">&quot;notes_url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/locations/0e19e475-89c9-4cf4-8b5f-a0589f0950cd/notes/&quot;</span><span class="p">,</span>
4950
+ <a id="__codelineno-20-23" name="__codelineno-20-23" href="#__codelineno-20-23"></a><span class="w"> </span><span class="nt">&quot;tree_depth&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4951
+ <a id="__codelineno-20-24" name="__codelineno-20-24" href="#__codelineno-20-24"></a><span class="w"> </span><span class="nt">&quot;time_zone&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Asia/Baghdad&quot;</span><span class="p">,</span>
4952
+ <a id="__codelineno-20-25" name="__codelineno-20-25" href="#__codelineno-20-25"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.884754Z&quot;</span><span class="p">,</span>
4953
+ <a id="__codelineno-20-26" name="__codelineno-20-26" href="#__codelineno-20-26"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.906503Z&quot;</span><span class="p">,</span>
4954
+ <a id="__codelineno-20-27" name="__codelineno-20-27" href="#__codelineno-20-27"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Campus-01&quot;</span><span class="p">,</span>
4955
+ <a id="__codelineno-20-28" name="__codelineno-20-28" href="#__codelineno-20-28"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;campus-01&quot;</span><span class="p">,</span>
4956
+ <a id="__codelineno-20-29" name="__codelineno-20-29" href="#__codelineno-20-29"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Local take each compare court exactly.&quot;</span><span class="p">,</span>
4957
+ <a id="__codelineno-20-30" name="__codelineno-20-30" href="#__codelineno-20-30"></a><span class="w"> </span><span class="nt">&quot;facility&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;328&quot;</span><span class="p">,</span>
4958
+ <a id="__codelineno-20-31" name="__codelineno-20-31" href="#__codelineno-20-31"></a><span class="w"> </span><span class="nt">&quot;asn&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4959
+ <a id="__codelineno-20-32" name="__codelineno-20-32" href="#__codelineno-20-32"></a><span class="w"> </span><span class="nt">&quot;physical_address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
4960
+ <a id="__codelineno-20-33" name="__codelineno-20-33" href="#__codelineno-20-33"></a><span class="w"> </span><span class="nt">&quot;shipping_address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
4961
+ <a id="__codelineno-20-34" name="__codelineno-20-34" href="#__codelineno-20-34"></a><span class="w"> </span><span class="nt">&quot;latitude&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4962
+ <a id="__codelineno-20-35" name="__codelineno-20-35" href="#__codelineno-20-35"></a><span class="w"> </span><span class="nt">&quot;longitude&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;104.200000&quot;</span><span class="p">,</span>
4963
+ <a id="__codelineno-20-36" name="__codelineno-20-36" href="#__codelineno-20-36"></a><span class="w"> </span><span class="nt">&quot;contact_name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Frances Hernandez&quot;</span><span class="p">,</span>
4964
+ <a id="__codelineno-20-37" name="__codelineno-20-37" href="#__codelineno-20-37"></a><span class="w"> </span><span class="nt">&quot;contact_phone&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
4965
+ <a id="__codelineno-20-38" name="__codelineno-20-38" href="#__codelineno-20-38"></a><span class="w"> </span><span class="nt">&quot;contact_email&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
4966
+ <a id="__codelineno-20-39" name="__codelineno-20-39" href="#__codelineno-20-39"></a><span class="w"> </span><span class="nt">&quot;comments&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Sort share road candidate.&quot;</span><span class="p">,</span>
4967
+ <a id="__codelineno-20-40" name="__codelineno-20-40" href="#__codelineno-20-40"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/statuses/28eb334b-4171-4da4-a03a-fa6d0c6a9442/&quot;</span><span class="p">,</span>
4968
+ <a id="__codelineno-20-41" name="__codelineno-20-41" href="#__codelineno-20-41"></a><span class="w"> </span><span class="nt">&quot;parent&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4969
+ <a id="__codelineno-20-42" name="__codelineno-20-42" href="#__codelineno-20-42"></a><span class="w"> </span><span class="nt">&quot;location_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/location-types/e3d4a9af-c6c1-4582-b483-a13301eb6e28/&quot;</span><span class="p">,</span>
4970
+ <a id="__codelineno-20-43" name="__codelineno-20-43" href="#__codelineno-20-43"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/tenancy/tenants/5b1feadb-fab0-4f81-a53f-5192d83b0216/&quot;</span><span class="p">,</span>
4971
+ <a id="__codelineno-20-44" name="__codelineno-20-44" href="#__codelineno-20-44"></a><span class="w"> </span><span class="p">},</span>
4972
+ <a id="__codelineno-20-45" name="__codelineno-20-45" href="#__codelineno-20-45"></a><span class="w"> </span><span class="nt">&quot;location_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
4973
+ <a id="__codelineno-20-46" name="__codelineno-20-46" href="#__codelineno-20-46"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;4edcc111-e3f7-4309-ab0e-eb34c001874e&quot;</span><span class="p">,</span>
4974
+ <a id="__codelineno-20-47" name="__codelineno-20-47" href="#__codelineno-20-47"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Campus → Building&quot;</span><span class="p">,</span>
4975
+ <a id="__codelineno-20-48" name="__codelineno-20-48" href="#__codelineno-20-48"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/location-types/4edcc111-e3f7-4309-ab0e-eb34c001874e/&quot;</span><span class="p">,</span>
4976
+ <a id="__codelineno-20-49" name="__codelineno-20-49" href="#__codelineno-20-49"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
4977
+ <a id="__codelineno-20-50" name="__codelineno-20-50" href="#__codelineno-20-50"></a><span class="w"> </span><span class="nt">&quot;notes_url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/location-types/4edcc111-e3f7-4309-ab0e-eb34c001874e/notes/&quot;</span><span class="p">,</span>
4978
+ <a id="__codelineno-20-51" name="__codelineno-20-51" href="#__codelineno-20-51"></a><span class="w"> </span><span class="nt">&quot;tree_depth&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4979
+ <a id="__codelineno-20-52" name="__codelineno-20-52" href="#__codelineno-20-52"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.707759Z&quot;</span><span class="p">,</span>
4980
+ <a id="__codelineno-20-53" name="__codelineno-20-53" href="#__codelineno-20-53"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.716482Z&quot;</span><span class="p">,</span>
4981
+ <a id="__codelineno-20-54" name="__codelineno-20-54" href="#__codelineno-20-54"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Building&quot;</span><span class="p">,</span>
4982
+ <a id="__codelineno-20-55" name="__codelineno-20-55" href="#__codelineno-20-55"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;building&quot;</span><span class="p">,</span>
4983
+ <a id="__codelineno-20-56" name="__codelineno-20-56" href="#__codelineno-20-56"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Protect growth bill all hair along.&quot;</span><span class="p">,</span>
4984
+ <a id="__codelineno-20-57" name="__codelineno-20-57" href="#__codelineno-20-57"></a><span class="w"> </span><span class="nt">&quot;nestable&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
4985
+ <a id="__codelineno-20-58" name="__codelineno-20-58" href="#__codelineno-20-58"></a><span class="w"> </span><span class="nt">&quot;parent&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/location-types/e3d4a9af-c6c1-4582-b483-a13301eb6e28/&quot;</span>
4986
+ <a id="__codelineno-20-59" name="__codelineno-20-59" href="#__codelineno-20-59"></a><span class="w"> </span><span class="p">},</span>
4987
+ <a id="__codelineno-20-60" name="__codelineno-20-60" href="#__codelineno-20-60"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
4988
+ <a id="__codelineno-20-61" name="__codelineno-20-61" href="#__codelineno-20-61"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;d043b6bc-6892-45f9-b460-4b006eb68016&quot;</span><span class="p">,</span>
4989
+ <a id="__codelineno-20-62" name="__codelineno-20-62" href="#__codelineno-20-62"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Page Inc&quot;</span><span class="p">,</span>
4990
+ <a id="__codelineno-20-63" name="__codelineno-20-63" href="#__codelineno-20-63"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/tenancy/tenants/d043b6bc-6892-45f9-b460-4b006eb68016/&quot;</span><span class="p">,</span>
4991
+ <a id="__codelineno-20-64" name="__codelineno-20-64" href="#__codelineno-20-64"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
4992
+ <a id="__codelineno-20-65" name="__codelineno-20-65" href="#__codelineno-20-65"></a><span class="w"> </span><span class="nt">&quot;notes_url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/tenancy/tenants/d043b6bc-6892-45f9-b460-4b006eb68016/notes/&quot;</span><span class="p">,</span>
4993
+ <a id="__codelineno-20-66" name="__codelineno-20-66" href="#__codelineno-20-66"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.257345Z&quot;</span><span class="p">,</span>
4994
+ <a id="__codelineno-20-67" name="__codelineno-20-67" href="#__codelineno-20-67"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.262563Z&quot;</span><span class="p">,</span>
4995
+ <a id="__codelineno-20-68" name="__codelineno-20-68" href="#__codelineno-20-68"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Page Inc&quot;</span><span class="p">,</span>
4996
+ <a id="__codelineno-20-69" name="__codelineno-20-69" href="#__codelineno-20-69"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Citizen father policy door science light. Glass improve place understand against ground.\nLarge firm per sing. Item they side walk test open tend.&quot;</span><span class="p">,</span>
4997
+ <a id="__codelineno-20-70" name="__codelineno-20-70" href="#__codelineno-20-70"></a><span class="w"> </span><span class="nt">&quot;comments&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
4998
+ <a id="__codelineno-20-71" name="__codelineno-20-71" href="#__codelineno-20-71"></a><span class="w"> </span><span class="nt">&quot;tenant_group&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
4999
+ <a id="__codelineno-20-72" name="__codelineno-20-72" href="#__codelineno-20-72"></a><span class="w"> </span><span class="p">},</span>
5000
+ <a id="__codelineno-20-73" name="__codelineno-20-73" href="#__codelineno-20-73"></a><span class="w"> </span><span class="nt">&quot;tags&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
5001
+ <a id="__codelineno-20-74" name="__codelineno-20-74" href="#__codelineno-20-74"></a><span class="w"> </span><span class="p">{</span>
5002
+ <a id="__codelineno-20-75" name="__codelineno-20-75" href="#__codelineno-20-75"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;a50d4568-27ae-4743-87ac-ffdc22b7f5d2&quot;</span><span class="p">,</span>
5003
+ <a id="__codelineno-20-76" name="__codelineno-20-76" href="#__codelineno-20-76"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Light blue&quot;</span><span class="p">,</span>
5004
+ <a id="__codelineno-20-77" name="__codelineno-20-77" href="#__codelineno-20-77"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/tags/a50d4568-27ae-4743-87ac-ffdc22b7f5d2/&quot;</span><span class="p">,</span>
5005
+ <a id="__codelineno-20-78" name="__codelineno-20-78" href="#__codelineno-20-78"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
5006
+ <a id="__codelineno-20-79" name="__codelineno-20-79" href="#__codelineno-20-79"></a><span class="w"> </span><span class="nt">&quot;notes_url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/tags/a50d4568-27ae-4743-87ac-ffdc22b7f5d2/notes/&quot;</span><span class="p">,</span>
5007
+ <a id="__codelineno-20-80" name="__codelineno-20-80" href="#__codelineno-20-80"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Light blue&quot;</span><span class="p">,</span>
5008
+ <a id="__codelineno-20-81" name="__codelineno-20-81" href="#__codelineno-20-81"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;light-blue&quot;</span><span class="p">,</span>
5009
+ <a id="__codelineno-20-82" name="__codelineno-20-82" href="#__codelineno-20-82"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:05.753433Z&quot;</span><span class="p">,</span>
5010
+ <a id="__codelineno-20-83" name="__codelineno-20-83" href="#__codelineno-20-83"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:05.770752Z&quot;</span><span class="p">,</span>
5011
+ <a id="__codelineno-20-84" name="__codelineno-20-84" href="#__codelineno-20-84"></a><span class="w"> </span><span class="nt">&quot;color&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;03a9f4&quot;</span><span class="p">,</span>
5012
+ <a id="__codelineno-20-85" name="__codelineno-20-85" href="#__codelineno-20-85"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Want task generation. Commercial candidate performance financial guess modern.\nEarly toward adult black. Join black land sit. It smile standard possible reach.&quot;</span>
5013
+ <a id="__codelineno-20-86" name="__codelineno-20-86" href="#__codelineno-20-86"></a><span class="w"> </span><span class="p">}</span>
5014
+ <a id="__codelineno-20-87" name="__codelineno-20-87" href="#__codelineno-20-87"></a><span class="w"> </span><span class="p">]</span>
5015
+ <a id="__codelineno-20-88" name="__codelineno-20-88" href="#__codelineno-20-88"></a><span class="p">}</span>
5016
+ </code></pre></div>
5017
+ <div class="admonition note">
5018
+ <p class="admonition-title">Note</p>
5019
+ <p>As previously explained, note that the <code>status</code> nested object included in this response does not include the <code>content_types</code> many-to-many relation that exists on all Status objects. If this information is needed, you would need to directly query the URL of the status object itself (above, <code>http://nautobot/api/extras/statuses/91a53d61-4180-4820-835d-533b34dbb5b4/</code>) to get a fully detailed response. Similarly, the <code>parent</code> and <code>tenant</code> nested objects do not include their <code>tags</code> relations, the <code>parent</code> object does not include its derived <code>tree_depth</code> and related object counters, and the <code>tags</code> nested object list does not include the <code>content_types</code> for each <code>Tag</code>.</p>
5020
+ </div>
5021
+ <h4 id="depth2-and-beyond">?depth=2 and beyond<a class="headerlink" href="#depth2-and-beyond" title="Permanent link">&para;</a></h4>
5022
+ <p>A higher <code>depth</code> parameter in the query presents you with more insight to the object and can be useful in situations that demand information of an indirectly related field of the object.</p>
5023
+ <div class="admonition important">
5024
+ <p class="admonition-title">Important</p>
5025
+ <p>Using higher <code>depth</code> values may substantially increase the amount of time it takes for the REST API to respond to your query when there are a large number of related objects. In some cases it may be more efficient to initially query with a lower <code>depth</code> and then follow the <code>url</code> values that the REST API response provides for specific related objects to query those objects directly as a more narrowly focused query approach.</p>
5026
+ </div>
5027
+ <p>For example, if you need information on the <code>parent</code> of a <code>location</code> instance's <code>parent</code>.</p>
5028
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>curl -s -X GET \
5029
+ <a id="__codelineno-21-2" name="__codelineno-21-2" href="#__codelineno-21-2"></a>-H &quot;Accept: application/json; version=2.0&quot; \
5030
+ <a id="__codelineno-21-3" name="__codelineno-21-3" href="#__codelineno-21-3"></a>http://nautobot/api/dcim/locations/3b71a669-faa4-4f8d-a72a-8c94d121b793/?depth=2 | jq &#39;.&#39;
5031
+ </code></pre></div>
5032
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a><span class="p">{</span>
5033
+ <a id="__codelineno-22-2" name="__codelineno-22-2" href="#__codelineno-22-2"></a><span class="w"> </span><span class="err">...</span>
5034
+ <a id="__codelineno-22-3" name="__codelineno-22-3" href="#__codelineno-22-3"></a><span class="w"> </span><span class="nt">&quot;parent&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5035
+ <a id="__codelineno-22-4" name="__codelineno-22-4" href="#__codelineno-22-4"></a><span class="w"> </span><span class="err">...</span>
5036
+ <a id="__codelineno-22-5" name="__codelineno-22-5" href="#__codelineno-22-5"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5037
+ <a id="__codelineno-22-6" name="__codelineno-22-6" href="#__codelineno-22-6"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;39ea1ea4-3028-4a81-81e0-24a5743d3657&quot;</span><span class="p">,</span>
5038
+ <a id="__codelineno-22-7" name="__codelineno-22-7" href="#__codelineno-22-7"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/statuses/39ea1ea4-3028-4a81-81e0-24a5743d3657/&quot;</span><span class="p">,</span>
5039
+ <a id="__codelineno-22-8" name="__codelineno-22-8" href="#__codelineno-22-8"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Retired&quot;</span><span class="p">,</span>
5040
+ <a id="__codelineno-22-9" name="__codelineno-22-9" href="#__codelineno-22-9"></a><span class="w"> </span><span class="nt">&quot;object_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;extras.status&quot;</span><span class="p">,</span>
5041
+ <a id="__codelineno-22-10" name="__codelineno-22-10" href="#__codelineno-22-10"></a><span class="w"> </span><span class="nt">&quot;notes_url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/statuses/39ea1ea4-3028-4a81-81e0-24a5743d3657/notes/&quot;</span><span class="p">,</span>
5042
+ <a id="__codelineno-22-11" name="__codelineno-22-11" href="#__codelineno-22-11"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T00:00:00Z&quot;</span><span class="p">,</span>
5043
+ <a id="__codelineno-22-12" name="__codelineno-22-12" href="#__codelineno-22-12"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:26:16.982697Z&quot;</span><span class="p">,</span>
5044
+ <a id="__codelineno-22-13" name="__codelineno-22-13" href="#__codelineno-22-13"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Retired&quot;</span><span class="p">,</span>
5045
+ <a id="__codelineno-22-14" name="__codelineno-22-14" href="#__codelineno-22-14"></a><span class="w"> </span><span class="nt">&quot;color&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;f44336&quot;</span><span class="p">,</span>
5046
+ <a id="__codelineno-22-15" name="__codelineno-22-15" href="#__codelineno-22-15"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Location has been retired&quot;</span><span class="p">,</span>
5047
+ <a id="__codelineno-22-16" name="__codelineno-22-16" href="#__codelineno-22-16"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{}</span>
5048
+ <a id="__codelineno-22-17" name="__codelineno-22-17" href="#__codelineno-22-17"></a><span class="w"> </span><span class="p">},</span>
5049
+ <a id="__codelineno-22-18" name="__codelineno-22-18" href="#__codelineno-22-18"></a><span class="w"> </span><span class="nt">&quot;parent&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5050
+ <a id="__codelineno-22-19" name="__codelineno-22-19" href="#__codelineno-22-19"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0e19e475-89c9-4cf4-8b5f-a0589f0950cd&quot;</span><span class="p">,</span>
5051
+ <a id="__codelineno-22-20" name="__codelineno-22-20" href="#__codelineno-22-20"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/locations/0e19e475-89c9-4cf4-8b5f-a0589f0950cd/&quot;</span><span class="p">,</span>
5052
+ <a id="__codelineno-22-21" name="__codelineno-22-21" href="#__codelineno-22-21"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Campus-01&quot;</span><span class="p">,</span>
5053
+ <a id="__codelineno-22-22" name="__codelineno-22-22" href="#__codelineno-22-22"></a><span class="w"> </span><span class="nt">&quot;object_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;dcim.location&quot;</span><span class="p">,</span>
5054
+ <a id="__codelineno-22-23" name="__codelineno-22-23" href="#__codelineno-22-23"></a><span class="w"> </span><span class="nt">&quot;time_zone&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Asia/Baghdad&quot;</span><span class="p">,</span>
5055
+ <a id="__codelineno-22-24" name="__codelineno-22-24" href="#__codelineno-22-24"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.884754Z&quot;</span><span class="p">,</span>
5056
+ <a id="__codelineno-22-25" name="__codelineno-22-25" href="#__codelineno-22-25"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.906503Z&quot;</span><span class="p">,</span>
5057
+ <a id="__codelineno-22-26" name="__codelineno-22-26" href="#__codelineno-22-26"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Campus-01&quot;</span><span class="p">,</span>
5058
+ <a id="__codelineno-22-27" name="__codelineno-22-27" href="#__codelineno-22-27"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;campus-01&quot;</span><span class="p">,</span>
5059
+ <a id="__codelineno-22-28" name="__codelineno-22-28" href="#__codelineno-22-28"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Local take each compare court exactly.&quot;</span><span class="p">,</span>
5060
+ <a id="__codelineno-22-29" name="__codelineno-22-29" href="#__codelineno-22-29"></a><span class="w"> </span><span class="nt">&quot;facility&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;328&quot;</span><span class="p">,</span>
5061
+ <a id="__codelineno-22-30" name="__codelineno-22-30" href="#__codelineno-22-30"></a><span class="w"> </span><span class="nt">&quot;asn&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5062
+ <a id="__codelineno-22-31" name="__codelineno-22-31" href="#__codelineno-22-31"></a><span class="w"> </span><span class="nt">&quot;physical_address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
5063
+ <a id="__codelineno-22-32" name="__codelineno-22-32" href="#__codelineno-22-32"></a><span class="w"> </span><span class="nt">&quot;shipping_address&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
5064
+ <a id="__codelineno-22-33" name="__codelineno-22-33" href="#__codelineno-22-33"></a><span class="w"> </span><span class="nt">&quot;latitude&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5065
+ <a id="__codelineno-22-34" name="__codelineno-22-34" href="#__codelineno-22-34"></a><span class="w"> </span><span class="nt">&quot;longitude&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;104.200000&quot;</span><span class="p">,</span>
5066
+ <a id="__codelineno-22-35" name="__codelineno-22-35" href="#__codelineno-22-35"></a><span class="w"> </span><span class="nt">&quot;contact_name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Frances Hernandez&quot;</span><span class="p">,</span>
5067
+ <a id="__codelineno-22-36" name="__codelineno-22-36" href="#__codelineno-22-36"></a><span class="w"> </span><span class="nt">&quot;contact_phone&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
5068
+ <a id="__codelineno-22-37" name="__codelineno-22-37" href="#__codelineno-22-37"></a><span class="w"> </span><span class="nt">&quot;contact_email&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
5069
+ <a id="__codelineno-22-38" name="__codelineno-22-38" href="#__codelineno-22-38"></a><span class="w"> </span><span class="nt">&quot;comments&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Sort share road candidate.&quot;</span><span class="p">,</span>
5070
+ <a id="__codelineno-22-39" name="__codelineno-22-39" href="#__codelineno-22-39"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/statuses/28eb334b-4171-4da4-a03a-fa6d0c6a9442/&quot;</span><span class="p">,</span>
5071
+ <a id="__codelineno-22-40" name="__codelineno-22-40" href="#__codelineno-22-40"></a><span class="w"> </span><span class="nt">&quot;parent&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5072
+ <a id="__codelineno-22-41" name="__codelineno-22-41" href="#__codelineno-22-41"></a><span class="w"> </span><span class="nt">&quot;location_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/location-types/e3d4a9af-c6c1-4582-b483-a13301eb6e28/&quot;</span><span class="p">,</span>
5073
+ <a id="__codelineno-22-42" name="__codelineno-22-42" href="#__codelineno-22-42"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/tenancy/tenants/5b1feadb-fab0-4f81-a53f-5192d83b0216/&quot;</span><span class="p">,</span>
5074
+ <a id="__codelineno-22-43" name="__codelineno-22-43" href="#__codelineno-22-43"></a><span class="w"> </span><span class="nt">&quot;notes_url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/locations/0e19e475-89c9-4cf4-8b5f-a0589f0950cd/notes/&quot;</span><span class="p">,</span>
5075
+ <a id="__codelineno-22-44" name="__codelineno-22-44" href="#__codelineno-22-44"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5076
+ <a id="__codelineno-22-45" name="__codelineno-22-45" href="#__codelineno-22-45"></a><span class="w"> </span><span class="nt">&quot;example_plugin_auto_custom_field&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span>
5077
+ <a id="__codelineno-22-46" name="__codelineno-22-46" href="#__codelineno-22-46"></a><span class="w"> </span><span class="p">}</span>
5078
+ <a id="__codelineno-22-47" name="__codelineno-22-47" href="#__codelineno-22-47"></a><span class="w"> </span><span class="p">},</span>
5079
+ <a id="__codelineno-22-48" name="__codelineno-22-48" href="#__codelineno-22-48"></a><span class="w"> </span><span class="nt">&quot;location_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5080
+ <a id="__codelineno-22-49" name="__codelineno-22-49" href="#__codelineno-22-49"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;4edcc111-e3f7-4309-ab0e-eb34c001874e&quot;</span><span class="p">,</span>
5081
+ <a id="__codelineno-22-50" name="__codelineno-22-50" href="#__codelineno-22-50"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Campus → Building&quot;</span><span class="p">,</span>
5082
+ <a id="__codelineno-22-51" name="__codelineno-22-51" href="#__codelineno-22-51"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/location-types/4edcc111-e3f7-4309-ab0e-eb34c001874e/&quot;</span><span class="p">,</span>
5083
+ <a id="__codelineno-22-52" name="__codelineno-22-52" href="#__codelineno-22-52"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.707759Z&quot;</span><span class="p">,</span>
5084
+ <a id="__codelineno-22-53" name="__codelineno-22-53" href="#__codelineno-22-53"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.716482Z&quot;</span><span class="p">,</span>
5085
+ <a id="__codelineno-22-54" name="__codelineno-22-54" href="#__codelineno-22-54"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Building&quot;</span><span class="p">,</span>
5086
+ <a id="__codelineno-22-55" name="__codelineno-22-55" href="#__codelineno-22-55"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;building&quot;</span><span class="p">,</span>
5087
+ <a id="__codelineno-22-56" name="__codelineno-22-56" href="#__codelineno-22-56"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Protect growth bill all hair along.&quot;</span><span class="p">,</span>
5088
+ <a id="__codelineno-22-57" name="__codelineno-22-57" href="#__codelineno-22-57"></a><span class="w"> </span><span class="nt">&quot;nestable&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
5089
+ <a id="__codelineno-22-58" name="__codelineno-22-58" href="#__codelineno-22-58"></a><span class="w"> </span><span class="nt">&quot;parent&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/location-types/e3d4a9af-c6c1-4582-b483-a13301eb6e28/&quot;</span><span class="p">,</span>
5090
+ <a id="__codelineno-22-59" name="__codelineno-22-59" href="#__codelineno-22-59"></a><span class="w"> </span><span class="nt">&quot;notes_url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/location-types/4edcc111-e3f7-4309-ab0e-eb34c001874e/notes/&quot;</span><span class="p">,</span>
5091
+ <a id="__codelineno-22-60" name="__codelineno-22-60" href="#__codelineno-22-60"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{}</span>
5092
+ <a id="__codelineno-22-61" name="__codelineno-22-61" href="#__codelineno-22-61"></a><span class="w"> </span><span class="p">},</span>
5093
+ <a id="__codelineno-22-62" name="__codelineno-22-62" href="#__codelineno-22-62"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5094
+ <a id="__codelineno-22-63" name="__codelineno-22-63" href="#__codelineno-22-63"></a><span class="w"> </span><span class="p">},</span>
5095
+ <a id="__codelineno-22-64" name="__codelineno-22-64" href="#__codelineno-22-64"></a><span class="w"> </span><span class="nt">&quot;location_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5096
+ <a id="__codelineno-22-65" name="__codelineno-22-65" href="#__codelineno-22-65"></a><span class="w"> </span><span class="err">...</span>
5097
+ <a id="__codelineno-22-66" name="__codelineno-22-66" href="#__codelineno-22-66"></a><span class="w"> </span><span class="nt">&quot;parent&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5098
+ <a id="__codelineno-22-67" name="__codelineno-22-67" href="#__codelineno-22-67"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;4edcc111-e3f7-4309-ab0e-eb34c001874e&quot;</span><span class="p">,</span>
5099
+ <a id="__codelineno-22-68" name="__codelineno-22-68" href="#__codelineno-22-68"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Campus → Building&quot;</span><span class="p">,</span>
5100
+ <a id="__codelineno-22-69" name="__codelineno-22-69" href="#__codelineno-22-69"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/location-types/4edcc111-e3f7-4309-ab0e-eb34c001874e/&quot;</span><span class="p">,</span>
5101
+ <a id="__codelineno-22-70" name="__codelineno-22-70" href="#__codelineno-22-70"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.707759Z&quot;</span><span class="p">,</span>
5102
+ <a id="__codelineno-22-71" name="__codelineno-22-71" href="#__codelineno-22-71"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2023-04-12T19:29:06.716482Z&quot;</span><span class="p">,</span>
5103
+ <a id="__codelineno-22-72" name="__codelineno-22-72" href="#__codelineno-22-72"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Building&quot;</span><span class="p">,</span>
5104
+ <a id="__codelineno-22-73" name="__codelineno-22-73" href="#__codelineno-22-73"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;building&quot;</span><span class="p">,</span>
5105
+ <a id="__codelineno-22-74" name="__codelineno-22-74" href="#__codelineno-22-74"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Protect growth bill all hair along.&quot;</span><span class="p">,</span>
5106
+ <a id="__codelineno-22-75" name="__codelineno-22-75" href="#__codelineno-22-75"></a><span class="w"> </span><span class="nt">&quot;nestable&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
5107
+ <a id="__codelineno-22-76" name="__codelineno-22-76" href="#__codelineno-22-76"></a><span class="w"> </span><span class="nt">&quot;parent&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/location-types/e3d4a9af-c6c1-4582-b483-a13301eb6e28/&quot;</span><span class="p">,</span>
5108
+ <a id="__codelineno-22-77" name="__codelineno-22-77" href="#__codelineno-22-77"></a><span class="w"> </span><span class="nt">&quot;notes_url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/location-types/4edcc111-e3f7-4309-ab0e-eb34c001874e/notes/&quot;</span><span class="p">,</span>
5109
+ <a id="__codelineno-22-78" name="__codelineno-22-78" href="#__codelineno-22-78"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{}</span>
5110
+ <a id="__codelineno-22-79" name="__codelineno-22-79" href="#__codelineno-22-79"></a><span class="w"> </span><span class="p">}</span>
5111
+ <a id="__codelineno-22-80" name="__codelineno-22-80" href="#__codelineno-22-80"></a><span class="w"> </span><span class="p">},</span>
5112
+ <a id="__codelineno-22-81" name="__codelineno-22-81" href="#__codelineno-22-81"></a><span class="w"> </span><span class="err">...</span>
5113
+ <a id="__codelineno-22-82" name="__codelineno-22-82" href="#__codelineno-22-82"></a><span class="p">}</span>
3696
5114
  </code></pre></div>
3697
- <p>The brief format is supported for both lists and individual objects.</p>
3698
5115
  <h3 id="retrieving-object-relationships-and-relationship-associations">Retrieving Object Relationships and Relationship Associations<a class="headerlink" href="#retrieving-object-relationships-and-relationship-associations" title="Permanent link">&para;</a></h3>
3699
5116
  <div class="admonition version-added">
3700
5117
  <p class="admonition-title">Added in version 1.4.0</p>
3701
5118
  </div>
3702
5119
  <p>Objects that are associated with another object by a custom <a href="../models/extras/relationship.html">Relationship</a> are also retrievable and modifiable via the REST API. Due to the additional processing overhead involved in retrieving and representing these relationships, they are <em>not</em> included in default REST API <code>GET</code> responses. To include relationships data, pass <code>include=relationships</code> as a query parameter; in this case an additional key, <code>"relationships"</code>, will be included in the API response, as seen below:</p>
3703
- <div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>GET /api/dcim/sites/f472bb77-7f56-4e79-ac25-2dc73eb63924/?include=relationships
5120
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>GET /api/dcim/sites/f472bb77-7f56-4e79-ac25-2dc73eb63924/?include=relationships
3704
5121
  </code></pre></div>
3705
- <div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="p">{</span>
3706
- <a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;f472bb77-7f56-4e79-ac25-2dc73eb63924&quot;</span><span class="p">,</span>
3707
- <a id="__codelineno-20-3" name="__codelineno-20-3" href="#__codelineno-20-3"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;alpha&quot;</span><span class="p">,</span>
3708
- <a id="__codelineno-20-4" name="__codelineno-20-4" href="#__codelineno-20-4"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/sites/f472bb77-7f56-4e79-ac25-2dc73eb63924/&quot;</span><span class="p">,</span>
3709
- <a id="__codelineno-20-5" name="__codelineno-20-5" href="#__codelineno-20-5"></a><span class="err">...</span>
3710
- <a id="__codelineno-20-6" name="__codelineno-20-6" href="#__codelineno-20-6"></a><span class="w"> </span><span class="nt">&quot;relationships&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3711
- <a id="__codelineno-20-7" name="__codelineno-20-7" href="#__codelineno-20-7"></a><span class="w"> </span><span class="nt">&quot;site-to-vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3712
- <a id="__codelineno-20-8" name="__codelineno-20-8" href="#__codelineno-20-8"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;e74cb7f7-15b0-499d-9401-a0f01cb96a9a&quot;</span><span class="p">,</span>
3713
- <a id="__codelineno-20-9" name="__codelineno-20-9" href="#__codelineno-20-9"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;/api/extras/relationships/e74cb7f7-15b0-499d-9401-a0f01cb96a9a/&quot;</span><span class="p">,</span>
3714
- <a id="__codelineno-20-10" name="__codelineno-20-10" href="#__codelineno-20-10"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Single Site to Single VRF&quot;</span><span class="p">,</span>
3715
- <a id="__codelineno-20-11" name="__codelineno-20-11" href="#__codelineno-20-11"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;one-to-one&quot;</span><span class="p">,</span>
3716
- <a id="__codelineno-20-12" name="__codelineno-20-12" href="#__codelineno-20-12"></a><span class="w"> </span><span class="nt">&quot;destination&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3717
- <a id="__codelineno-20-13" name="__codelineno-20-13" href="#__codelineno-20-13"></a><span class="w"> </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;VRF&quot;</span><span class="p">,</span>
3718
- <a id="__codelineno-20-14" name="__codelineno-20-14" href="#__codelineno-20-14"></a><span class="w"> </span><span class="nt">&quot;object_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ipam.vrf&quot;</span><span class="p">,</span>
3719
- <a id="__codelineno-20-15" name="__codelineno-20-15" href="#__codelineno-20-15"></a><span class="w"> </span><span class="nt">&quot;objects&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
3720
- <a id="__codelineno-20-16" name="__codelineno-20-16" href="#__codelineno-20-16"></a><span class="w"> </span><span class="p">{</span>
3721
- <a id="__codelineno-20-17" name="__codelineno-20-17" href="#__codelineno-20-17"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;36641ba0-50d6-43be-b9b5-86aa992402e0&quot;</span><span class="p">,</span>
3722
- <a id="__codelineno-20-18" name="__codelineno-20-18" href="#__codelineno-20-18"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/vrfs/36641ba0-50d6-43be-b9b5-86aa992402e0/&quot;</span><span class="p">,</span>
3723
- <a id="__codelineno-20-19" name="__codelineno-20-19" href="#__codelineno-20-19"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;red&quot;</span><span class="p">,</span>
3724
- <a id="__codelineno-20-20" name="__codelineno-20-20" href="#__codelineno-20-20"></a><span class="w"> </span><span class="nt">&quot;rd&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3725
- <a id="__codelineno-20-21" name="__codelineno-20-21" href="#__codelineno-20-21"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;red&quot;</span>
3726
- <a id="__codelineno-20-22" name="__codelineno-20-22" href="#__codelineno-20-22"></a><span class="w"> </span><span class="p">}</span>
3727
- <a id="__codelineno-20-23" name="__codelineno-20-23" href="#__codelineno-20-23"></a><span class="w"> </span><span class="p">]</span>
3728
- <a id="__codelineno-20-24" name="__codelineno-20-24" href="#__codelineno-20-24"></a><span class="w"> </span><span class="p">}</span>
3729
- <a id="__codelineno-20-25" name="__codelineno-20-25" href="#__codelineno-20-25"></a><span class="w"> </span><span class="p">},</span>
3730
- <a id="__codelineno-20-26" name="__codelineno-20-26" href="#__codelineno-20-26"></a><span class="w"> </span><span class="nt">&quot;vrfs-to-sites&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3731
- <a id="__codelineno-20-27" name="__codelineno-20-27" href="#__codelineno-20-27"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;e39c53e4-78cf-4572-b116-1d8830b81b2e&quot;</span><span class="p">,</span>
3732
- <a id="__codelineno-20-28" name="__codelineno-20-28" href="#__codelineno-20-28"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;/api/extras/relationships/e39c53e4-78cf-4572-b116-1d8830b81b2e/&quot;</span><span class="p">,</span>
3733
- <a id="__codelineno-20-29" name="__codelineno-20-29" href="#__codelineno-20-29"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;VRFs to Sites&quot;</span><span class="p">,</span>
3734
- <a id="__codelineno-20-30" name="__codelineno-20-30" href="#__codelineno-20-30"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;many-to-many&quot;</span><span class="p">,</span>
3735
- <a id="__codelineno-20-31" name="__codelineno-20-31" href="#__codelineno-20-31"></a><span class="w"> </span><span class="nt">&quot;source&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3736
- <a id="__codelineno-20-32" name="__codelineno-20-32" href="#__codelineno-20-32"></a><span class="w"> </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;VRFs&quot;</span><span class="p">,</span>
3737
- <a id="__codelineno-20-33" name="__codelineno-20-33" href="#__codelineno-20-33"></a><span class="w"> </span><span class="nt">&quot;object_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ipam.vrf&quot;</span><span class="p">,</span>
3738
- <a id="__codelineno-20-34" name="__codelineno-20-34" href="#__codelineno-20-34"></a><span class="w"> </span><span class="nt">&quot;objects&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span>
3739
- <a id="__codelineno-20-35" name="__codelineno-20-35" href="#__codelineno-20-35"></a><span class="w"> </span><span class="p">}</span>
3740
- <a id="__codelineno-20-36" name="__codelineno-20-36" href="#__codelineno-20-36"></a><span class="w"> </span><span class="p">},</span>
3741
- <a id="__codelineno-20-37" name="__codelineno-20-37" href="#__codelineno-20-37"></a><span class="w"> </span><span class="p">}</span>
3742
- <a id="__codelineno-20-38" name="__codelineno-20-38" href="#__codelineno-20-38"></a><span class="p">}</span>
5122
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a><span class="p">{</span>
5123
+ <a id="__codelineno-24-2" name="__codelineno-24-2" href="#__codelineno-24-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;f472bb77-7f56-4e79-ac25-2dc73eb63924&quot;</span><span class="p">,</span>
5124
+ <a id="__codelineno-24-3" name="__codelineno-24-3" href="#__codelineno-24-3"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;alpha&quot;</span><span class="p">,</span>
5125
+ <a id="__codelineno-24-4" name="__codelineno-24-4" href="#__codelineno-24-4"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/sites/f472bb77-7f56-4e79-ac25-2dc73eb63924/&quot;</span><span class="p">,</span>
5126
+ <a id="__codelineno-24-5" name="__codelineno-24-5" href="#__codelineno-24-5"></a><span class="err">...</span>
5127
+ <a id="__codelineno-24-6" name="__codelineno-24-6" href="#__codelineno-24-6"></a><span class="w"> </span><span class="nt">&quot;relationships&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5128
+ <a id="__codelineno-24-7" name="__codelineno-24-7" href="#__codelineno-24-7"></a><span class="w"> </span><span class="nt">&quot;site-to-vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5129
+ <a id="__codelineno-24-8" name="__codelineno-24-8" href="#__codelineno-24-8"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;e74cb7f7-15b0-499d-9401-a0f01cb96a9a&quot;</span><span class="p">,</span>
5130
+ <a id="__codelineno-24-9" name="__codelineno-24-9" href="#__codelineno-24-9"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;/api/extras/relationships/e74cb7f7-15b0-499d-9401-a0f01cb96a9a/&quot;</span><span class="p">,</span>
5131
+ <a id="__codelineno-24-10" name="__codelineno-24-10" href="#__codelineno-24-10"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Single Site to Single VRF&quot;</span><span class="p">,</span>
5132
+ <a id="__codelineno-24-11" name="__codelineno-24-11" href="#__codelineno-24-11"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;one-to-one&quot;</span><span class="p">,</span>
5133
+ <a id="__codelineno-24-12" name="__codelineno-24-12" href="#__codelineno-24-12"></a><span class="w"> </span><span class="nt">&quot;destination&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5134
+ <a id="__codelineno-24-13" name="__codelineno-24-13" href="#__codelineno-24-13"></a><span class="w"> </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;VRF&quot;</span><span class="p">,</span>
5135
+ <a id="__codelineno-24-14" name="__codelineno-24-14" href="#__codelineno-24-14"></a><span class="w"> </span><span class="nt">&quot;object_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ipam.vrf&quot;</span><span class="p">,</span>
5136
+ <a id="__codelineno-24-15" name="__codelineno-24-15" href="#__codelineno-24-15"></a><span class="w"> </span><span class="nt">&quot;objects&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
5137
+ <a id="__codelineno-24-16" name="__codelineno-24-16" href="#__codelineno-24-16"></a><span class="w"> </span><span class="p">{</span>
5138
+ <a id="__codelineno-24-17" name="__codelineno-24-17" href="#__codelineno-24-17"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;36641ba0-50d6-43be-b9b5-86aa992402e0&quot;</span><span class="p">,</span>
5139
+ <a id="__codelineno-24-18" name="__codelineno-24-18" href="#__codelineno-24-18"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/vrfs/36641ba0-50d6-43be-b9b5-86aa992402e0/&quot;</span><span class="p">,</span>
5140
+ <a id="__codelineno-24-19" name="__codelineno-24-19" href="#__codelineno-24-19"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;red&quot;</span><span class="p">,</span>
5141
+ <a id="__codelineno-24-20" name="__codelineno-24-20" href="#__codelineno-24-20"></a><span class="w"> </span><span class="nt">&quot;rd&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5142
+ <a id="__codelineno-24-21" name="__codelineno-24-21" href="#__codelineno-24-21"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;red&quot;</span>
5143
+ <a id="__codelineno-24-22" name="__codelineno-24-22" href="#__codelineno-24-22"></a><span class="w"> </span><span class="p">}</span>
5144
+ <a id="__codelineno-24-23" name="__codelineno-24-23" href="#__codelineno-24-23"></a><span class="w"> </span><span class="p">]</span>
5145
+ <a id="__codelineno-24-24" name="__codelineno-24-24" href="#__codelineno-24-24"></a><span class="w"> </span><span class="p">}</span>
5146
+ <a id="__codelineno-24-25" name="__codelineno-24-25" href="#__codelineno-24-25"></a><span class="w"> </span><span class="p">},</span>
5147
+ <a id="__codelineno-24-26" name="__codelineno-24-26" href="#__codelineno-24-26"></a><span class="w"> </span><span class="nt">&quot;vrfs-to-sites&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5148
+ <a id="__codelineno-24-27" name="__codelineno-24-27" href="#__codelineno-24-27"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;e39c53e4-78cf-4572-b116-1d8830b81b2e&quot;</span><span class="p">,</span>
5149
+ <a id="__codelineno-24-28" name="__codelineno-24-28" href="#__codelineno-24-28"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;/api/extras/relationships/e39c53e4-78cf-4572-b116-1d8830b81b2e/&quot;</span><span class="p">,</span>
5150
+ <a id="__codelineno-24-29" name="__codelineno-24-29" href="#__codelineno-24-29"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;VRFs to Sites&quot;</span><span class="p">,</span>
5151
+ <a id="__codelineno-24-30" name="__codelineno-24-30" href="#__codelineno-24-30"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;many-to-many&quot;</span><span class="p">,</span>
5152
+ <a id="__codelineno-24-31" name="__codelineno-24-31" href="#__codelineno-24-31"></a><span class="w"> </span><span class="nt">&quot;source&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5153
+ <a id="__codelineno-24-32" name="__codelineno-24-32" href="#__codelineno-24-32"></a><span class="w"> </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;VRFs&quot;</span><span class="p">,</span>
5154
+ <a id="__codelineno-24-33" name="__codelineno-24-33" href="#__codelineno-24-33"></a><span class="w"> </span><span class="nt">&quot;object_type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ipam.vrf&quot;</span><span class="p">,</span>
5155
+ <a id="__codelineno-24-34" name="__codelineno-24-34" href="#__codelineno-24-34"></a><span class="w"> </span><span class="nt">&quot;objects&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span>
5156
+ <a id="__codelineno-24-35" name="__codelineno-24-35" href="#__codelineno-24-35"></a><span class="w"> </span><span class="p">}</span>
5157
+ <a id="__codelineno-24-36" name="__codelineno-24-36" href="#__codelineno-24-36"></a><span class="w"> </span><span class="p">},</span>
5158
+ <a id="__codelineno-24-37" name="__codelineno-24-37" href="#__codelineno-24-37"></a><span class="w"> </span><span class="p">}</span>
5159
+ <a id="__codelineno-24-38" name="__codelineno-24-38" href="#__codelineno-24-38"></a><span class="p">}</span>
3743
5160
  </code></pre></div>
3744
5161
  <ul>
3745
5162
  <li>Under the <code>"relationships"</code> key, there will be one key per Relationship that applies to this model, corresponding to the <code>slug</code> of that Relationship.<ul>
@@ -3756,93 +5173,20 @@
3756
5173
  </li>
3757
5174
  </ul>
3758
5175
  <p>In the example above we can see that a single VRF, <code>green</code>, is a destination for the <code>site-to-vrf</code> Relationship from this Site, while there are currently no VRFs associated as sources for the <code>vrfs-to-sites</code> Relationship to this Site.</p>
3759
- <h3 id="excluding-config-contexts">Excluding Config Contexts<a class="headerlink" href="#excluding-config-contexts" title="Permanent link">&para;</a></h3>
3760
- <p>When retrieving devices and virtual machines via the REST API, each will include its rendered <a href="../models/extras/configcontext.html">configuration context data</a> by default. Users with large amounts of context data will likely observe suboptimal performance when returning multiple objects, particularly with very high page sizes. To combat this, context data may be excluded from the response data by attaching the query parameter <code>?exclude=config_context</code> to the request. This parameter works for both list and detail views.</p>
5176
+ <h3 id="including-config-contexts">Including Config Contexts<a class="headerlink" href="#including-config-contexts" title="Permanent link">&para;</a></h3>
5177
+ <p>When retrieving Devices and Virtual Machines via the REST API, it is possible to also retrive the rendered <a href="../models/extras/configcontext.html">configuration context data</a> for each such object if desired. Because rendering this data can be time consuming, it is <em>not</em> included in the REST API responses by default. If you wish to include config context data in the response, you must opt in by specifying the query parameter <code>include=config_context</code> as a part of your request.</p>
5178
+ <div class="admonition version-changed">
5179
+ <p class="admonition-title">Changed in version 2.0.0</p>
5180
+ <p>In Nautobot 1.x, the rendered configuration context was included by default in the REST API response unless specifically excluded with the query parameter <code>exclude=config_context</code>. This behavior has been reversed in Nautobot 2.0 and the <code>exclude</code> query parameter is no longer supported.</p>
5181
+ </div>
3761
5182
  <h3 id="creating-a-new-object">Creating a New Object<a class="headerlink" href="#creating-a-new-object" title="Permanent link">&para;</a></h3>
3762
5183
  <p>To create a new object, make a <code>POST</code> request to the model's <em>list</em> endpoint with JSON data pertaining to the object being created. Note that a REST API token is required for all write operations; see the <a href="authentication.html">authentication documentation</a> for more information. Also be sure to set the <code>Content-Type</code> HTTP header to <code>application/json</code>. As always, it's a good practice to also set the <code>Accept</code> HTTP header to include the requested REST API version.</p>
3763
- <div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>curl -s -X POST \
3764
- <a id="__codelineno-21-2" name="__codelineno-21-2" href="#__codelineno-21-2"></a>-H &quot;Authorization: Token $TOKEN&quot; \
3765
- <a id="__codelineno-21-3" name="__codelineno-21-3" href="#__codelineno-21-3"></a>-H &quot;Content-Type: application/json&quot; \
3766
- <a id="__codelineno-21-4" name="__codelineno-21-4" href="#__codelineno-21-4"></a>-H &quot;Accept: application/json; version=1.3&quot; \
3767
- <a id="__codelineno-21-5" name="__codelineno-21-5" href="#__codelineno-21-5"></a>http://nautobot/api/ipam/prefixes/ \
3768
- <a id="__codelineno-21-6" name="__codelineno-21-6" href="#__codelineno-21-6"></a>--data &#39;{&quot;prefix&quot;: &quot;192.0.2.0/24&quot;, &quot;site&quot;: 8df9e629-4338-438b-8ea9-06114f7be08e}&#39; | jq &#39;.&#39;
3769
- </code></pre></div>
3770
- <div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a><span class="p">{</span>
3771
- <a id="__codelineno-22-2" name="__codelineno-22-2" href="#__codelineno-22-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;48df6965-0fcb-4155-b5f8-00fe8b9b01af&quot;</span><span class="p">,</span>
3772
- <a id="__codelineno-22-3" name="__codelineno-22-3" href="#__codelineno-22-3"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/prefixes/48df6965-0fcb-4155-b5f8-00fe8b9b01af/&quot;</span><span class="p">,</span>
3773
- <a id="__codelineno-22-4" name="__codelineno-22-4" href="#__codelineno-22-4"></a><span class="w"> </span><span class="nt">&quot;family&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3774
- <a id="__codelineno-22-5" name="__codelineno-22-5" href="#__codelineno-22-5"></a><span class="w"> </span><span class="nt">&quot;value&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span>
3775
- <a id="__codelineno-22-6" name="__codelineno-22-6" href="#__codelineno-22-6"></a><span class="w"> </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;IPv4&quot;</span>
3776
- <a id="__codelineno-22-7" name="__codelineno-22-7" href="#__codelineno-22-7"></a><span class="w"> </span><span class="p">},</span>
3777
- <a id="__codelineno-22-8" name="__codelineno-22-8" href="#__codelineno-22-8"></a><span class="w"> </span><span class="nt">&quot;prefix&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.0.2.0/24&quot;</span><span class="p">,</span>
3778
- <a id="__codelineno-22-9" name="__codelineno-22-9" href="#__codelineno-22-9"></a><span class="w"> </span><span class="nt">&quot;site&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3779
- <a id="__codelineno-22-10" name="__codelineno-22-10" href="#__codelineno-22-10"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;8df9e629-4338-438b-8ea9-06114f7be08e&quot;</span><span class="p">,</span>
3780
- <a id="__codelineno-22-11" name="__codelineno-22-11" href="#__codelineno-22-11"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/sites/8df9e629-4338-438b-8ea9-06114f7be08e/&quot;</span><span class="p">,</span>
3781
- <a id="__codelineno-22-12" name="__codelineno-22-12" href="#__codelineno-22-12"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;US-East 4&quot;</span><span class="p">,</span>
3782
- <a id="__codelineno-22-13" name="__codelineno-22-13" href="#__codelineno-22-13"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;us-east-4&quot;</span>
3783
- <a id="__codelineno-22-14" name="__codelineno-22-14" href="#__codelineno-22-14"></a><span class="w"> </span><span class="p">},</span>
3784
- <a id="__codelineno-22-15" name="__codelineno-22-15" href="#__codelineno-22-15"></a><span class="w"> </span><span class="nt">&quot;vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3785
- <a id="__codelineno-22-16" name="__codelineno-22-16" href="#__codelineno-22-16"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3786
- <a id="__codelineno-22-17" name="__codelineno-22-17" href="#__codelineno-22-17"></a><span class="w"> </span><span class="nt">&quot;vlan&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3787
- <a id="__codelineno-22-18" name="__codelineno-22-18" href="#__codelineno-22-18"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3788
- <a id="__codelineno-22-19" name="__codelineno-22-19" href="#__codelineno-22-19"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Active&quot;</span><span class="p">,</span>
3789
- <a id="__codelineno-22-20" name="__codelineno-22-20" href="#__codelineno-22-20"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;fc32b83f-2448-4602-9d43-fecc6735e4e5&quot;</span><span class="p">,</span>
3790
- <a id="__codelineno-22-21" name="__codelineno-22-21" href="#__codelineno-22-21"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://localhost:8080/api/extras/statuses/fc32b83f-2448-4602-9d43-fecc6735e4e5/&quot;</span><span class="p">,</span>
3791
- <a id="__codelineno-22-22" name="__codelineno-22-22" href="#__codelineno-22-22"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Active&quot;</span><span class="p">,</span>
3792
- <a id="__codelineno-22-23" name="__codelineno-22-23" href="#__codelineno-22-23"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;active&quot;</span><span class="p">,</span>
3793
- <a id="__codelineno-22-24" name="__codelineno-22-24" href="#__codelineno-22-24"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2019-12-09T16:38:50.363404Z&quot;</span><span class="p">,</span>
3794
- <a id="__codelineno-22-25" name="__codelineno-22-25" href="#__codelineno-22-25"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2019-12-09T16:38:50.363404Z&quot;</span>
3795
- <a id="__codelineno-22-26" name="__codelineno-22-26" href="#__codelineno-22-26"></a><span class="w"> </span><span class="p">},</span>
3796
- <a id="__codelineno-22-27" name="__codelineno-22-27" href="#__codelineno-22-27"></a><span class="w"> </span><span class="nt">&quot;role&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3797
- <a id="__codelineno-22-28" name="__codelineno-22-28" href="#__codelineno-22-28"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;network&quot;</span><span class="p">,</span>
3798
- <a id="__codelineno-22-29" name="__codelineno-22-29" href="#__codelineno-22-29"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
3799
- <a id="__codelineno-22-30" name="__codelineno-22-30" href="#__codelineno-22-30"></a><span class="w"> </span><span class="nt">&quot;tags&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
3800
- <a id="__codelineno-22-31" name="__codelineno-22-31" href="#__codelineno-22-31"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
3801
- <a id="__codelineno-22-32" name="__codelineno-22-32" href="#__codelineno-22-32"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2020-08-04T20:08:39.007125Z&quot;</span><span class="p">,</span>
3802
- <a id="__codelineno-22-33" name="__codelineno-22-33" href="#__codelineno-22-33"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2020-08-04T20:08:39.007125Z&quot;</span>
3803
- <a id="__codelineno-22-34" name="__codelineno-22-34" href="#__codelineno-22-34"></a><span class="p">}</span>
3804
- </code></pre></div>
3805
- <h3 id="creating-multiple-objects">Creating Multiple Objects<a class="headerlink" href="#creating-multiple-objects" title="Permanent link">&para;</a></h3>
3806
- <p>To create multiple instances of a model using a single request, make a <code>POST</code> request to the model's <em>list</em> endpoint with a list of JSON objects representing each instance to be created. If successful, the response will contain a list of the newly created instances. The example below illustrates the creation of three new sites.</p>
3807
- <div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>curl -X POST -H &quot;Authorization: Token $TOKEN&quot; \
3808
- <a id="__codelineno-23-2" name="__codelineno-23-2" href="#__codelineno-23-2"></a>-H &quot;Content-Type: application/json&quot; \
3809
- <a id="__codelineno-23-3" name="__codelineno-23-3" href="#__codelineno-23-3"></a>-H &quot;Accept: application/json; version=1.3; indent=4&quot; \
3810
- <a id="__codelineno-23-4" name="__codelineno-23-4" href="#__codelineno-23-4"></a>http://nautobot/api/dcim/sites/ \
3811
- <a id="__codelineno-23-5" name="__codelineno-23-5" href="#__codelineno-23-5"></a>--data &#39;[
3812
- <a id="__codelineno-23-6" name="__codelineno-23-6" href="#__codelineno-23-6"></a>{&quot;name&quot;: &quot;Site 1&quot;, &quot;slug&quot;: &quot;site-1&quot;, &quot;region&quot;: {&quot;name&quot;: &quot;United States&quot;}},
3813
- <a id="__codelineno-23-7" name="__codelineno-23-7" href="#__codelineno-23-7"></a>{&quot;name&quot;: &quot;Site 2&quot;, &quot;slug&quot;: &quot;site-2&quot;, &quot;region&quot;: {&quot;name&quot;: &quot;United States&quot;}},
3814
- <a id="__codelineno-23-8" name="__codelineno-23-8" href="#__codelineno-23-8"></a>{&quot;name&quot;: &quot;Site 3&quot;, &quot;slug&quot;: &quot;site-3&quot;, &quot;region&quot;: {&quot;name&quot;: &quot;United States&quot;}}
3815
- <a id="__codelineno-23-9" name="__codelineno-23-9" href="#__codelineno-23-9"></a>]&#39;
3816
- </code></pre></div>
3817
- <div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a><span class="p">[</span>
3818
- <a id="__codelineno-24-2" name="__codelineno-24-2" href="#__codelineno-24-2"></a><span class="w"> </span><span class="p">{</span>
3819
- <a id="__codelineno-24-3" name="__codelineno-24-3" href="#__codelineno-24-3"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0238a4e3-66f2-455a-831f-5f177215de0f&quot;</span><span class="p">,</span>
3820
- <a id="__codelineno-24-4" name="__codelineno-24-4" href="#__codelineno-24-4"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/sites/0238a4e3-66f2-455a-831f-5f177215de0f/&quot;</span><span class="p">,</span>
3821
- <a id="__codelineno-24-5" name="__codelineno-24-5" href="#__codelineno-24-5"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Site 1&quot;</span><span class="p">,</span>
3822
- <a id="__codelineno-24-6" name="__codelineno-24-6" href="#__codelineno-24-6"></a><span class="w"> </span><span class="err">...</span>
3823
- <a id="__codelineno-24-7" name="__codelineno-24-7" href="#__codelineno-24-7"></a><span class="w"> </span><span class="p">},</span>
3824
- <a id="__codelineno-24-8" name="__codelineno-24-8" href="#__codelineno-24-8"></a><span class="w"> </span><span class="p">{</span>
3825
- <a id="__codelineno-24-9" name="__codelineno-24-9" href="#__codelineno-24-9"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;33ac3a3b-0ee7-49b7-bf2a-244096051dc0&quot;</span><span class="p">,</span>
3826
- <a id="__codelineno-24-10" name="__codelineno-24-10" href="#__codelineno-24-10"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/sites/33ac3a3b-0ee7-49b7-bf2a-244096051dc0/&quot;</span><span class="p">,</span>
3827
- <a id="__codelineno-24-11" name="__codelineno-24-11" href="#__codelineno-24-11"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Site 2&quot;</span><span class="p">,</span>
3828
- <a id="__codelineno-24-12" name="__codelineno-24-12" href="#__codelineno-24-12"></a><span class="w"> </span><span class="err">...</span>
3829
- <a id="__codelineno-24-13" name="__codelineno-24-13" href="#__codelineno-24-13"></a><span class="w"> </span><span class="p">},</span>
3830
- <a id="__codelineno-24-14" name="__codelineno-24-14" href="#__codelineno-24-14"></a><span class="w"> </span><span class="p">{</span>
3831
- <a id="__codelineno-24-15" name="__codelineno-24-15" href="#__codelineno-24-15"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10b3134d-960b-4794-ad18-0e73edd357c4&quot;</span><span class="p">,</span>
3832
- <a id="__codelineno-24-16" name="__codelineno-24-16" href="#__codelineno-24-16"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/sites/10b3134d-960b-4794-ad18-0e73edd357c4/&quot;</span><span class="p">,</span>
3833
- <a id="__codelineno-24-17" name="__codelineno-24-17" href="#__codelineno-24-17"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Site 3&quot;</span><span class="p">,</span>
3834
- <a id="__codelineno-24-18" name="__codelineno-24-18" href="#__codelineno-24-18"></a><span class="w"> </span><span class="err">...</span>
3835
- <a id="__codelineno-24-19" name="__codelineno-24-19" href="#__codelineno-24-19"></a><span class="w"> </span><span class="p">}</span>
3836
- <a id="__codelineno-24-20" name="__codelineno-24-20" href="#__codelineno-24-20"></a><span class="p">]</span>
3837
- </code></pre></div>
3838
- <h3 id="updating-an-object">Updating an Object<a class="headerlink" href="#updating-an-object" title="Permanent link">&para;</a></h3>
3839
- <p>To modify an object which has already been created, make a <code>PATCH</code> request to the model's <em>detail</em> endpoint specifying its UUID. Include any data which you wish to update on the object. As with object creation, the <code>Authorization</code> and <code>Content-Type</code> headers must also be specified, and specifying the <code>Accept</code> header is also strongly recommended.</p>
3840
- <div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a>curl -s -X PATCH \
5184
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a>curl -s -X POST \
3841
5185
  <a id="__codelineno-25-2" name="__codelineno-25-2" href="#__codelineno-25-2"></a>-H &quot;Authorization: Token $TOKEN&quot; \
3842
5186
  <a id="__codelineno-25-3" name="__codelineno-25-3" href="#__codelineno-25-3"></a>-H &quot;Content-Type: application/json&quot; \
3843
- <a id="__codelineno-25-4" name="__codelineno-25-4" href="#__codelineno-25-4"></a>-H &quot;Accept: application/json; version=1.3&quot; \
3844
- <a id="__codelineno-25-5" name="__codelineno-25-5" href="#__codelineno-25-5"></a>http://nautobot/api/ipam/prefixes/b484b0ac-12e3-484a-84c0-aa17955eaedc/ \
3845
- <a id="__codelineno-25-6" name="__codelineno-25-6" href="#__codelineno-25-6"></a>--data &#39;{&quot;status&quot;: &quot;reserved&quot;}&#39; | jq &#39;.&#39;
5187
+ <a id="__codelineno-25-4" name="__codelineno-25-4" href="#__codelineno-25-4"></a>-H &quot;Accept: application/json; version=2.0&quot; \
5188
+ <a id="__codelineno-25-5" name="__codelineno-25-5" href="#__codelineno-25-5"></a>http://nautobot/api/ipam/prefixes/ \
5189
+ <a id="__codelineno-25-6" name="__codelineno-25-6" href="#__codelineno-25-6"></a>--data &#39;{&quot;prefix&quot;: &quot;192.0.2.0/24&quot;, &quot;location&quot;: 8df9e629-4338-438b-8ea9-06114f7be08e}&#39; | jq &#39;.&#39;
3846
5190
  </code></pre></div>
3847
5191
  <div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a><span class="p">{</span>
3848
5192
  <a id="__codelineno-26-2" name="__codelineno-26-2" href="#__codelineno-26-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;48df6965-0fcb-4155-b5f8-00fe8b9b01af&quot;</span><span class="p">,</span>
@@ -3852,32 +5196,83 @@
3852
5196
  <a id="__codelineno-26-6" name="__codelineno-26-6" href="#__codelineno-26-6"></a><span class="w"> </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;IPv4&quot;</span>
3853
5197
  <a id="__codelineno-26-7" name="__codelineno-26-7" href="#__codelineno-26-7"></a><span class="w"> </span><span class="p">},</span>
3854
5198
  <a id="__codelineno-26-8" name="__codelineno-26-8" href="#__codelineno-26-8"></a><span class="w"> </span><span class="nt">&quot;prefix&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.0.2.0/24&quot;</span><span class="p">,</span>
3855
- <a id="__codelineno-26-9" name="__codelineno-26-9" href="#__codelineno-26-9"></a><span class="w"> </span><span class="nt">&quot;site&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3856
- <a id="__codelineno-26-10" name="__codelineno-26-10" href="#__codelineno-26-10"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;8df9e629-4338-438b-8ea9-06114f7be08e&quot;</span><span class="p">,</span>
3857
- <a id="__codelineno-26-11" name="__codelineno-26-11" href="#__codelineno-26-11"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/sites/8df9e629-4338-438b-8ea9-06114f7be08e/&quot;</span><span class="p">,</span>
3858
- <a id="__codelineno-26-12" name="__codelineno-26-12" href="#__codelineno-26-12"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;US-East 4&quot;</span><span class="p">,</span>
3859
- <a id="__codelineno-26-13" name="__codelineno-26-13" href="#__codelineno-26-13"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;us-east-4&quot;</span>
3860
- <a id="__codelineno-26-14" name="__codelineno-26-14" href="#__codelineno-26-14"></a><span class="w"> </span><span class="p">},</span>
3861
- <a id="__codelineno-26-15" name="__codelineno-26-15" href="#__codelineno-26-15"></a><span class="w"> </span><span class="nt">&quot;vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3862
- <a id="__codelineno-26-16" name="__codelineno-26-16" href="#__codelineno-26-16"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3863
- <a id="__codelineno-26-17" name="__codelineno-26-17" href="#__codelineno-26-17"></a><span class="w"> </span><span class="nt">&quot;vlan&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3864
- <a id="__codelineno-26-18" name="__codelineno-26-18" href="#__codelineno-26-18"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3865
- <a id="__codelineno-26-19" name="__codelineno-26-19" href="#__codelineno-26-19"></a><span class="w"> </span><span class="nt">&quot;display&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Reserved&quot;</span><span class="p">,</span>
3866
- <a id="__codelineno-26-20" name="__codelineno-26-20" href="#__codelineno-26-20"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;fc32b83f-2448-4602-9d43-fecc6735e4e5&quot;</span><span class="p">,</span>
3867
- <a id="__codelineno-26-21" name="__codelineno-26-21" href="#__codelineno-26-21"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://localhost:8080/api/extras/statuses/fc32b83f-2448-4602-9d43-fecc6735e4e5/&quot;</span><span class="p">,</span>
3868
- <a id="__codelineno-26-22" name="__codelineno-26-22" href="#__codelineno-26-22"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Reserved&quot;</span><span class="p">,</span>
3869
- <a id="__codelineno-26-23" name="__codelineno-26-23" href="#__codelineno-26-23"></a><span class="w"> </span><span class="nt">&quot;slug&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;reserved&quot;</span><span class="p">,</span>
3870
- <a id="__codelineno-26-24" name="__codelineno-26-24" href="#__codelineno-26-24"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2019-12-09T00:00:00Z&quot;</span><span class="p">,</span>
3871
- <a id="__codelineno-26-25" name="__codelineno-26-25" href="#__codelineno-26-25"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2019-12-09T16:38:50.363404Z&quot;</span>
3872
- <a id="__codelineno-26-26" name="__codelineno-26-26" href="#__codelineno-26-26"></a><span class="w"> </span><span class="p">},</span>
3873
- <a id="__codelineno-26-27" name="__codelineno-26-27" href="#__codelineno-26-27"></a><span class="w"> </span><span class="nt">&quot;role&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
3874
- <a id="__codelineno-26-28" name="__codelineno-26-28" href="#__codelineno-26-28"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;network&quot;</span><span class="p">,</span>
3875
- <a id="__codelineno-26-29" name="__codelineno-26-29" href="#__codelineno-26-29"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
3876
- <a id="__codelineno-26-30" name="__codelineno-26-30" href="#__codelineno-26-30"></a><span class="w"> </span><span class="nt">&quot;tags&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
3877
- <a id="__codelineno-26-31" name="__codelineno-26-31" href="#__codelineno-26-31"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
3878
- <a id="__codelineno-26-32" name="__codelineno-26-32" href="#__codelineno-26-32"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2020-08-04T00:00:00Z&quot;</span><span class="p">,</span>
3879
- <a id="__codelineno-26-33" name="__codelineno-26-33" href="#__codelineno-26-33"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2020-08-04T20:14:55.709430Z&quot;</span>
3880
- <a id="__codelineno-26-34" name="__codelineno-26-34" href="#__codelineno-26-34"></a><span class="p">}</span>
5199
+ <a id="__codelineno-26-9" name="__codelineno-26-9" href="#__codelineno-26-9"></a><span class="w"> </span><span class="nt">&quot;location&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/locations/8df9e629-4338-438b-8ea9-06114f7be08e/&quot;</span><span class="p">,</span>
5200
+ <a id="__codelineno-26-10" name="__codelineno-26-10" href="#__codelineno-26-10"></a><span class="w"> </span><span class="nt">&quot;vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5201
+ <a id="__codelineno-26-11" name="__codelineno-26-11" href="#__codelineno-26-11"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5202
+ <a id="__codelineno-26-12" name="__codelineno-26-12" href="#__codelineno-26-12"></a><span class="w"> </span><span class="nt">&quot;vlan&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5203
+ <a id="__codelineno-26-13" name="__codelineno-26-13" href="#__codelineno-26-13"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/statuses/fc32b83f-2448-4602-9d43-fecc6735e4e5/&quot;</span><span class="p">,</span>
5204
+ <a id="__codelineno-26-14" name="__codelineno-26-14" href="#__codelineno-26-14"></a><span class="w"> </span><span class="nt">&quot;role&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5205
+ <a id="__codelineno-26-15" name="__codelineno-26-15" href="#__codelineno-26-15"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;network&quot;</span><span class="p">,</span>
5206
+ <a id="__codelineno-26-16" name="__codelineno-26-16" href="#__codelineno-26-16"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
5207
+ <a id="__codelineno-26-17" name="__codelineno-26-17" href="#__codelineno-26-17"></a><span class="w"> </span><span class="nt">&quot;tags&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
5208
+ <a id="__codelineno-26-18" name="__codelineno-26-18" href="#__codelineno-26-18"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
5209
+ <a id="__codelineno-26-19" name="__codelineno-26-19" href="#__codelineno-26-19"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2020-08-04T20:08:39.007125Z&quot;</span><span class="p">,</span>
5210
+ <a id="__codelineno-26-20" name="__codelineno-26-20" href="#__codelineno-26-20"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2020-08-04T20:08:39.007125Z&quot;</span>
5211
+ <a id="__codelineno-26-21" name="__codelineno-26-21" href="#__codelineno-26-21"></a><span class="p">}</span>
5212
+ </code></pre></div>
5213
+ <h3 id="creating-multiple-objects">Creating Multiple Objects<a class="headerlink" href="#creating-multiple-objects" title="Permanent link">&para;</a></h3>
5214
+ <p>To create multiple instances of a model using a single request, make a <code>POST</code> request to the model's <em>list</em> endpoint with a list of JSON objects representing each instance to be created. If successful, the response will contain a list of the newly created instances. The example below illustrates the creation of three new sites.</p>
5215
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a>curl -X POST -H &quot;Authorization: Token $TOKEN&quot; \
5216
+ <a id="__codelineno-27-2" name="__codelineno-27-2" href="#__codelineno-27-2"></a>-H &quot;Content-Type: application/json&quot; \
5217
+ <a id="__codelineno-27-3" name="__codelineno-27-3" href="#__codelineno-27-3"></a>-H &quot;Accept: application/json; version=2.0; indent=4&quot; \
5218
+ <a id="__codelineno-27-4" name="__codelineno-27-4" href="#__codelineno-27-4"></a>http://nautobot/api/dcim/sites/ \
5219
+ <a id="__codelineno-27-5" name="__codelineno-27-5" href="#__codelineno-27-5"></a>--data &#39;[
5220
+ <a id="__codelineno-27-6" name="__codelineno-27-6" href="#__codelineno-27-6"></a>{&quot;name&quot;: &quot;Site 1&quot;, &quot;slug&quot;: &quot;site-1&quot;, &quot;region&quot;: {&quot;name&quot;: &quot;United States&quot;}},
5221
+ <a id="__codelineno-27-7" name="__codelineno-27-7" href="#__codelineno-27-7"></a>{&quot;name&quot;: &quot;Site 2&quot;, &quot;slug&quot;: &quot;site-2&quot;, &quot;region&quot;: {&quot;name&quot;: &quot;United States&quot;}},
5222
+ <a id="__codelineno-27-8" name="__codelineno-27-8" href="#__codelineno-27-8"></a>{&quot;name&quot;: &quot;Site 3&quot;, &quot;slug&quot;: &quot;site-3&quot;, &quot;region&quot;: {&quot;name&quot;: &quot;United States&quot;}}
5223
+ <a id="__codelineno-27-9" name="__codelineno-27-9" href="#__codelineno-27-9"></a>]&#39;
5224
+ </code></pre></div>
5225
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a><span class="p">[</span>
5226
+ <a id="__codelineno-28-2" name="__codelineno-28-2" href="#__codelineno-28-2"></a><span class="w"> </span><span class="p">{</span>
5227
+ <a id="__codelineno-28-3" name="__codelineno-28-3" href="#__codelineno-28-3"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0238a4e3-66f2-455a-831f-5f177215de0f&quot;</span><span class="p">,</span>
5228
+ <a id="__codelineno-28-4" name="__codelineno-28-4" href="#__codelineno-28-4"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/sites/0238a4e3-66f2-455a-831f-5f177215de0f/&quot;</span><span class="p">,</span>
5229
+ <a id="__codelineno-28-5" name="__codelineno-28-5" href="#__codelineno-28-5"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Site 1&quot;</span><span class="p">,</span>
5230
+ <a id="__codelineno-28-6" name="__codelineno-28-6" href="#__codelineno-28-6"></a><span class="w"> </span><span class="err">...</span>
5231
+ <a id="__codelineno-28-7" name="__codelineno-28-7" href="#__codelineno-28-7"></a><span class="w"> </span><span class="p">},</span>
5232
+ <a id="__codelineno-28-8" name="__codelineno-28-8" href="#__codelineno-28-8"></a><span class="w"> </span><span class="p">{</span>
5233
+ <a id="__codelineno-28-9" name="__codelineno-28-9" href="#__codelineno-28-9"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;33ac3a3b-0ee7-49b7-bf2a-244096051dc0&quot;</span><span class="p">,</span>
5234
+ <a id="__codelineno-28-10" name="__codelineno-28-10" href="#__codelineno-28-10"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/sites/33ac3a3b-0ee7-49b7-bf2a-244096051dc0/&quot;</span><span class="p">,</span>
5235
+ <a id="__codelineno-28-11" name="__codelineno-28-11" href="#__codelineno-28-11"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Site 2&quot;</span><span class="p">,</span>
5236
+ <a id="__codelineno-28-12" name="__codelineno-28-12" href="#__codelineno-28-12"></a><span class="w"> </span><span class="err">...</span>
5237
+ <a id="__codelineno-28-13" name="__codelineno-28-13" href="#__codelineno-28-13"></a><span class="w"> </span><span class="p">},</span>
5238
+ <a id="__codelineno-28-14" name="__codelineno-28-14" href="#__codelineno-28-14"></a><span class="w"> </span><span class="p">{</span>
5239
+ <a id="__codelineno-28-15" name="__codelineno-28-15" href="#__codelineno-28-15"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10b3134d-960b-4794-ad18-0e73edd357c4&quot;</span><span class="p">,</span>
5240
+ <a id="__codelineno-28-16" name="__codelineno-28-16" href="#__codelineno-28-16"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/sites/10b3134d-960b-4794-ad18-0e73edd357c4/&quot;</span><span class="p">,</span>
5241
+ <a id="__codelineno-28-17" name="__codelineno-28-17" href="#__codelineno-28-17"></a><span class="w"> </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;Site 3&quot;</span><span class="p">,</span>
5242
+ <a id="__codelineno-28-18" name="__codelineno-28-18" href="#__codelineno-28-18"></a><span class="w"> </span><span class="err">...</span>
5243
+ <a id="__codelineno-28-19" name="__codelineno-28-19" href="#__codelineno-28-19"></a><span class="w"> </span><span class="p">}</span>
5244
+ <a id="__codelineno-28-20" name="__codelineno-28-20" href="#__codelineno-28-20"></a><span class="p">]</span>
5245
+ </code></pre></div>
5246
+ <h3 id="updating-an-object">Updating an Object<a class="headerlink" href="#updating-an-object" title="Permanent link">&para;</a></h3>
5247
+ <p>To modify an object which has already been created, make a <code>PATCH</code> request to the model's <em>detail</em> endpoint specifying its UUID. Include any data which you wish to update on the object. As with object creation, the <code>Authorization</code> and <code>Content-Type</code> headers must also be specified, and specifying the <code>Accept</code> header is also strongly recommended.</p>
5248
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-29-1" name="__codelineno-29-1" href="#__codelineno-29-1"></a>curl -s -X PATCH \
5249
+ <a id="__codelineno-29-2" name="__codelineno-29-2" href="#__codelineno-29-2"></a>-H &quot;Authorization: Token $TOKEN&quot; \
5250
+ <a id="__codelineno-29-3" name="__codelineno-29-3" href="#__codelineno-29-3"></a>-H &quot;Content-Type: application/json&quot; \
5251
+ <a id="__codelineno-29-4" name="__codelineno-29-4" href="#__codelineno-29-4"></a>-H &quot;Accept: application/json; version=2.0&quot; \
5252
+ <a id="__codelineno-29-5" name="__codelineno-29-5" href="#__codelineno-29-5"></a>http://nautobot/api/ipam/prefixes/b484b0ac-12e3-484a-84c0-aa17955eaedc/ \
5253
+ <a id="__codelineno-29-6" name="__codelineno-29-6" href="#__codelineno-29-6"></a>--data &#39;{&quot;status&quot;: &quot;fc32b83f-2448-4602-9d43-fecc6735e4e5&quot;}&#39; | jq &#39;.&#39;
5254
+ </code></pre></div>
5255
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-30-1" name="__codelineno-30-1" href="#__codelineno-30-1"></a><span class="p">{</span>
5256
+ <a id="__codelineno-30-2" name="__codelineno-30-2" href="#__codelineno-30-2"></a><span class="w"> </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;48df6965-0fcb-4155-b5f8-00fe8b9b01af&quot;</span><span class="p">,</span>
5257
+ <a id="__codelineno-30-3" name="__codelineno-30-3" href="#__codelineno-30-3"></a><span class="w"> </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/ipam/prefixes/48df6965-0fcb-4155-b5f8-00fe8b9b01af/&quot;</span><span class="p">,</span>
5258
+ <a id="__codelineno-30-4" name="__codelineno-30-4" href="#__codelineno-30-4"></a><span class="w"> </span><span class="nt">&quot;family&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5259
+ <a id="__codelineno-30-5" name="__codelineno-30-5" href="#__codelineno-30-5"></a><span class="w"> </span><span class="nt">&quot;value&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span>
5260
+ <a id="__codelineno-30-6" name="__codelineno-30-6" href="#__codelineno-30-6"></a><span class="w"> </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;IPv4&quot;</span>
5261
+ <a id="__codelineno-30-7" name="__codelineno-30-7" href="#__codelineno-30-7"></a><span class="w"> </span><span class="p">},</span>
5262
+ <a id="__codelineno-30-8" name="__codelineno-30-8" href="#__codelineno-30-8"></a><span class="w"> </span><span class="nt">&quot;prefix&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.0.2.0/24&quot;</span><span class="p">,</span>
5263
+ <a id="__codelineno-30-9" name="__codelineno-30-9" href="#__codelineno-30-9"></a><span class="w"> </span><span class="nt">&quot;site&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/dcim/sites/8df9e629-4338-438b-8ea9-06114f7be08e/&quot;</span><span class="p">,</span>
5264
+ <a id="__codelineno-30-10" name="__codelineno-30-10" href="#__codelineno-30-10"></a><span class="w"> </span><span class="nt">&quot;vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5265
+ <a id="__codelineno-30-11" name="__codelineno-30-11" href="#__codelineno-30-11"></a><span class="w"> </span><span class="nt">&quot;tenant&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5266
+ <a id="__codelineno-30-12" name="__codelineno-30-12" href="#__codelineno-30-12"></a><span class="w"> </span><span class="nt">&quot;vlan&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5267
+ <a id="__codelineno-30-13" name="__codelineno-30-13" href="#__codelineno-30-13"></a><span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;http://nautobot/api/extras/statuses/fc32b83f-2448-4602-9d43-fecc6735e4e5/&quot;</span><span class="p">,</span>
5268
+ <a id="__codelineno-30-14" name="__codelineno-30-14" href="#__codelineno-30-14"></a><span class="w"> </span><span class="nt">&quot;role&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
5269
+ <a id="__codelineno-30-15" name="__codelineno-30-15" href="#__codelineno-30-15"></a><span class="w"> </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;network&quot;</span><span class="p">,</span>
5270
+ <a id="__codelineno-30-16" name="__codelineno-30-16" href="#__codelineno-30-16"></a><span class="w"> </span><span class="nt">&quot;description&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
5271
+ <a id="__codelineno-30-17" name="__codelineno-30-17" href="#__codelineno-30-17"></a><span class="w"> </span><span class="nt">&quot;tags&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
5272
+ <a id="__codelineno-30-18" name="__codelineno-30-18" href="#__codelineno-30-18"></a><span class="w"> </span><span class="nt">&quot;custom_fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
5273
+ <a id="__codelineno-30-19" name="__codelineno-30-19" href="#__codelineno-30-19"></a><span class="w"> </span><span class="nt">&quot;created&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2020-08-04T00:00:00Z&quot;</span><span class="p">,</span>
5274
+ <a id="__codelineno-30-20" name="__codelineno-30-20" href="#__codelineno-30-20"></a><span class="w"> </span><span class="nt">&quot;last_updated&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2020-08-04T20:14:55.709430Z&quot;</span>
5275
+ <a id="__codelineno-30-21" name="__codelineno-30-21" href="#__codelineno-30-21"></a><span class="p">}</span>
3881
5276
  </code></pre></div>
3882
5277
  <div class="admonition note">
3883
5278
  <p class="admonition-title">PUT versus PATCH</p>
@@ -3888,48 +5283,48 @@
3888
5283
  <p class="admonition-title">Added in version 1.4.0</p>
3889
5284
  </div>
3890
5285
  <p>It is possible to modify the objects associated via Relationship with an object as part of a REST API <code>PATCH</code> request by specifying the <code>"relationships"</code> key, any or all of the relevant Relationships, and the list of desired related objects for each such Relationship. Since nested serializers are used for the related objects, they can be identified by ID (primary key) or by one or more attributes in a dictionary. For example, either of the following requests would be valid:</p>
3891
- <div class="highlight"><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a><span class="p">{</span>
3892
- <a id="__codelineno-27-2" name="__codelineno-27-2" href="#__codelineno-27-2"></a><span class="w"> </span><span class="nt">&quot;relationships&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3893
- <a id="__codelineno-27-3" name="__codelineno-27-3" href="#__codelineno-27-3"></a><span class="w"> </span><span class="nt">&quot;site-to-vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3894
- <a id="__codelineno-27-4" name="__codelineno-27-4" href="#__codelineno-27-4"></a><span class="w"> </span><span class="nt">&quot;destination&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3895
- <a id="__codelineno-27-5" name="__codelineno-27-5" href="#__codelineno-27-5"></a><span class="w"> </span><span class="nt">&quot;objects&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
3896
- <a id="__codelineno-27-6" name="__codelineno-27-6" href="#__codelineno-27-6"></a><span class="w"> </span><span class="p">{</span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;blue&quot;</span><span class="p">}</span>
3897
- <a id="__codelineno-27-7" name="__codelineno-27-7" href="#__codelineno-27-7"></a><span class="w"> </span><span class="p">]</span>
3898
- <a id="__codelineno-27-8" name="__codelineno-27-8" href="#__codelineno-27-8"></a><span class="w"> </span><span class="p">}</span>
3899
- <a id="__codelineno-27-9" name="__codelineno-27-9" href="#__codelineno-27-9"></a><span class="w"> </span><span class="p">},</span>
3900
- <a id="__codelineno-27-10" name="__codelineno-27-10" href="#__codelineno-27-10"></a><span class="w"> </span><span class="nt">&quot;vrfs-to-sites&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3901
- <a id="__codelineno-27-11" name="__codelineno-27-11" href="#__codelineno-27-11"></a><span class="w"> </span><span class="nt">&quot;source&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3902
- <a id="__codelineno-27-12" name="__codelineno-27-12" href="#__codelineno-27-12"></a><span class="w"> </span><span class="nt">&quot;objects&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
3903
- <a id="__codelineno-27-13" name="__codelineno-27-13" href="#__codelineno-27-13"></a><span class="w"> </span><span class="p">{</span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;green&quot;</span><span class="p">},</span>
3904
- <a id="__codelineno-27-14" name="__codelineno-27-14" href="#__codelineno-27-14"></a><span class="w"> </span><span class="p">{</span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;red&quot;</span><span class="p">},</span>
3905
- <a id="__codelineno-27-15" name="__codelineno-27-15" href="#__codelineno-27-15"></a><span class="w"> </span><span class="p">]</span>
3906
- <a id="__codelineno-27-16" name="__codelineno-27-16" href="#__codelineno-27-16"></a><span class="w"> </span><span class="p">}</span>
3907
- <a id="__codelineno-27-17" name="__codelineno-27-17" href="#__codelineno-27-17"></a><span class="w"> </span><span class="p">}</span>
3908
- <a id="__codelineno-27-18" name="__codelineno-27-18" href="#__codelineno-27-18"></a><span class="w"> </span><span class="p">}</span>
3909
- <a id="__codelineno-27-19" name="__codelineno-27-19" href="#__codelineno-27-19"></a><span class="p">}</span>
5286
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-31-1" name="__codelineno-31-1" href="#__codelineno-31-1"></a><span class="p">{</span>
5287
+ <a id="__codelineno-31-2" name="__codelineno-31-2" href="#__codelineno-31-2"></a><span class="w"> </span><span class="nt">&quot;relationships&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5288
+ <a id="__codelineno-31-3" name="__codelineno-31-3" href="#__codelineno-31-3"></a><span class="w"> </span><span class="nt">&quot;site-to-vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5289
+ <a id="__codelineno-31-4" name="__codelineno-31-4" href="#__codelineno-31-4"></a><span class="w"> </span><span class="nt">&quot;destination&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5290
+ <a id="__codelineno-31-5" name="__codelineno-31-5" href="#__codelineno-31-5"></a><span class="w"> </span><span class="nt">&quot;objects&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
5291
+ <a id="__codelineno-31-6" name="__codelineno-31-6" href="#__codelineno-31-6"></a><span class="w"> </span><span class="p">{</span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;blue&quot;</span><span class="p">}</span>
5292
+ <a id="__codelineno-31-7" name="__codelineno-31-7" href="#__codelineno-31-7"></a><span class="w"> </span><span class="p">]</span>
5293
+ <a id="__codelineno-31-8" name="__codelineno-31-8" href="#__codelineno-31-8"></a><span class="w"> </span><span class="p">}</span>
5294
+ <a id="__codelineno-31-9" name="__codelineno-31-9" href="#__codelineno-31-9"></a><span class="w"> </span><span class="p">},</span>
5295
+ <a id="__codelineno-31-10" name="__codelineno-31-10" href="#__codelineno-31-10"></a><span class="w"> </span><span class="nt">&quot;vrfs-to-sites&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5296
+ <a id="__codelineno-31-11" name="__codelineno-31-11" href="#__codelineno-31-11"></a><span class="w"> </span><span class="nt">&quot;source&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5297
+ <a id="__codelineno-31-12" name="__codelineno-31-12" href="#__codelineno-31-12"></a><span class="w"> </span><span class="nt">&quot;objects&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
5298
+ <a id="__codelineno-31-13" name="__codelineno-31-13" href="#__codelineno-31-13"></a><span class="w"> </span><span class="p">{</span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;green&quot;</span><span class="p">},</span>
5299
+ <a id="__codelineno-31-14" name="__codelineno-31-14" href="#__codelineno-31-14"></a><span class="w"> </span><span class="p">{</span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;red&quot;</span><span class="p">},</span>
5300
+ <a id="__codelineno-31-15" name="__codelineno-31-15" href="#__codelineno-31-15"></a><span class="w"> </span><span class="p">]</span>
5301
+ <a id="__codelineno-31-16" name="__codelineno-31-16" href="#__codelineno-31-16"></a><span class="w"> </span><span class="p">}</span>
5302
+ <a id="__codelineno-31-17" name="__codelineno-31-17" href="#__codelineno-31-17"></a><span class="w"> </span><span class="p">}</span>
5303
+ <a id="__codelineno-31-18" name="__codelineno-31-18" href="#__codelineno-31-18"></a><span class="w"> </span><span class="p">}</span>
5304
+ <a id="__codelineno-31-19" name="__codelineno-31-19" href="#__codelineno-31-19"></a><span class="p">}</span>
3910
5305
  </code></pre></div>
3911
- <div class="highlight"><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a><span class="p">{</span>
3912
- <a id="__codelineno-28-2" name="__codelineno-28-2" href="#__codelineno-28-2"></a><span class="w"> </span><span class="nt">&quot;relationships&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3913
- <a id="__codelineno-28-3" name="__codelineno-28-3" href="#__codelineno-28-3"></a><span class="w"> </span><span class="nt">&quot;site-to-vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3914
- <a id="__codelineno-28-4" name="__codelineno-28-4" href="#__codelineno-28-4"></a><span class="w"> </span><span class="nt">&quot;destination&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
3915
- <a id="__codelineno-28-5" name="__codelineno-28-5" href="#__codelineno-28-5"></a><span class="w"> </span><span class="nt">&quot;objects&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;3e3c58f9-4f63-44ba-acee-f0c42430eba7&quot;</span><span class="p">]</span>
3916
- <a id="__codelineno-28-6" name="__codelineno-28-6" href="#__codelineno-28-6"></a><span class="w"> </span><span class="p">}</span>
3917
- <a id="__codelineno-28-7" name="__codelineno-28-7" href="#__codelineno-28-7"></a><span class="w"> </span><span class="p">}</span>
3918
- <a id="__codelineno-28-8" name="__codelineno-28-8" href="#__codelineno-28-8"></a><span class="w"> </span><span class="p">}</span>
3919
- <a id="__codelineno-28-9" name="__codelineno-28-9" href="#__codelineno-28-9"></a><span class="p">}</span>
5306
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-32-1" name="__codelineno-32-1" href="#__codelineno-32-1"></a><span class="p">{</span>
5307
+ <a id="__codelineno-32-2" name="__codelineno-32-2" href="#__codelineno-32-2"></a><span class="w"> </span><span class="nt">&quot;relationships&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5308
+ <a id="__codelineno-32-3" name="__codelineno-32-3" href="#__codelineno-32-3"></a><span class="w"> </span><span class="nt">&quot;site-to-vrf&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5309
+ <a id="__codelineno-32-4" name="__codelineno-32-4" href="#__codelineno-32-4"></a><span class="w"> </span><span class="nt">&quot;destination&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
5310
+ <a id="__codelineno-32-5" name="__codelineno-32-5" href="#__codelineno-32-5"></a><span class="w"> </span><span class="nt">&quot;objects&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&quot;3e3c58f9-4f63-44ba-acee-f0c42430eba7&quot;</span><span class="p">]</span>
5311
+ <a id="__codelineno-32-6" name="__codelineno-32-6" href="#__codelineno-32-6"></a><span class="w"> </span><span class="p">}</span>
5312
+ <a id="__codelineno-32-7" name="__codelineno-32-7" href="#__codelineno-32-7"></a><span class="w"> </span><span class="p">}</span>
5313
+ <a id="__codelineno-32-8" name="__codelineno-32-8" href="#__codelineno-32-8"></a><span class="w"> </span><span class="p">}</span>
5314
+ <a id="__codelineno-32-9" name="__codelineno-32-9" href="#__codelineno-32-9"></a><span class="p">}</span>
3920
5315
  </code></pre></div>
3921
5316
  <div class="admonition note">
3922
5317
  <p class="admonition-title">Note</p>
3923
5318
  <p>Relationship slugs can be omitted from the <code>"relationships"</code> dictionary, in which case the associations for that Relationship will be left unmodified. In the second example above, the existing association for the <code>"site-to-vrf"</code> Relationship would be replaced, but the <code>"vrfs-to-sites"</code> Relationship's associations would remain as-is.</p>
3924
5319
  </div>
3925
5320
  <h3 id="updating-multiple-objects">Updating Multiple Objects<a class="headerlink" href="#updating-multiple-objects" title="Permanent link">&para;</a></h3>
3926
- <p>Multiple objects can be updated simultaneously by issuing a <code>PUT</code> or <code>PATCH</code> request to a model's list endpoint with a list of dictionaries specifying the UUID of each object to be deleted and the attributes to be updated. For example, to update sites with UUIDs 18de055e-3ea9-4cc3-ba78-b7eef6f0d589 and 1a414273-3d68-4586-ba22-6ae0a5702b8f to a status of "active", issue the following request:</p>
3927
- <div class="highlight"><pre><span></span><code><a id="__codelineno-29-1" name="__codelineno-29-1" href="#__codelineno-29-1"></a>curl -s -X PATCH \
3928
- <a id="__codelineno-29-2" name="__codelineno-29-2" href="#__codelineno-29-2"></a>-H &quot;Authorization: Token $TOKEN&quot; \
3929
- <a id="__codelineno-29-3" name="__codelineno-29-3" href="#__codelineno-29-3"></a>-H &quot;Content-Type: application/json&quot; \
3930
- <a id="__codelineno-29-4" name="__codelineno-29-4" href="#__codelineno-29-4"></a>-H &quot;Accept: application/json; version=1.3&quot; \
3931
- <a id="__codelineno-29-5" name="__codelineno-29-5" href="#__codelineno-29-5"></a>http://nautobot/api/dcim/sites/ \
3932
- <a id="__codelineno-29-6" name="__codelineno-29-6" href="#__codelineno-29-6"></a>--data &#39;[{&quot;id&quot;: &quot;18de055e-3ea9-4cc3-ba78-b7eef6f0d589&quot;, &quot;status&quot;: &quot;active&quot;}, {&quot;id&quot;: &quot;1a414273-3d68-4586-ba22-6ae0a5702b8f&quot;, &quot;status&quot;: &quot;active&quot;}]&#39;
5321
+ <p>Multiple objects can be updated simultaneously by issuing a <code>PUT</code> or <code>PATCH</code> request to a model's list endpoint with a list of dictionaries specifying the UUID of each object to be deleted and the attributes to be updated. For example, to update sites with UUIDs 18de055e-3ea9-4cc3-ba78-b7eef6f0d589 and 1a414273-3d68-4586-ba22-6ae0a5702b8f to a status of "Active", issue the following request:</p>
5322
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-33-1" name="__codelineno-33-1" href="#__codelineno-33-1"></a>curl -s -X PATCH \
5323
+ <a id="__codelineno-33-2" name="__codelineno-33-2" href="#__codelineno-33-2"></a>-H &quot;Authorization: Token $TOKEN&quot; \
5324
+ <a id="__codelineno-33-3" name="__codelineno-33-3" href="#__codelineno-33-3"></a>-H &quot;Content-Type: application/json&quot; \
5325
+ <a id="__codelineno-33-4" name="__codelineno-33-4" href="#__codelineno-33-4"></a>-H &quot;Accept: application/json; version=2.0&quot; \
5326
+ <a id="__codelineno-33-5" name="__codelineno-33-5" href="#__codelineno-33-5"></a>http://nautobot/api/dcim/sites/ \
5327
+ <a id="__codelineno-33-6" name="__codelineno-33-6" href="#__codelineno-33-6"></a>--data &#39;[{&quot;id&quot;: &quot;18de055e-3ea9-4cc3-ba78-b7eef6f0d589&quot;, &quot;status&quot;: {&quot;name&quot;: &quot;Active&quot;}}, {&quot;id&quot;: &quot;1a414273-3d68-4586-ba22-6ae0a5702b8f&quot;, &quot;status&quot;: {&quot;name&quot;: &quot;Active&quot;}}]&#39;
3933
5328
  </code></pre></div>
3934
5329
  <p>Note that there is no requirement for the attributes to be identical among objects. For instance, it's possible to update the status of one site along with the name of another in the same request.</p>
3935
5330
  <div class="admonition note">
@@ -3938,10 +5333,10 @@
3938
5333
  </div>
3939
5334
  <h3 id="deleting-an-object">Deleting an Object<a class="headerlink" href="#deleting-an-object" title="Permanent link">&para;</a></h3>
3940
5335
  <p>To delete an object from Nautobot, make a <code>DELETE</code> request to the model's <em>detail</em> endpoint specifying its UUID. The <code>Authorization</code> header must be included to specify an authorization token, however this type of request does not support passing any data in the body.</p>
3941
- <div class="highlight"><pre><span></span><code><a id="__codelineno-30-1" name="__codelineno-30-1" href="#__codelineno-30-1"></a>curl -s -X DELETE \
3942
- <a id="__codelineno-30-2" name="__codelineno-30-2" href="#__codelineno-30-2"></a>-H &quot;Authorization: Token $TOKEN&quot; \
3943
- <a id="__codelineno-30-3" name="__codelineno-30-3" href="#__codelineno-30-3"></a>-H &quot;Accept: application/json; version=1.3&quot; \
3944
- <a id="__codelineno-30-4" name="__codelineno-30-4" href="#__codelineno-30-4"></a>http://nautobot/api/ipam/prefixes/48df6965-0fcb-4155-b5f8-00fe8b9b01af/
5336
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-34-1" name="__codelineno-34-1" href="#__codelineno-34-1"></a>curl -s -X DELETE \
5337
+ <a id="__codelineno-34-2" name="__codelineno-34-2" href="#__codelineno-34-2"></a>-H &quot;Authorization: Token $TOKEN&quot; \
5338
+ <a id="__codelineno-34-3" name="__codelineno-34-3" href="#__codelineno-34-3"></a>-H &quot;Accept: application/json; version=2.0&quot; \
5339
+ <a id="__codelineno-34-4" name="__codelineno-34-4" href="#__codelineno-34-4"></a>http://nautobot/api/ipam/prefixes/48df6965-0fcb-4155-b5f8-00fe8b9b01af/
3945
5340
  </code></pre></div>
3946
5341
  <p>Note that <code>DELETE</code> requests do not return any data: If successful, the API will return a 204 (No Content) response.</p>
3947
5342
  <div class="admonition note">
@@ -3950,12 +5345,12 @@
3950
5345
  </div>
3951
5346
  <h3 id="deleting-multiple-objects">Deleting Multiple Objects<a class="headerlink" href="#deleting-multiple-objects" title="Permanent link">&para;</a></h3>
3952
5347
  <p>Nautobot supports the simultaneous deletion of multiple objects of the same type by issuing a <code>DELETE</code> request to the model's list endpoint with a list of dictionaries specifying the UUID of each object to be deleted. For example, to delete sites with UUIDs 18de055e-3ea9-4cc3-ba78-b7eef6f0d589, 1a414273-3d68-4586-ba22-6ae0a5702b8f, and c2516019-caf6-41f0-98a6-4276c1a73fa3, issue the following request:</p>
3953
- <div class="highlight"><pre><span></span><code><a id="__codelineno-31-1" name="__codelineno-31-1" href="#__codelineno-31-1"></a>curl -s -X DELETE \
3954
- <a id="__codelineno-31-2" name="__codelineno-31-2" href="#__codelineno-31-2"></a>-H &quot;Authorization: Token $TOKEN&quot; \
3955
- <a id="__codelineno-31-3" name="__codelineno-31-3" href="#__codelineno-31-3"></a>-H &quot;Content-Type: application/json&quot; \
3956
- <a id="__codelineno-31-4" name="__codelineno-31-4" href="#__codelineno-31-4"></a>-H &quot;Accept: application/json; version=1.3&quot; \
3957
- <a id="__codelineno-31-5" name="__codelineno-31-5" href="#__codelineno-31-5"></a>http://nautobot/api/dcim/sites/ \
3958
- <a id="__codelineno-31-6" name="__codelineno-31-6" href="#__codelineno-31-6"></a>--data &#39;[{&quot;id&quot;: &quot;18de055e-3ea9-4cc3-ba78-b7eef6f0d589&quot;}, {&quot;id&quot;: &quot;1a414273-3d68-4586-ba22-6ae0a5702b8f&quot;}, {&quot;id&quot;: &quot;c2516019-caf6-41f0-98a6-4276c1a73fa3&quot;}]&#39;
5348
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-35-1" name="__codelineno-35-1" href="#__codelineno-35-1"></a>curl -s -X DELETE \
5349
+ <a id="__codelineno-35-2" name="__codelineno-35-2" href="#__codelineno-35-2"></a>-H &quot;Authorization: Token $TOKEN&quot; \
5350
+ <a id="__codelineno-35-3" name="__codelineno-35-3" href="#__codelineno-35-3"></a>-H &quot;Content-Type: application/json&quot; \
5351
+ <a id="__codelineno-35-4" name="__codelineno-35-4" href="#__codelineno-35-4"></a>-H &quot;Accept: application/json; version=2.0&quot; \
5352
+ <a id="__codelineno-35-5" name="__codelineno-35-5" href="#__codelineno-35-5"></a>http://nautobot/api/dcim/sites/ \
5353
+ <a id="__codelineno-35-6" name="__codelineno-35-6" href="#__codelineno-35-6"></a>--data &#39;[{&quot;id&quot;: &quot;18de055e-3ea9-4cc3-ba78-b7eef6f0d589&quot;}, {&quot;id&quot;: &quot;1a414273-3d68-4586-ba22-6ae0a5702b8f&quot;}, {&quot;id&quot;: &quot;c2516019-caf6-41f0-98a6-4276c1a73fa3&quot;}]&#39;
3959
5354
  </code></pre></div>
3960
5355
  <div class="admonition note">
3961
5356
  <p class="admonition-title">Note</p>