Important
This documentation space contains information about the on-premises version of BMC Helix Discovery. If you are using the SaaS version of BMC Helix Discovery, see BMC Helix Discovery (SaaS).
Endpoints in the REST API
This version of BMC Discovery supports versions 1.13 of the REST API and earlier. Higher versions are always backwards compatible with earlier versions.
The base URL for the latest API version is:
https://appliance_name/api/v1.13
{ "openapi": "3.0.1", "tags": [ { "name": "admin", "description": "Manage the BMC Discovery instance" }, { "name": "credentials", "description": "Manage credentials. Index is used to order credentials, lower to higher." }, { "name": "data", "description": "Read and import data" }, { "name": "discovery", "description": "Control scanning and view results" }, { "name": "events", "description": "Push events" }, { "name": "kerberos", "description": "Manage Kerberos resources" }, { "name": "knowledge", "description": "Upload new TKUs and pattern modules" }, { "name": "models", "description": "Manage service and application models" }, { "name": "security", "description": "Manage security" }, { "name": "taxonomy", "description": "Retrieve taxonomy data" }, { "name": "topology", "description": "Retrieve topology data from the datastore" }, { "name": "vault", "description": "Manage the credential vault" } ], "paths": { "/admin/instance": { "get": { "summary": "Get appliance/instance details.", "description": "`New in version 1.13`", "operationId": "getInstanceInfo", "tags": [ "admin" ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/instanceInfo" } } } } } }, "patch": { "summary": "Update appliance/instance info.", "description": "`New in version 1.13`", "operationId": "updateInstanceInfo", "tags": [ "admin" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/instanceInfo" } } }, "required": true }, "responses": { "200": { "description": "successful operation" }, "400": { "description": "Error bad request" } }, "x-codegen-request-body-name": "body" } }, "/admin/about": { "get": { "tags": [ "admin" ], "summary": "Get basic information about the instance", "description": "Get information about the instance, like its version and versions of the installed packages.\n\n`New in version 1.1`", "operationId": "getAboutInfo", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/about" } } } } } } }, "/admin/cluster": { "get": { "tags": [ "admin" ], "summary": "Get the current state of the BMC Discovery cluster", "description": "Get details of the BMC Discovery cluster, optionally including resource usage and/or departed members.\n\n`New in version 1.13`", "parameters": [ { "name": "usage", "in": "query", "description": "Include resource usage per cluster member", "schema": { "type": "boolean", "default": false } }, { "name": "departed", "in": "query", "description": "Include departed cluster members", "schema": { "type": "boolean", "default": false } } ], "operationId": "getClusterInfo", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/clusterInfo" } } } }, "503": { "description": "cluster service unavailable" } } }, "patch": { "summary": "Change the BMC Discovery cluster state", "description": "Change the BMC Discovery cluster state, including add new members, remove members, changes in fault tolerance.\n\n`New in version 1.13`", "operationId": "patchClusterState", "tags": [ "admin" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/clusterState" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "required": [ "local_restart", "status_page_uri", "status_data_uri" ], "properties": { "local_restart": { "type": "boolean", "description": "If true local services are being restart as a result of the changes applied" }, "status_page_uri": { "type": "string", "description": "Offline status page URI" }, "status_data_uri": { "type": "string", "description": "Offline status data URI" } } } } } }, "409": { "description": "conflicting changes", "content": { "application/json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/clusterConflictingChanges" }, { "$ref": "#/components/schemas/clusterAddFailures" }, { "$ref": "#/components/schemas/clusterRemoveFailures" } ] } } } }, "503": { "description": "cluster service unavailable" } }, "x-codegen-request-body-name": "body" } }, "/admin/baseline": { "get": { "tags": [ "admin" ], "summary": "Get the current status of the BMC Discovery appliance baseline", "description": "Get a summary of the appliance status, and details of which baseline checks have passed or failed.\n\n`New in version 1.1`", "operationId": "getBaselineStatus", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/baselineStatus" } } } } } }, "patch": { "tags": [ "admin" ], "summary": "Set baseline checks severities or enable/disable checks.", "description": "Set baseline checks severities or enable/disable checks.\n\n`New in version 1.13`", "operationId": "setBaselineChecks", "responses": { "200": { "description": "successful operation" }, "400": { "description": "Missing or invalid parameters", "content": {} } }, "requestBody": { "description": "Baseline checks configuration", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/baselinePatch" } } }, "required": true } }, "post": { "tags": [ "admin" ], "summary": "Initiate check of the BMC Discovery appliance baseline", "description": "Initiate checks of the appliance status, and details of which baseline checks have passed or failed.\n\n`New in version 1.13`", "operationId": "runBaselineChecks", "responses": { "200": { "description": "successful operation" } } } }, "/admin/licensing": { "get": { "tags": [ "admin" ], "summary": "Get the latest signed licensing report in plain text", "description": "`New in version 1.1`", "parameters": [ { "name": "type", "in": "query", "description": "License report type (available from version 1.8)", "schema": { "type": "string", "default": "discovery" } } ], "responses": { "200": { "description": "successful operation", "content": { "text/plain": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/admin/licensing/csv": { "get": { "tags": [ "admin" ], "summary": "Get (anonymized) license data in csv format as a zip file", "description": "Download raw license data in CSV format as a zip file for offline analysis.\n\n`New in version 1.1`", "parameters": [ { "name": "type", "in": "query", "description": "License report type (available from version 1.8)", "schema": { "type": "string", "default": "discovery" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/zip": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/admin/licensing/raw": { "get": { "tags": [ "admin" ], "summary": "Get encrypted raw license data as a zip file", "description": "Download the encrypted raw license data on this instance for import on another instance.\n\n`New in version 1.1`", "parameters": [ { "name": "type", "in": "query", "description": "License report type (available from version 1.8)", "schema": { "type": "string", "default": "discovery" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/zip": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/admin/organizations": { "get": { "summary": "Get Organizations.", "description": "Get Organizations.\n\n`New in version 1.10`", "operationId": "getOrganizations", "tags": [ "admin" ], "parameters": [ { "name": "filter_orgs", "in": "query", "description": "Filter by user accessible organizations.", "required": false, "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/organizationData" } } } } } } } }, "/admin/preferences": { "get": { "tags": [ "admin" ], "summary": "Get the application preferences", "description": "Get the application preferences for the authenticated user.\n\n`New in version 1.6`", "operationId": "getApplicationPreferences", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/applicationPreferences" } } } } } }, "patch": { "summary": "Change the application preferences", "description": "Change the application preferences for the authenticated user.\n\n`New in version 1.9`", "operationId": "patchApplicationPreferences", "tags": [ "admin" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/applicationPreferences" } } }, "required": true }, "responses": { "200": { "description": "successful operation" } }, "x-codegen-request-body-name": "body" } }, "/admin/builtin_reports": { "get": { "tags": [ "admin" ], "summary": "Get the list of builtin reports", "description": "Get the list of builtin reports and their reports (and other sub-elements).\n\n`New in version 1.10`", "operationId": "getBuiltinReportsList", "parameters": [ { "name": "get_elements", "in": "query", "description": "Whether to populate the response elements or not", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/customReportsList" } } } } } } } }, "/admin/builtin_reports/{key}": { "get": { "tags": [ "admin" ], "summary": "Get builtin reports", "description": "Get the .\n\n`New in version 1.10`", "operationId": "getBuiltinReports", "parameters": [ { "name": "key", "in": "path", "description": "Builtin reports key", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/customReports" } } } } } } }, "/admin/custom_reports": { "post": { "summary": "Upload custom reports", "description": "Upload new custom reports, or replace the current custom reports with a new version.\n\n`New in version 1.10`", "operationId": "uploadCustomReports", "tags": [ "admin" ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/customReportsUpload" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "string", "description": "The key of the new custom reports node" } } } } }, "x-codegen-request-body-name": "body" }, "get": { "tags": [ "admin" ], "summary": "Get the list of custom reports", "description": "Get the list of custom reports and their reports (and other sub-elements).\n\n`New in version 1.10`", "operationId": "getCustomReportsList", "parameters": [ { "name": "get_elements", "in": "query", "description": "Whether to populate the response elements or not", "schema": { "type": "boolean" } }, { "name": "get_channels", "in": "query", "description": "Whether to get the custom channels or not (default false)", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/customReportsList" } } } } } } } }, "/admin/custom_reports/{key}": { "get": { "tags": [ "admin" ], "summary": "Get custom reports", "description": "Get the .\n\n`New in version 1.10`", "operationId": "getCustomReports", "parameters": [ { "name": "key", "in": "path", "description": "Custom reports key", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/customReports" } } } } } }, "delete": { "tags": [ "admin" ], "summary": "Delete custom reports", "description": "Delete the custom reports identified by the key.\n\n`New in version 1.10`", "operationId": "deleteCustomReports", "parameters": [ { "name": "key", "in": "path", "description": "Custom reports key", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation" } } } }, "/admin/consolidation": { "get": { "summary": "Get status and Discovery instance details", "description": "Get status and Discovery instance details.\n\n`New in version 1.13`", "operationId": "getConsolidationStatus", "tags": [ "admin" ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/consolidation" } } } } } }, "patch": { "summary": "Enable or disable consolidation.", "description": "Turning on consolidation sets up Consolidation and Discovery Sync so they can become either a sender or a receiver of ddd or inferred data. They will only be classed as being a sender or receiver after registrations have been configured. Turning off consolidation clears all registrations.\n\n`New in version 1.13`", "operationId": "updateConsolidationEnabled", "tags": [ "admin" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/consolidationUpdate" } } }, "required": true }, "responses": { "200": { "description": "successful operation" }, "400": { "description": "Error bad request", "content": {} } }, "x-codegen-request-body-name": "body" } }, "/admin/consolidation/receivers": { "get": { "summary": "Get list of receiver systems (both ddd and inferred). Optional filter by type.", "description": "Get list of receiver systems.\n\n`New in version 1.13`", "operationId": "getConsolidationReceivers", "tags": [ "admin" ], "parameters": [ { "name": "type", "in": "query", "description": "Optional filter by type.", "required": false, "schema": { "type": "string", "enum": [ "ddd", "inferred" ] } }, { "name": "status", "in": "query", "description": "Optionally ask for status information for all receivers. This only applies to inferred receivers.", "required": false, "schema": { "type": "boolean" } }, { "name": "limit", "in": "query", "description": "Optional limit on the number of warnings and errors returned.", "required": false, "schema": { "maximum": 1000, "minimum": 0, "type": "integer", "default": 50 } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/consolidationReceiver" } } } } } } }, "post": { "summary": "Register with a receiver system.", "description": "`New in version 1.13`", "operationId": "registerWithConsolidationReceiver", "tags": [ "admin" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/registerReceiver" } } }, "required": true }, "responses": { "200": { "description": "successful operation" }, "400": { "description": "Error bad request", "content": {} } }, "x-codegen-request-body-name": "body" } }, "/admin/consolidation/receivers/{receiver_id}": { "patch": { "summary": "Pause/Unpause sync with receiver system or update location of receiver system.", "description": "Pause/Unpause only applicable for an inferred receiver.\n\n`New in version 1.13`", "operationId": "updateConsolidationReceiver", "tags": [ "admin" ], "parameters": [ { "name": "receiver_id", "in": "path", "description": "Receiver id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/updateReceiver" } } }, "required": true }, "responses": { "200": { "description": "successful operation" }, "400": { "description": "Error bad request", "content": {} } }, "x-codegen-request-body-name": "body" }, "delete": { "summary": "Unregister from receiver system.", "description": "`New in version 1.13`", "operationId": "unregisterFromConsolidationReceiver", "tags": [ "admin" ], "parameters": [ { "name": "receiver_id", "in": "path", "description": "Receiver id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation" }, "400": { "description": "Error bad request", "content": {} } } } }, "/admin/consolidation/receivers/{receiver_id}/counts": { "get": { "summary": "Get receiver system counts.", "description": "Get receiver system counts.\n\n`New in version 1.13`", "operationId": "getConsolidationReceiverCounts", "tags": [ "admin" ], "parameters": [ { "name": "receiver_id", "in": "path", "description": "Receiver id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/receiversCount" } } } }, "400": { "description": "Error bad request", "content": {} } } }, "delete": { "summary": "Reset receiver system counts.", "description": "`New in version 1.13`", "operationId": "resetConsolidationReceiverCounts", "tags": [ "admin" ], "parameters": [ { "name": "receiver_id", "in": "path", "description": "Receiver id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation" }, "400": { "description": "Error bad request", "content": {} } } } }, "/admin/consolidation/receivers/{receiver_id}/resync": { "post": { "summary": "Start resync with receiver system status.", "description": "Start resync.\n\n`New in version 1.13`", "operationId": "startConsolidationResync", "tags": [ "admin" ], "parameters": [ { "name": "receiver_id", "in": "path", "description": "Receiver id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "string", "description": "The id of the resync." } } } }, "400": { "description": "Error bad request", "content": {} } } } }, "/admin/consolidation/receivers/{receiver_id}/resync/{resync_id}": { "get": { "summary": "Get status of resync with receiver system.", "description": "Get resync status.\n\n`New in version 1.13`", "operationId": "getConsolidationResyncStatus", "tags": [ "admin" ], "parameters": [ { "name": "receiver_id", "in": "path", "description": "Receiver id", "required": true, "schema": { "type": "string" } }, { "name": "resync_id", "in": "path", "description": "Resync id", "required": true, "schema": { "type": "string" } }, { "name": "limit", "in": "query", "description": "Optional limit on the number of warnings and errors returned.", "required": false, "schema": { "maximum": 1000, "minimum": 0, "type": "integer", "default": 50 } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/resyncStatus" } } } }, "400": { "description": "Error bad request", "content": {} } } }, "patch": { "summary": "Abort or resume resync with receiver system status.", "description": "`New in version 1.13`", "operationId": "abortOrResumeConsolidationResync", "tags": [ "admin" ], "parameters": [ { "name": "receiver_id", "in": "path", "description": "Receiver id", "required": true, "schema": { "type": "string" } }, { "name": "resync_id", "in": "path", "description": "Resync id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/abortStatus" } } }, "required": true }, "responses": { "200": { "description": "successful operation" }, "400": { "description": "Error bad request", "content": {} } } } }, "/admin/consolidation/senders": { "get": { "summary": "Get list of sender systems (both ddd and inferred). Optional filter by type.", "description": "Get list of sender systems.\n\n`New in version 1.13`", "operationId": "getConsolidationSenders", "tags": [ "admin" ], "parameters": [ { "name": "type", "in": "query", "description": "Optional filter by type.", "required": false, "schema": { "type": "string", "enum": [ "ddd", "inferred" ] } }, { "name": "status", "in": "query", "description": "Optionally ask for status information for all senders.", "required": false, "schema": { "type": "boolean" } }, { "name": "limit", "in": "query", "description": "Optional limit on the number of warnings and errors returned.", "required": false, "schema": { "maximum": 1000, "minimum": 0, "type": "integer", "default": 50 } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/consolidationSender" } } } } } } } }, "/admin/consolidation/senders/{sender_id}": { "patch": { "summary": "Approve sender system.", "description": "`New in version 1.13`", "operationId": "approveConsolidationSender", "tags": [ "admin" ], "parameters": [ { "name": "sender_id", "in": "path", "description": "Sender id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/approveSenders" } } }, "required": true }, "responses": { "200": { "description": "successful operation" }, "400": { "description": "Error bad request", "content": {} } }, "x-codegen-request-body-name": "body" }, "delete": { "summary": "Release or reject sender system.", "description": "`New in version 1.13`", "operationId": "releaseConsolidationSender", "tags": [ "admin" ], "parameters": [ { "name": "sender_id", "in": "path", "description": "Sender id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation" }, "400": { "description": "Error bad request", "content": {} } } } }, "/admin/consolidation/senders/{sender_id}/counts": { "get": { "summary": "Get sender system counts.", "description": "Only needed for inferred receiver.\n\n`New in version 1.13`", "operationId": "getConsolidationSenderCounts", "tags": [ "admin" ], "parameters": [ { "name": "sender_id", "in": "path", "description": "Sender id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/sendersCount" } } } }, "400": { "description": "Error bad request", "content": {} } } }, "delete": { "summary": "Reset sender system counts.", "description": "`New in version 1.13`", "operationId": "resetConsolidationSenderCounts", "tags": [ "admin" ], "parameters": [ { "name": "sender_id", "in": "path", "description": "Sender id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation" }, "400": { "description": "Error bad request", "content": {} } } } }, "/admin/consolidation/http_proxy": { "get": { "summary": "Get HTTP proxy details.", "description": "`New in version 1.13`", "operationId": "getConsolidationHttpProxy", "tags": [ "admin" ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/httpProxyDetails" } } } } } }, "put": { "summary": "Set HTTP proxy.", "description": "`New in version 1.13`", "operationId": "setConsolidationHttpProxy", "tags": [ "admin" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/httpProxyInput" } } }, "required": true }, "responses": { "200": { "description": "successful operation" }, "400": { "description": "Error bad request", "content": {} } } }, "delete": { "summary": "Clear HTTP proxy details.", "description": "`New in version 1.13`", "operationId": "clearConsolidationHttpProxy", "tags": [ "admin" ], "responses": { "200": { "description": "successful operation" } } } }, "/admin/smtp": { "get": { "tags": [ "admin" ], "summary": "Get SMTP configuration", "description": "Get SMTP configuration. \n\n `New in version 1.13`", "operationId": "getSMTPConfig", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/smtpConfigGet" } } } } } }, "patch": { "tags": [ "admin" ], "summary": "Patch SMTP configuration", "description": "Patch SMTP configuration. \n\n `New in version 1.13`", "operationId": "patchSMTPConfig", "requestBody": { "description": "SMTP Server configuration", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/smtpConfigPatch" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/smtpConfigPatch" } } } } } } }, "/admin/upgrade": { "get": { "tags": [ "admin" ], "summary": "Get upgrade information", "description": "Get status of upgrade\n\n`New in version 1.13`", "operationId": "getUpgradeStatus", "responses": { "200": { "description": "Status of upgrade", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/upgradeStatus" } } } } } }, "post": { "tags": [ "admin" ], "summary": "Start upgrade", "description": "Start upgrade.\n\n`New in version 1.13`", "operationId": "postUpgrade", "responses": { "202": { "description": "Upgrade successfully started", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/upgradeStatus" } } } }, "400": { "description": "Upgrade preparing failed" } } } }, "/admin/upgrade/uploads": { "get": { "tags": [ "admin" ], "summary": "Get the list of uploaded upgrade archives", "description": "Get the list of uploaded upgrade archives\n\n`New in version 1.13`", "operationId": "getUploads", "responses": { "200": { "description": "Upgrade archives", "content": { "application/json": { "schema": { "type": "object", "properties": { "version": { "type": "string", "description": "Update version" }, "revision": { "type": "string", "description": "Revision number" }, "upgrade_type": { "type": "string", "description": "Upgrade type", "enum": [ "OS upgrade", "Discovery upgrade", "TKU" ] } } } } } } } }, "post": { "summary": "Upload upgrade archive to the instance", "description": "Upload upgrade archive to the instance. The body of the request should contain the upgrade archive file in multipart/form-data format (according to RFC 2388).\n\n`New in version 1.13`", "operationId": "postUploads", "tags": [ "admin" ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "type": "string", "description": "File to upload", "format": "binary" } } } } }, "required": true }, "responses": { "201": { "description": "successful operation", "content": {} }, "400": { "description": "invalid upload", "content": {} }, "500": { "description": "upload failed", "content": {} } } } }, "/admin/upgrade/uploads/{filename}": { "delete": { "tags": [ "admin" ], "summary": "Delete uploaded upgrade archive", "description": "Delete uploaded archive from upgrade folder.\n\n`New in version 1.13`", "operationId": "deleteUploads", "parameters": [ { "name": "filename", "in": "path", "description": "File Name", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "successful delete", "content": {} }, "400": { "description": "invalid file", "content": {} }, "404": { "description": "File does not exist", "content": {} } } } }, "/data/search": { "get": { "tags": [ "data" ], "summary": "Search the data", "description": "Run a search query, receiving paginated results.", "operationId": "search", "parameters": [ { "name": "query", "in": "query", "description": "The search query to run, in BMC Discovery query language. If your query is too long to fit in a url, use `POST /data/search`", "required": true, "schema": { "type": "string" } }, { "name": "offset", "in": "query", "description": "The offset of the first item to return in this page of results.\n\nCan only be supplied if requesting results from an existing results set (by supplying a results_id).\n\nIf you want to retrieve all items in order, this field should usually take the value of the 'next_offset' from the previous page of results.", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "description": "Limits how many items to return in this page of results. Further items can be retrieved by making another request with a different offset.\n\nUse 0 to request the maximum allowed limit.\n\nCan vary from page to page.", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "description": "An opaque id that can be used to access a result set that has already been generated via a previous search request. Must be supplied if requesting an offset greater than 0.\n\nNote that even if retrieving results from an existing results set, the original query must be supplied in case the result set has timed out and the query needs to be re-run.\n\nThe results_id can be found in any page of results apart from the last one.", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "description": "Controls whether the result set is deleted or not before results are returned.\n\nResult sets are deleted automatically before the last page of results are returned, but setting this field to true on any page will delete the result set immediately.\n\nThis is an optimization to free resources if you don't plan on accessing any further pages of data. Alternatively, if set to false, automatic deletion of the result set will not happen (for this request).", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "As a search query may return multiple results sets of different kinds, the response is a list of results objects - one per kind", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResults" } } } } } } }, "post": { "tags": [ "data" ], "summary": "Search the data", "description": "An alternative to `GET /data/search`, for search queries which are too long for URLs.", "operationId": "searchByPost", "parameters": [ { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/searchQuery" } } }, "required": true }, "responses": { "200": { "description": "See notes on GET endpoint results", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResults" } } } } } }, "x-codegen-request-body-name": "body" } }, "/data/search?format=object": { "get": { "tags": [ "data" ], "summary": "Search the data", "description": "As `/data/search` but returns results as objects instead of rows of values.", "operationId": "search_asObject", "parameters": [ { "name": "query", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "As a search query may return multiple results sets of different kinds, the response is a list of results objects - one per kind", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResultsAsObjects" } } } } } } }, "post": { "tags": [ "data" ], "summary": "Search the data", "description": "An alternative to `GET /data/search?format=object`, for search queries which are too long for urls.", "operationId": "searchByPost_asObject", "parameters": [ { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/searchQuery" } } }, "required": true }, "responses": { "200": { "description": "See notes on GET endpoint results", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResultsAsObjects" } } } } } }, "x-codegen-request-body-name": "body" } }, "/data/search?format=tree": { "get": { "tags": [ "data" ], "summary": "Search the data", "description": "As `/data/search` but returns results as a tree of objects.\n\nIf actual_spec is true, wildcard traversals are expanded to include the full traversed spec, in the form @label.spec.\n\n`New in version 1.2; actual_spec added in version 1.8`", "operationId": "search_asTree", "parameters": [ { "name": "query", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "actual_spec", "in": "query", "schema": { "type": "boolean" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "As a search query may return multiple results sets of different kinds, the response is a list of results objects - one per kind", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResultsAsObjects" } } } } } } }, "post": { "tags": [ "data" ], "summary": "Search the data", "description": "An alternative to `GET /data/search?format=tree`, for search queries which are too long for urls.", "operationId": "searchByPost_asTree", "parameters": [ { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "actual_spec", "in": "query", "schema": { "type": "boolean" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/searchQuery" } } }, "required": true }, "responses": { "200": { "description": "See notes on GET endpoint results", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResultsAsObjects" } } } } } }, "x-codegen-request-body-name": "body" } }, "/data/condition": { "post": { "tags": [ "data" ], "summary": "Search using a condition, retrieving tabular data as arrays", "description": "`New in version 1.4`", "operationId": "searchCondition", "parameters": [ { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/searchConditions" } } }, "required": true }, "responses": { "200": { "description": "See notes on GET endpoint results", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResults" } } } } } }, "x-codegen-request-body-name": "body" } }, "/data/condition?format=object": { "post": { "tags": [ "data" ], "summary": "Search using a condition, returning results as objects", "description": "`New in version 1.4`", "operationId": "searchCondition_asObject", "parameters": [ { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/searchConditions" } } }, "required": true }, "responses": { "200": { "description": "See notes on GET endpoint results", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResultsAsObjects" } } } } } }, "x-codegen-request-body-name": "body" } }, "/data/condition?format=tree": { "post": { "tags": [ "data" ], "summary": "Search using a condition, returning results as a tree of objects", "description": "`New in version 1.4; actual_spec added in version 1.8`", "operationId": "searchCondition_asTree", "parameters": [ { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "actual_spec", "in": "query", "schema": { "type": "boolean" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/searchConditions" } } }, "required": true }, "responses": { "200": { "description": "See notes on GET endpoint results", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResultsAsObjects" } } } } } }, "x-codegen-request-body-name": "body" } }, "/data/condition/param_values": { "post": { "tags": [ "data" ], "summary": "Get possible parameter values for a condition", "description": "`New in version 1.4`", "operationId": "getParamValues", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/getParamValues" } } }, "required": true }, "responses": { "200": { "description": "Values and counts", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/getParamValuesResult" } } } } } }, "x-codegen-request-body-name": "body" } }, "/data/condition/params": { "post": { "tags": [ "data" ], "summary": "Get parameters for a condition", "description": "`New in version 1.13`", "operationId": "getParams", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/getParams" } } }, "required": true }, "responses": { "200": { "description": "Parameters", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/getParamsResult" } } } } } }, "x-codegen-request-body-name": "body" } }, "/data/condition/templates": { "get": { "tags": [ "data" ], "summary": "Get a list of all templates", "description": "Get a list of all available templates.\n\n`New in version 1.5`", "operationId": "getTemplates", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/templatesResponse" } } } } } } }, "/data/condition/templates/{template_id}": { "get": { "tags": [ "data" ], "summary": "Get the properties of a specific template", "description": "Get the properties of a specific template.\n\n`New in version 1.5`", "operationId": "getTemplate", "parameters": [ { "name": "template_id", "in": "path", "description": "The id of the template", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/templateNode" } } } } } } }, "/data/candidate": { "post": { "tags": [ "data" ], "summary": "Search for the best candidate node", "description": "`New in version 1.2 - added support for best candidate search.`", "operationId": "candidateByPost", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/candidateInput" } } }, "required": true }, "responses": { "200": { "description": "The node object of the best candidate based on the provided parameters.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/candidateResult" } } } } }, "x-codegen-request-body-name": "body" } }, "/data/candidates": { "post": { "tags": [ "data" ], "summary": "Search for the top candidate nodes", "description": "`New in version 1.2 - added support for top candidates search.`", "operationId": "candidatesByPost", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/candidateInput" } } }, "required": true }, "responses": { "200": { "description": "Enter parameters to identify a device, the response is a list of candidate nodes ordered by descending score", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/candidateResults" } } } } } }, "x-codegen-request-body-name": "body" } }, "/data/nodes/{node_id}": { "get": { "tags": [ "data" ], "summary": "Find a single node", "description": "Get the state of a node with specified id", "operationId": "getNode", "parameters": [ { "name": "node_id", "in": "path", "description": "ID of node to find", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/nodeResults" } } } } } } }, "/data/nodes/{node_id}?relationships=true": { "get": { "tags": [ "data" ], "summary": "Find a single node and its relationships", "description": "Get the state of a node with specified id, along with the traversal specs of all current relationships it has.", "operationId": "getNodeAndRelationships", "parameters": [ { "name": "node_id", "in": "path", "description": "ID of node to find", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/nodeResultsRels" } } } } } } }, "/data/nodes/{node_id}?traverse={traverse_spec}": { "get": { "tags": [ "data" ], "summary": "Find a single node and nodes related to it", "description": "Get the state of a node with specified id, along with the IDs of all nodes reached by following a traversal spec.", "operationId": "getNodeTraverse", "parameters": [ { "name": "node_id", "in": "path", "description": "ID of node to find", "required": true, "schema": { "type": "string" } }, { "name": "traverse_spec", "in": "path", "description": "A traversal spec to follow and retrieve related node IDs. May be wildcarded", "required": true, "schema": { "type": "string" } }, { "name": "flags", "in": "query", "description": "Search flags to use when traversing to related nodes, comma separated", "style": "form", "explode": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "include_destroyed", "exclude_current" ] } } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/nodeResultsTraverse" } } } } } } }, "/data/nodes/{node_id}?attributes={attributes}": { "get": { "tags": [ "data" ], "summary": "Find specific attributes for a single node", "description": "Get the state of a node with specified id, with only the attributes specified.", "parameters": [ { "name": "node_id", "in": "path", "description": "ID of node to find", "required": true, "schema": { "type": "string" } }, { "name": "attributes", "in": "path", "description": "If specified, only these attributes will be retrieved for the node", "required": true, "style": "simple", "explode": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/nodeResults" } } } } } } }, "/data/nodes/{node_id}/graph": { "get": { "tags": [ "data", "topology" ], "summary": "Get the graph data of a node", "description": "Graph data represents a set of nodes and relationships that are associated to the given node. If the node is of ModelDefinition kind, the graph data is obtained from the model's contents rather than running the generic graph traversal function.", "operationId": "getGraphForNode", "parameters": [ { "name": "node_id", "in": "path", "description": "ID of node for which the graph data is generated", "required": true, "schema": { "type": "string" } }, { "name": "focus", "in": "query", "description": "Context used for determining how the graph should be traversed. Must be one of: \n* 'software-connected': focuses on software and communication between items of software.\n* 'software': focuses on software and communication between items of software that are in the same host.\n* 'infrastructure': focuses on the connectivity to network and storage components.\n\nApplicable only to node kinds that are not ModelDefinition.", "schema": { "type": "string", "default": "software-connected", "enum": [ "software-connected", "software", "infrastructure" ] } }, { "name": "apply_rules", "in": "query", "description": "Whether to apply global rules - which is a set of pre-defined constraints to prevent traversing to too many nodes - while obtaining the graph data.\n\nApplicable only to node kinds that are not ModelDefinition.", "schema": { "type": "boolean", "default": true } }, { "name": "complete", "in": "query", "description": "Whether to return the complete set of node and relationship attributes when obtaining the graph data.", "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/nodeGraphResults" } } } } } } }, "/data/kinds/{kind}": { "get": { "tags": [ "data" ], "summary": "Find nodes by kind", "description": "Finds all nodes of a specified node kind. Nodes can be filtered by zero to many attribute value using the request's query string. For example, `/data/kinds/Host?os_type=Windows`. All attribute values are assumed to be strings. Note that Swagger does not support free-form query strings, so tools (such as the Swagger UI) or code generated for this endpoint will not be aware of these.\n\nNote also that as results of subsequent pages use the query string to control pagination, the following query string keys are reserved:\n* offset\n* limit\n* format\n* delete\n* results_id\n\nFor an explanation of these parameters see `GET /data/search`. More involved filtering can be achieved using that endpoint.", "operationId": "getNodesByKind", "parameters": [ { "name": "kind", "in": "path", "description": "Node kind to retrieve results for", "required": true, "schema": { "type": "string" } }, { "name": "attributes", "in": "query", "description": "Attributes to retrieve", "schema": { "type": "string" } }, { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Returns results in the same paginated format as the search endpoints", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResults" } } } } } } } }, "/data/kinds/{kind}?format=object": { "get": { "tags": [ "data" ], "summary": "Find nodes by kind", "description": "As `/data/kinds/{kind}` but returns found nodes as objects instead of rows of attribute values.", "operationId": "getNodesByKind_asObject", "parameters": [ { "name": "kind", "in": "path", "description": "Node kind to retrieve results for", "required": true, "schema": { "type": "string" } }, { "name": "attributes", "in": "query", "description": "Attributes to retrieve", "schema": { "type": "string" } }, { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Returns results in the same paginated format as the search endpoints", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResultsAsObjects" } } } } } } } }, "/data/kinds/{kind}/values/{attribute}": { "get": { "tags": [ "data" ], "summary": "Get known values for an attribute", "description": "Returns the most common values for the specified attribute of the specified node kind.\n\n`New in version 1.11`", "operationId": "getAttributeValues", "parameters": [ { "name": "kind", "in": "path", "description": "Node kind to retrieve results for", "required": true, "schema": { "type": "string" } }, { "name": "attribute", "in": "path", "description": "Attribute to retrieve values of", "required": true, "schema": { "type": "string" } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 1, "type": "integer", "default": 100 } } ], "responses": { "200": { "description": "Values and counts", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/getParamValuesResult" } } } } } } } }, "/data/partitions": { "get": { "tags": [ "data" ], "summary": "Get names and ids of partitions", "description": "Gets names and ids of all data store partitions.\n\n`New in version 1.2`", "operationId": "getPartitions", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object" } } } } } }, "post": { "tags": [ "data" ], "summary": "Create a partition", "description": "Creates a partition.\n\nPartition flags are:\n\n * maintain_history \u2014 store history of all changes to nodes and relationships\n * permit_node_destruction \u2014 when nodes are destroyed, completely remove them rather than marking them as destroyed\n * exclude_from_main_queries \u2014 do not search in this partition when performing a global search\n\nReturns the partition id.\n\n`New in version 1.4`", "operationId": "createPartition", "requestBody": { "description": "Partition details to create", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/createPartition" } } }, "required": true }, "responses": { "201": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "string", "description": "Partition id" } } } } }, "x-codegen-request-body-name": "body" } }, "/data/import": { "post": { "tags": [ "data" ], "summary": "Import data", "description": "Imports data. Returns the import UUID.\n\n`New in version 1.2`", "operationId": "importData", "requestBody": { "description": "Import records", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/import" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "string", "description": "ImportRecord UUID" } } } } }, "x-codegen-request-body-name": "body" } }, "/data/import/graph": { "post": { "tags": [ "data" ], "summary": "Import graph data", "description": "Imports graph data. Returns the import UUID.\n\n`New in version 1.10`", "operationId": "importGraphData", "requestBody": { "description": "Import graph records", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/importGraph" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "string", "description": "ImportGraphRecord UUID" } } } } }, "x-codegen-request-body-name": "body" } }, "/data/write": { "post": { "tags": [ "data" ], "summary": "Write data with an array of commands", "description": "Perform arbitrary write operations.\n\n`New in version 1.2`", "operationId": "writeData", "requestBody": { "description": "Commands", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/writeData" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/writeDataResult" } } } } }, "x-codegen-request-body-name": "body" } }, "/data/external_consumers": { "get": { "tags": [ "data" ], "summary": "Get list of external consumers", "description": "Get list of external consumers", "operationId": "getExternalConsumers", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "allOf": [ { "$ref": "#/components/schemas/baseExternalConsumer" }, { "$ref": "#/components/schemas/externalConsumerResponseProps" }, { "type": "object", "properties": { "ssl": { "type": "object", "required": [ "certificate" ], "properties": { "certificate": { "$ref": "#/components/schemas/uploadedFileNoContent" }, "ca": { "$ref": "#/components/schemas/uploadedFileNoContent" } } }, "auth": { "$ref": "#/components/schemas/externalConsumerAuthNoPassword" } } } ] } } } } } } }, "post": { "tags": [ "data" ], "summary": "Create new external consumer", "description": "Create new external consumer", "operationId": "createExternalConsumer", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/baseExternalConsumer" }, { "type": "object", "properties": { "ssl": { "type": "object", "required": [ "certificate" ], "properties": { "certificate": { "$ref": "#/components/schemas/uploadedFile" }, "ca": { "$ref": "#/components/schemas/uploadedFile" } } }, "auth": { "$ref": "#/components/schemas/externalConsumerAuth" } } } ] } } } }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/baseExternalConsumer" }, { "$ref": "#/components/schemas/externalConsumerResponseProps" }, { "type": "object", "properties": { "ssl": { "type": "object", "required": [ "certificate" ], "properties": { "certificate": { "$ref": "#/components/schemas/uploadedFileNoContent" }, "ca": { "$ref": "#/components/schemas/uploadedFileNoContent" } } }, "auth": { "$ref": "#/components/schemas/externalConsumerAuthNoPassword" } } } ] } } } } } } }, "/data/external_consumers/{consumer_id}": { "delete": { "tags": [ "data" ], "summary": "Delete external consumer by id", "description": "Delete external consumer by id", "operationId": "deleteExternalConsumer", "parameters": [ { "name": "consumer_id", "in": "path", "description": "The consumer id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "string", "example": "Fr4tHDCgQY5IsfpW3ryZB6MlOgBvdthQ" } } } } } }, "get": { "tags": [ "data" ], "summary": "Get external consumer by id", "description": "Get external consumer by id", "operationId": "getExternalConsumerById", "parameters": [ { "name": "consumer_id", "in": "path", "description": "The consumer id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/baseExternalConsumer" }, { "$ref": "#/components/schemas/externalConsumerResponseProps" }, { "type": "object", "properties": { "ssl": { "type": "object", "required": [ "certificate" ], "properties": { "certificate": { "$ref": "#/components/schemas/uploadedFile" }, "ca": { "$ref": "#/components/schemas/uploadedFile" } } }, "auth": { "$ref": "#/components/schemas/externalConsumerAuthNoPassword" } } } ] } } } } } }, "patch": { "tags": [ "data" ], "summary": "Update external consumer", "description": "Update external consumer", "operationId": "updateExternalConsumer", "parameters": [ { "name": "consumer_id", "in": "path", "description": "The consumer id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/baseExternalConsumer" }, { "type": "object", "required": [ "vault_id" ], "properties": { "vault_id": { "$ref": "#/components/schemas/vaultId" }, "ssl": { "type": "object", "required": [ "certificate" ], "properties": { "certificate": { "$ref": "#/components/schemas/uploadedFile" }, "ca": { "$ref": "#/components/schemas/uploadedFile" } } }, "auth": { "$ref": "#/components/schemas/externalConsumerAuth" } } } ] } } } }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/baseExternalConsumer" }, { "$ref": "#/components/schemas/externalConsumerResponseProps" }, { "type": "object", "properties": { "ssl": { "type": "object", "required": [ "certificate" ], "properties": { "certificate": { "$ref": "#/components/schemas/uploadedFileNoContent" }, "ca": { "$ref": "#/components/schemas/uploadedFileNoContent" } } }, "auth": { "$ref": "#/components/schemas/externalConsumerAuthNoPassword" } } } ] } } } } } } }, "/data/external_consumers/check": { "post": { "tags": [ "data" ], "summary": "Check external consumer connection", "description": "Check external consumer connection", "operationId": "checkExternalConsumer", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/baseExternalConsumer" }, { "type": "object", "required": [ "id" ], "properties": { "ssl": { "type": "object", "required": [ "certificate" ], "properties": { "certificate": { "$ref": "#/components/schemas/uploadedFile" }, "ca": { "$ref": "#/components/schemas/uploadedFile" } } }, "auth": { "$ref": "#/components/schemas/externalConsumerAuth" } } } ] } } } }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/testConnectionResult" } } } } } } }, "/discovery": { "get": { "tags": [ "discovery" ], "summary": "Discovery status", "description": "Get the current status of the discovery process", "operationId": "getDiscoveryStatus", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "required": [ "running", "status" ], "type": "object", "properties": { "running": { "type": "boolean", "description": "Are there any discovery runs in progress?" }, "status": { "type": "string", "description": "Current status of the discovery process", "enum": [ "starting", "running", "stopping", "stopped" ] } } } } } } } }, "patch": { "tags": [ "discovery" ], "summary": "Change the status of the discovery process", "description": "Either start or stop the discovery process. Note this call can return before the desired state has been reached.", "operationId": "updateDiscoveryStatus", "requestBody": { "content": { "application/json": { "schema": { "required": [ "status" ], "type": "object", "properties": { "status": { "type": "string", "description": "Desired status of the discovery", "enum": [ "running", "stopped" ] }, "passphrase": { "type": "string", "description": "Passphrase to open the vault before starting discovery. Only required if the vault is closed and protected by a passphrase." } } } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": {} } }, "x-codegen-request-body-name": "body" } }, "/discovery/api_provider_metadata": { "get": { "summary": "Get metadata for supported API providers", "description": "Get metadata for the API providers currently supported by BMC Discovery. This can be used as a reference when interacting with the `/discovery/runs` and `/vault/credentials` endpoints. Support for new API providers is available in TKU knowledge updates.\n\n`New in version 1.2`", "operationId": "getAPIProviderMetadata", "tags": [ "discovery" ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/apiProviderMetadata" } } } } } } }, "/discovery/cloud_metadata": { "get": { "summary": "Get metadata for supported cloud providers", "description": "Get metadata for the cloud providers currently supported by BMC Discovery. This can be used as a reference when interacting with the `/discovery/runs` and `/vault/credentials` endpoints. Support for new cloud providers is available in TKU knowledge updates.\n\n`New in version 1.1`", "operationId": "getCloudMetadata", "tags": [ "discovery" ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/cloudMetadata" } } } } } } }, "/discovery/excludes": { "get": { "tags": [ "discovery" ], "summary": "Get a list of all excludes", "description": "Get a list of all excludes.\n\n`New in version 1.5`", "operationId": "getExcludes", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/excludeArray" } } } } } }, "post": { "tags": [ "discovery" ], "summary": "Create an exclude", "description": "Create an exclude.\n\n`New in version 1.5`", "operationId": "createExclude", "requestBody": { "description": "Exclude properties", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/excludeCreate" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "string", "description": "The ID of the new exclude" } } } }, "400": { "description": "Error creating the exclude", "content": {} } }, "x-codegen-request-body-name": "body" } }, "/discovery/excludes/{exclude_id}": { "get": { "tags": [ "discovery" ], "summary": "Get a specific exclude", "description": "Get a specific exclude.\n\n`New in version 1.5`", "operationId": "getExclude", "parameters": [ { "name": "exclude_id", "in": "path", "description": "Exclude ID", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/exclude" } } } }, "400": { "description": "Error getting the exclude", "content": {} } } }, "delete": { "tags": [ "discovery" ], "summary": "Delete an exclude", "description": "Delete an exclude.\n\n`New in version 1.5`", "operationId": "deleteExclude", "parameters": [ { "name": "exclude_id", "in": "path", "description": "Exclude node ID to be deleted", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": {} } } }, "patch": { "tags": [ "discovery" ], "summary": "Update an exclude", "description": "Updates partial resources of an exclude. Missing properties are left unchanged.\n\n`New in version 1.5`", "operationId": "updateExclude", "parameters": [ { "name": "exclude_id", "in": "path", "description": "Exclude ID", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "Exclude properties", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/excludeUpdate" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/exclude" } } } }, "400": { "description": "Error patching the exclude", "content": {} } }, "x-codegen-request-body-name": "body" } }, "/discovery/instance_token": { "get": { "summary": "Get a token to register with an outpost", "description": "Get an instance token to register this Discovery service with an outpost.\n\n`New in version 1.12`", "operationId": "getInstanceToken", "parameters": [ { "name": "service_address", "in": "query", "description": "The DNS name the Outpost will use to access the discovery service.\n\nRequired if calling this API on a SaaS Discovery instance. Ignored for appliances or clusters of appliances.", "required": false, "schema": { "type": "string" } } ], "tags": [ "discovery" ], "responses": { "200": { "description": "Successful operation.\n\nThe supplied token is a block of encoded text containing the data the outpost\nneeds to connect to this Discovery instance. Among other things, it contains a\nlist of endpoints (as IP addresses or host names), one per cluster member, that\nthe Outpost can use to connect. \n\nIn some cases those IP addresses or host names will not be visible from the\nOutpost's network location, and you will want to supply an alternative address\nfor each Discovery cluster member for the Outpost to use instead.\n\nTo achieve this, use the `members` block. It contains a mapping of the internal\nidentifier of the cluster member to the cluster member's address. Modify the\n`members` block with addresses that the outpost can use, and include it in\nyour `POST` request to the outpost's `/admin/instances` API.\n\nNote that all SaaS Discovery instances present as a single-member cluster.\n`members section new in version 1.13`", "content": { "application/json": { "schema": { "type": "object", "properties": { "token": { "type": "string", "description": "Registration token for submission to an outpost" }, "members": { "type": "object", "additionalProperties": { "type": "string" } } } } } } } } } }, "/discovery/outposts": { "get": { "summary": "Get Discovery Outposts", "description": "Get Discovery Outposts.\n\n`New in version 1.10`", "operationId": "getOutposts", "tags": [ "discovery" ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/outpostData" } } } } } } }, "post": { "summary": "Add a Discovery Outpost", "description": "Add a new Discovery Outpost.\n\n`New in version 1.12`", "operationId": "addOutpost", "tags": [ "discovery" ], "requestBody": { "description": "New outpost token", "content": { "application/json": { "schema": { "type": "object", "properties": { "token": { "type": "string", "description": "The outpost token to register" } } } } }, "required": true }, "responses": { "200": { "description": "Successfully added outpost", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/outpostData" } } } } } }, "delete": { "summary": "Delete a Discovery Outpost", "description": "Delete a Discovery Outpost.\n\n`New in version 1.12`", "operationId": "deleteOutpost", "tags": [ "discovery" ], "requestBody": { "description": "ID of the outpost to delete", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" } } } } }, "required": true }, "responses": { "200": { "description": "Successfully deleted outpost", "content": {} } } } }, "/discovery/runs": { "get": { "tags": [ "discovery" ], "summary": "Currently processing runs", "description": "Get details of all currently processing discovery runs.", "operationId": "getDiscoveryRuns", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/run" } } } } } } }, "post": { "tags": [ "discovery" ], "summary": "Add new run", "description": "Create a new snapshot discovery run.\n\nUse the returned 'uuid' as the run_id to check the status of the new run at `/discovery/runs/{run_id}`.\n\n`New in version 1.1 - added support for cloud scans, added support for scan_options field.`\n\n`New in version 1.2 - added support for API scans.`", "operationId": "createDiscoveryRun", "requestBody": { "description": "Snapshot discovery run to be created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/newRun" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "required": [ "uri", "uuid" ], "type": "object", "properties": { "uuid": { "type": "string" }, "uri": { "type": "string" } } } } } } }, "x-codegen-request-body-name": "body" } }, "/discovery/runs/{run_id}": { "get": { "tags": [ "discovery" ], "summary": "Get details of a specific discovery run", "description": "This endpoint is lightweight to call so should be used if you need to poll until a discovery run has finished. When the 'finished' field is returned as true then use the more costly `/discovery/runs/{run_id}/results` and `/discovery/runs/{run_id}/inferred` endpoints to start exploring the results of the run.", "operationId": "getDiscoveryRun", "parameters": [ { "name": "run_id", "in": "path", "description": "ID of the discovery run", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/run" } } } }, "404": { "description": "Invalid run id", "content": {} } } }, "patch": { "tags": [ "discovery" ], "summary": "Update the state of a specific discovery run", "operationId": "updateDiscoveryRun", "parameters": [ { "name": "run_id", "in": "path", "description": "ID of the discovery run", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/patchRunCancelled" } } }, "required": false }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "boolean", "description": "Indicate if the cancellation is successfully performed" } } } } }, "x-codegen-request-body-name": "body" } }, "/discovery/runs/{run_id}/results": { "get": { "tags": [ "discovery" ], "summary": "Get all results of a discovery run", "description": "Get a summary of the results from scanning all endpoints in the run, partitioned by result type.", "operationId": "getDiscoveryRunResultsSummary", "parameters": [ { "name": "run_id", "in": "path", "description": "ID of the discovery run", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/runResultsSummary" } } } } } } }, "/discovery/runs/{run_id}/results/{result_type}": { "get": { "tags": [ "discovery" ], "summary": "Get results of a discovery run for a specific result type", "description": "Get a summary of the results from scanning all endpoints in the run that had a specific type of result. Results are returned in the same paginated format as in `/data/search`. See that endpoint for details on the following parameters:\n* offset\n* limit\n* results_id\n* delete\n\n", "operationId": "getDiscoveryRunResultsByType", "parameters": [ { "name": "run_id", "in": "path", "description": "ID of the discovery run", "required": true, "schema": { "type": "string" } }, { "name": "result_type", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "Success", "Skipped", "NoAccess", "NoResponse", "Error", "Dropped" ] } }, { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Returns results in the same paginated format as the search endpoints", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResults" } } } } } } } }, "/discovery/runs/{run_id}/results/{result_type}?format=object": { "get": { "tags": [ "discovery" ], "summary": "Get results of a discovery run for a specific result type", "description": "As `/discovery/runs/{run_id}/results/{result_type}` but returns found nodes as objects instead of rows of attribute values.", "operationId": "getDiscoveryRunResultsByType_asObject", "parameters": [ { "name": "run_id", "in": "path", "description": "ID of the discovery run", "required": true, "schema": { "type": "string" } }, { "name": "result_type", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "Success", "Skipped", "NoAccess", "NoResponse", "Error", "Dropped" ] } }, { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Returns results in the same paginated format as the search endpoints", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResultsAsObjects" } } } } } } } }, "/discovery/runs/{run_id}/inferred": { "get": { "summary": "Get all devices inferred by a discovery run", "description": "Get a summary of all inferred devices from a discovery run, partitioned by device type.\n\nFrom BMC Discovery 11.2 patch 2, this summary also includes device kinds specific to cloud discovery.", "operationId": "getDiscoveryRunInferredSummary", "tags": [ "discovery" ], "parameters": [ { "name": "run_id", "in": "path", "description": "ID of the discovery run", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/runInferredSummary" } } } } } } }, "/discovery/runs/{run_id}/inferred/{inferred_kind}": { "get": { "tags": [ "discovery" ], "summary": "Get inferred devices by kind", "description": "Get a summary of the devices inferred by a discovery run which have a specific inferred kind. Results are returned in the same paginated format as in `/data/search`. See that endpoint for details on the following parameters:\n* offset\n* limit\n* results_id\n* delete\n\n", "operationId": "getDiscoveryRunInferredByKind", "parameters": [ { "name": "run_id", "in": "path", "description": "ID of the discovery run", "required": true, "schema": { "type": "string" } }, { "name": "inferred_kind", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Returns results in the same paginated format as the search endpoints", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResults" } } } } }, "404": { "description": "No such run id or inferred kind", "content": {} } } } }, "/discovery/runs/{run_id}/inferred/{inferred_kind}?format=object": { "get": { "tags": [ "discovery" ], "summary": "Get inferred devices by kind", "description": "As `/discovery/runs/{run_id}/inferred/{inferred_kind}` but returns found nodes as objects instead of rows of attribute values.", "operationId": "getDiscoveryRunInferredByKind_asObject", "parameters": [ { "name": "run_id", "in": "path", "description": "ID of the discovery run", "required": true, "schema": { "type": "string" } }, { "name": "inferred_kind", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "offset", "in": "query", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "schema": { "maximum": 10000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Returns results in the same paginated format as the search endpoints", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResultsAsObjects" } } } } }, "404": { "description": "No such run id or inferred kind", "content": {} } } } }, "/discovery/runs/scheduled": { "get": { "tags": [ "discovery" ], "summary": "Scheduled runs", "description": "Get details of all scheduled discovery runs.", "operationId": "getScheduledRuns", "parameters": [ { "name": "filter_orgs", "in": "query", "description": "Filter runs by user accessible organizations.", "required": false, "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/scheduledRun" } } } } } } }, "post": { "tags": [ "discovery" ], "summary": "Add new scheduled run", "description": "Create a new scheduled discovery run.", "operationId": "createScheduledRun", "requestBody": { "description": "Scheduled discovery run to be created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/newScheduledRun" } } }, "required": true }, "responses": { "201": { "description": "created", "content": { "application/json": { "schema": { "type": "object" } } } } }, "x-codegen-request-body-name": "body" } }, "/discovery/runs/scheduled/{run_id}": { "get": { "tags": [ "discovery" ], "summary": "Get details of a specific scheduled discovery run", "description": "Get details of a specific scheduled discovery run", "operationId": "getScheduledRun", "parameters": [ { "name": "run_id", "in": "path", "description": "ID of the scheduled discovery run", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/scheduledRun" } } } }, "404": { "description": "Invalid range id", "content": {} } } }, "delete": { "tags": [ "discovery" ], "summary": "Delete a specific scheduled discovery run", "operationId": "deleteScheduledRun", "parameters": [ { "name": "run_id", "in": "path", "description": "ID of the scheduled discovery run", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": {} } } }, "patch": { "tags": [ "discovery" ], "summary": "Update the parameters of a specific scheduled discovery run", "operationId": "updateScheduledRun", "parameters": [ { "name": "run_id", "in": "path", "description": "ID of the scheduled discovery run", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/patchScheduledRun" } } }, "required": false }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object" } } } } }, "x-codegen-request-body-name": "body" } }, "/discovery/proxies": { "get": { "tags": [ "discovery" ], "summary": "Get Windows Proxy Pools and Proxies", "description": "Retrieve a list of the defined Windows Proxy Pools, including the proxies in each pool.\n\n`New in version 1.13`", "operationId": "getPoolsAndProxies", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/proxyPool" } } } } } } }, "post": { "tags": [ "discovery" ], "summary": "Create a new Windows Proxy Pool and Proxies", "description": "Create a new Windows Proxy Pool and its proxies.\n\n`New in version 1.13`", "operationId": "postPoolAndProxies", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/postProxyPool" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": {} }, "400": { "description": "Missing or invalid parameters", "content": {} } } } }, "/discovery/proxies/{poolname}": { "get": { "tags": [ "discovery" ], "summary": "Get Windows Proxy Pool and Proxies", "description": "Get details of the named Windows Proxy pool, including the proxies in the pool.\n\n`New in version 1.13`", "operationId": "getPoolAndProxies", "parameters": [ { "name": "poolname", "in": "path", "description": "Pool Name", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/proxyPool" } } } }, "404": { "description": "Pool does not exist", "content": {} } } }, "patch": { "summary": "Update Windows Proxy Pool and Proxies", "description": "Update the named Windows Proxy Pool, including the list of proxies in the pool\n\n`New in version 1.13`", "operationId": "patchProxies", "tags": [ "discovery" ], "parameters": [ { "name": "poolname", "in": "path", "description": "Pool Name", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/proxyPoolPatch" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": {} }, "404": { "description": "Pool does not exist", "content": {} } }, "x-codegen-request-body-name": "body" }, "delete": { "tags": [ "discovery" ], "summary": "Delete Windows Proxy Pool and Proxies", "description": "Delete the named Windows Proxy pool and all the proxies in the pool.\n\n`New in version 1.13`", "operationId": "deletePoolAndProxies", "parameters": [ { "name": "poolname", "in": "path", "description": "Pool Name", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "successful delete", "content": {} }, "404": { "description": "Pool does not exist", "content": {} } } } }, "/discovery/proxies/{poolname}/settings": { "get": { "tags": [ "discovery" ], "summary": "Get Proxies settings", "description": "Get settings of all the proxies in the pool.\n\n`New in version 1.13`", "operationId": "getProxiesSettings", "parameters": [ { "name": "poolname", "in": "path", "description": "Pool Name", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/proxySettings" } } } }, "404": { "description": "Pool does not exist", "content": {} } } }, "patch": { "summary": "Update Proxies settings", "description": "Update settings for all of the proxies in the pool\n\n`New in version 1.13`", "operationId": "patchProxiesSettings", "tags": [ "discovery" ], "parameters": [ { "name": "poolname", "in": "path", "description": "Pool Name", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/proxySettings" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": {} }, "404": { "description": "Pool does not exist", "content": {} } }, "x-codegen-request-body-name": "body" } }, "/events": { "post": { "summary": "Push an event to BMC Discovery.", "description": "Returns a unique ID if the event has been recorded, otherwise an empty string is returned e.g. if the event source has been disabled.", "operationId": "pushEvent", "tags": [ "events" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/event" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "string", "description": "Event ID" } } } } }, "x-codegen-request-body-name": "body" } }, "/knowledge": { "get": { "tags": [ "knowledge" ], "summary": "Info on instance knowledge", "description": "Get the current state of the instance's knowledge, including TKU versions.\n\n`New in version 1.1 - includes installed versions of the Devices and Product Content packages.`", "operationId": "getKnowledgeStatus", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/knowledgeState" } } } } } } }, "/knowledge/{filename}": { "post": { "summary": "Upload knowledge to the instance", "description": "Upload a TKU or pattern module to the instance. The body of the request should contain the knowledge upload file either as binary data or in multipart/form-data format (according to RFC 2388).\n\nAfter calling this endpoint, use `GET /knowledge/status` to see progress of the upload.\n\nFrom BMC Discovery 11.1 patch 3, the REST API supports uploading individual TPL files.\n\nOn versions of BMC Discovery prior to 11.1 patch 5, set the 'Content-Type' header to 'application/octet-stream' if uploading as binary data.", "operationId": "uploadKnowledge", "tags": [ "knowledge" ], "parameters": [ { "name": "filename", "in": "path", "description": "Filename of the upload, for reporting purposes. Must have one of these extensions: .tpl, .zip, .drpm, .hrd", "required": true, "schema": { "type": "string" } }, { "name": "activate", "in": "query", "description": "Flag if patterns should be activated after upload", "schema": { "type": "boolean", "default": true } }, { "name": "allow_restart", "in": "query", "description": "Flag if services may be restarted in order to update Network Devices or Product Content. If this is false, but a restart IS required, the upload will not be performed. This case can be detected by checking the optional field 'restart_required' in the body of the error response\n\n`New in version 1.1`", "schema": { "type": "boolean", "default": false } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "type": "string", "description": "File to upload", "format": "binary" } } } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": {} }, "400": { "description": "invalid upload", "content": {} }, "500": { "description": "server side error", "content": {} }, "503": { "description": "another upload is in progress", "content": {} } } } }, "/knowledge/status": { "get": { "tags": [ "knowledge" ], "summary": "Info on knowledge uploads", "description": "Get the current state of a knowledge upload.", "operationId": "getKnowledgeUploadStatus", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "required": [ "error", "last_result", "messages", "processing", "uploading" ], "type": "object", "properties": { "uploading": { "type": "boolean", "description": "Whether a knowledge upload is in progress or not" }, "processing": { "type": "boolean", "description": "Whether any sort of knowledge activity (including an upload) is in progress" }, "last_result": { "type": "string", "description": "The result of the last knowledge upload - either 'success' or 'failure'. Empty if there have not been any uploads, or an upload is still in progress" }, "messages": { "type": "array", "description": "Progress and information messages reported by the last knowledge upload to run, or the one in progress", "items": { "type": "string" } }, "error": { "type": "string", "description": "Any errors reported by the last knowledge upload to run, or the one in progress" } } } } } } } } }, "/models": { "get": { "tags": [ "models" ], "summary": "Get model definitions", "description": "`New in version 1.4`", "operationId": "getModels", "parameters": [ { "name": "name", "in": "query", "description": "Substring to match in model name", "schema": { "type": "string" } }, { "name": "type", "in": "query", "description": "Type of model", "schema": { "type": "string", "enum": [ "sam", "rules", "rules_template", "static", "imported", "cmdb", "pattern", "instance", "sync" ] } }, { "name": "kind", "in": "query", "description": "Node kind created by model", "schema": { "type": "string", "enum": [ "BusinessService", "TechnicalService", "BusinessApplicationInstance" ] } }, { "name": "published", "in": "query", "description": "Only return models that are / are not published", "schema": { "type": "boolean" } }, { "name": "review_suggested", "in": "query", "description": "Only return models that do or do not require review", "schema": { "type": "boolean" } }, { "name": "version", "in": "query", "description": "Model version number", "schema": { "type": "integer" } }, { "name": "favorite", "in": "query", "description": "Only return models that are / are not the invoking user's favorite", "schema": { "type": "boolean" } }, { "name": "compatibility", "in": "query", "description": "Only return models that are compatible with the provided client product name", "schema": { "type": "string" } }, { "name": "offset", "in": "query", "description": "The offset of the first item to return in this page of results.\n\nCan only be supplied if requesting results from an existing results set (by supplying a results_id).\n\nIf you want to retrieve all items in order, this field should usually take the value of the 'next_offset' from the previous page of results.", "schema": { "minimum": 0, "type": "integer", "default": 0 } }, { "name": "limit", "in": "query", "description": "Limits how many items to return in this page of results. Further items can be retrieved by making another request with a different offset.\n\nUse 0 to request the maximum allowed limit.\n\nCan vary from page to page.", "schema": { "maximum": 1000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "description": "An opaque id that can be used to access a result set that has already been generated via a previous search request. Must be supplied if requesting an offset greater than 0.\n\nNote that even if retrieving results from an existing results set, the original query must be supplied in case the result set has timed out and the query needs to be re-run.\n\nThe results_id can be found in any page of results apart from the last one.", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "description": "Controls whether the result set is deleted or not before results are returned.\n\nResult sets are deleted automatically before the last page of results are returned, but setting this field to true on any page will delete the result set immediately.\n\nThis is an optimization to free resources if you don't plan on accessing any further pages of data. Alternatively, if set to false, automatic deletion of the result set will not happen (for this request).", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "count": { "type": "integer", "description": "Total number of models in the results" }, "offset": { "type": "integer", "description": "The offset of the first item in this page of results" }, "results": { "$ref": "#/components/schemas/modelDefinitionArray" }, "results_id": { "type": "string", "description": "The opaque id of the results set." }, "next_offset": { "type": "integer", "description": "The offset to use when requesting the next page of results." }, "next": { "type": "string", "description": "The path to the next page of results (if there IS a next page)." } } } } } } } } }, "post": { "tags": [ "models" ], "summary": "Create a new model", "description": "`New in version 1.4`", "operationId": "createModel", "requestBody": { "description": "Model to create", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/modelDefinition" } } }, "required": true }, "responses": { "201": { "description": "successful creation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/modelDefinition" } } } } }, "x-codegen-request-body-name": "body" } }, "/models/{key}": { "get": { "tags": [ "models" ], "summary": "Get model definition for the specified key", "description": "`New in version 1.4`", "operationId": "getModelByKey", "parameters": [ { "name": "key", "in": "path", "description": "Model key", "required": true, "schema": { "type": "string" } }, { "name": "expand_related", "in": "query", "description": "If true, expands the result to include other models that are related by Containment and Dependency relationships", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/modelDefinition" } } } } } }, "delete": { "tags": [ "models" ], "summary": "Delete a model", "description": "`New in version 1.4`", "operationId": "deleteModelByKey", "parameters": [ { "name": "key", "in": "path", "description": "Model key", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "successful delete", "content": {} } } }, "patch": { "tags": [ "models" ], "summary": "Modify a model", "description": "`New in version 1.4`", "operationId": "patchModelByKey", "parameters": [ { "name": "key", "in": "path", "description": "Model key", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "Model state to patch", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/modelDefinition" } } }, "required": true }, "responses": { "200": { "description": "successful patch", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/modelDefinition" } } } } }, "x-codegen-request-body-name": "body" } }, "/models/{key}/topology": { "get": { "tags": [ "models" ], "summary": "Get topology for the model definition specified by key", "description": "`New in version 1.4`", "operationId": "getModelTopologyByKey", "parameters": [ { "name": "key", "in": "path", "description": "Model key", "required": true, "schema": { "type": "string" } }, { "name": "attributes", "in": "query", "description": "Additional attributes to retrieve", "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/topologyNodesResults" } } } } } } }, "/models/{key}/nodecount": { "get": { "tags": [ "models" ], "summary": "Get node count for the model definition specified by key", "description": "`New in version 1.4`", "operationId": "getModelNodecountByKey", "parameters": [ { "name": "key", "in": "path", "description": "Model key", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/groupNodeCountMeta" } } } } } } }, "/models/{key}/nodes": { "get": { "tags": [ "models" ], "summary": "Get nodes for the model definition specified by key", "description": "`New in version 1.4`", "operationId": "getModelNodesByKey", "parameters": [ { "name": "key", "in": "path", "description": "Model key", "required": true, "schema": { "type": "string" } }, { "name": "format", "in": "query", "description": "Result format", "schema": { "type": "string", "enum": [ "array", "object", "tree" ] } }, { "name": "limit", "in": "query", "description": "Limits how many items to return in this page of results. Further items can be retrieved by making another request with a different offset.\n\nUse 0 to request the maximum allowed limit.\n\nCan vary from page to page.", "schema": { "maximum": 1000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "description": "An opaque id that can be used to access a result set that has already been generated via a previous search request. Must be supplied if requesting an offset greater than 0.\n\nNote that even if retrieving results from an existing results set, the original query must be supplied in case the result set has timed out and the query needs to be re-run.\n\nThe results_id can be found in any page of results apart from the last one.", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "description": "Controls whether the result set is deleted or not before results are returned.\n\nResult sets are deleted automatically before the last page of results are returned, but setting this field to true on any page will delete the result set immediately.\n\nThis is an optimization to free resources if you don't plan on accessing any further pages of data. Alternatively, if set to false, automatic deletion of the result set will not happen (for this request).", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResults" } } } } } } } }, "/models/{key}/nodes/{kind}": { "get": { "tags": [ "models" ], "summary": "Get nodes by kind for the model definition specified by key", "description": "`New in version 1.4`", "operationId": "getModelNodesByKeyAndKind", "parameters": [ { "name": "key", "in": "path", "description": "Model key", "required": true, "schema": { "type": "string" } }, { "name": "kind", "in": "path", "description": "Node kind", "required": true, "schema": { "type": "string" } }, { "name": "format", "in": "query", "description": "Result format", "schema": { "type": "string", "enum": [ "array", "object", "tree" ] } }, { "name": "limit", "in": "query", "description": "Limits how many items to return in this page of results. Further items can be retrieved by making another request with a different offset.\n\nUse 0 to request the maximum allowed limit.\n\nCan vary from page to page.", "schema": { "maximum": 1000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "description": "An opaque id that can be used to access a result set that has already been generated via a previous search request. Must be supplied if requesting an offset greater than 0.\n\nNote that even if retrieving results from an existing results set, the original query must be supplied in case the result set has timed out and the query needs to be re-run.\n\nThe results_id can be found in any page of results apart from the last one.", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "description": "Controls whether the result set is deleted or not before results are returned.\n\nResult sets are deleted automatically before the last page of results are returned, but setting this field to true on any page will delete the result set immediately.\n\nThis is an optimization to free resources if you don't plan on accessing any further pages of data. Alternatively, if set to false, automatic deletion of the result set will not happen (for this request).", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResults" } } } } } } } }, "/models/by_node_id/{node_id}": { "get": { "tags": [ "models" ], "summary": "Get model definition for the specified node id", "description": "`New in version 1.4`", "operationId": "getModelByNodeId", "parameters": [ { "name": "node_id", "in": "path", "description": "Model node id", "required": true, "schema": { "type": "string" } }, { "name": "expand_related", "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/modelDefinition" } } } } } }, "delete": { "tags": [ "models" ], "summary": "Delete a model", "description": "`New in version 1.4`", "operationId": "deleteModelByNodeId", "parameters": [ { "name": "node_id", "in": "path", "description": "Model node id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "successful delete", "content": {} } } }, "patch": { "tags": [ "models" ], "summary": "Modify a model", "description": "`New in version 1.4`", "operationId": "patchModelByNodeId", "parameters": [ { "name": "node_id", "in": "path", "description": "Model node id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "Model state to patch", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/modelDefinition" } } }, "required": true }, "responses": { "200": { "description": "successful patch", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/modelDefinition" } } } } }, "x-codegen-request-body-name": "body" } }, "/models/by_node_id/{node_id}/topology": { "get": { "tags": [ "models" ], "summary": "Get topology for the model definition specified by node id", "description": "`New in version 1.4`", "operationId": "getModelTopologyByNodeId", "parameters": [ { "name": "node_id", "in": "path", "description": "Model node id", "required": true, "schema": { "type": "string" } }, { "name": "attributes", "in": "query", "description": "Additional attributes to retrieve, as a comma separated list", "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/topologyNodesResults" } } } } } } }, "/models/by_node_id/{node_id}/nodecount": { "get": { "tags": [ "models" ], "summary": "Get node count for the model definition specified by node id", "description": "`New in version 1.4`", "operationId": "getModelNodecountByNodeId", "parameters": [ { "name": "node_id", "in": "path", "description": "Model node id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/groupNodeCountMeta" } } } } } } }, "/models/by_node_id/{node_id}/nodes": { "get": { "tags": [ "models" ], "summary": "Get nodes for the model definition specified by node id", "description": "`New in version 1.4`", "operationId": "getModelNodesByNodeId", "parameters": [ { "name": "node_id", "in": "path", "description": "Model node id", "required": true, "schema": { "type": "string" } }, { "name": "format", "in": "query", "description": "Result format", "schema": { "type": "string", "enum": [ "array", "object", "tree" ] } }, { "name": "limit", "in": "query", "description": "Limits how many items to return in this page of results. Further items can be retrieved by making another request with a different offset.\n\nUse 0 to request the maximum allowed limit.\n\nCan vary from page to page.", "schema": { "maximum": 1000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "description": "An opaque id that can be used to access a result set that has already been generated via a previous search request. Must be supplied if requesting an offset greater than 0.\n\nNote that even if retrieving results from an existing results set, the original query must be supplied in case the result set has timed out and the query needs to be re-run.\n\nThe results_id can be found in any page of results apart from the last one.", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "description": "Controls whether the result set is deleted or not before results are returned.\n\nResult sets are deleted automatically before the last page of results are returned, but setting this field to true on any page will delete the result set immediately.\n\nThis is an optimization to free resources if you don't plan on accessing any further pages of data. Alternatively, if set to false, automatic deletion of the result set will not happen (for this request).", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResults" } } } } } } } }, "/models/by_node_id/{node_id}/nodes/{kind}": { "get": { "tags": [ "models" ], "summary": "Get nodes by kind for the model definition specified by node id", "description": "`New in version 1.4`", "operationId": "getModelNodesByNodeIdAndKind", "parameters": [ { "name": "node_id", "in": "path", "description": "Model node id", "required": true, "schema": { "type": "string" } }, { "name": "kind", "in": "path", "description": "Node kind", "required": true, "schema": { "type": "string" } }, { "name": "format", "in": "query", "description": "Result format", "schema": { "type": "string", "enum": [ "array", "object", "tree" ] } }, { "name": "limit", "in": "query", "description": "Limits how many items to return in this page of results. Further items can be retrieved by making another request with a different offset.\n\nUse 0 to request the maximum allowed limit.\n\nCan vary from page to page.", "schema": { "maximum": 1000, "minimum": 0, "type": "integer", "default": 100 } }, { "name": "results_id", "in": "query", "description": "An opaque id that can be used to access a result set that has already been generated via a previous search request. Must be supplied if requesting an offset greater than 0.\n\nNote that even if retrieving results from an existing results set, the original query must be supplied in case the result set has timed out and the query needs to be re-run.\n\nThe results_id can be found in any page of results apart from the last one.", "schema": { "type": "string" } }, { "name": "delete", "in": "query", "description": "Controls whether the result set is deleted or not before results are returned.\n\nResult sets are deleted automatically before the last page of results are returned, but setting this field to true on any page will delete the result set immediately.\n\nThis is an optimization to free resources if you don't plan on accessing any further pages of data. Alternatively, if set to false, automatic deletion of the result set will not happen (for this request).", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/searchResults" } } } } } } } }, "/models/multi": { "post": { "tags": [ "models" ], "summary": "Manipulate multiple models in a single request", "description": "`New in version 1.4`", "operationId": "modelMultiOperation", "requestBody": { "description": "Multiple operation input", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/modelMultiInput" } } }, "required": true }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/modelMultiOutput" } } } } }, "x-codegen-request-body-name": "body" } }, "/security/ldap": { "get": { "tags": [ "security" ], "summary": "Get LDAP configuration", "description": "Get LDAP configuration including options and the list of group mappings.\n\n`New in version 1.13`", "operationId": "getLDAPConfig", "parameters": [ { "name": "bind_now", "in": "query", "description": "Establish LDAP connection to get actual status instead of the last known.", "required": false, "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ldapConfigGet" } } } } } }, "patch": { "summary": "Update LDAP configuration", "description": "Update LDAP configuration including the list of group mappings.\n\n`New in version 1.13`", "operationId": "patchLDAPConfig", "tags": [ "security" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ldapConfigPatch" } } }, "required": true }, "responses": { "200": { "description": "successful operation" } }, "x-codegen-request-body-name": "body" } }, "/security/groups": { "get": { "tags": [ "security" ], "summary": "Get user groups", "description": "Retrieve a list of the defined groups.\n\n`New in version 1.13`", "operationId": "getUserGroups", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "$ref": "#/components/schemas/userGroup" } } } } } } }, "post": { "tags": [ "security" ], "summary": "Create a new group", "description": "Create a new user group.\n\n`New in version 1.13`", "operationId": "postGroup", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/userGroup" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": {} }, "400": { "description": "Missing or invalid parameters", "content": {} } } } }, "/security/groups/{name}": { "get": { "tags": [ "security" ], "summary": "Get user group", "description": "Get details of a group by name.\n\n`New in version 1.13`", "operationId": "getUserGroup", "parameters": [ { "name": "name", "in": "path", "description": "Group Name", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "object", "$ref": "#/components/schemas/userGroup" } } } }, "400": { "description": "Error getting user group details", "content": {} }, "404": { "description": "Group does not exist", "content": {} } } }, "patch": { "tags": [ "security" ], "summary": "Update a group by name", "description": "Update a specific group permissions.\n\n`New in version 1.13`", "operationId": "patchGroup", "parameters": [ { "name": "name", "in": "path", "description": "Group Name", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "required": [ "permissions" ], "type": "object", "properties": { "permissions": { "type": "array", "items": { "type": "string", "description": "Group permissions" } } } } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": {} }, "400": { "description": "Missing or invalid parameters", "content": {} }, "404": { "description": "Group does not exist", "content": {} } } }, "delete": { "tags": [ "security" ], "summary": "Delete a group by name", "description": "Delete a user group by name.\n\n`New in version 1.13`", "operationId": "deleteUserGroup", "parameters": [ { "name": "name", "in": "path", "description": "Group Name", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "successful delete", "content": {} }, "400": { "description": "Error deleting group", "content": {} }, "404": { "description": "Group does not exist", "content": {} } } } }, "/security/permissions": { "get": { "tags": [ "security" ], "summary": "Get list of permissions", "description": "Retrieve a list of permissions.\n\n`New in version 1.13`", "operationId": "getPermissions", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/security/users": { "get": { "tags": [ "security" ], "summary": "Get users", "description": "Retrieve a list of the defined users.\n\n`New in version 1.13`", "operationId": "getUsers", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "$ref": "#/components/schemas/getUser" } } } } } } }, "post": { "tags": [ "security" ], "summary": "Create a new user", "description": "Create a new user. Responce will contain a security token for user login if password was not set.\n\n`New in version 1.13`", "operationId": "postUser", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/postUser" } } }, "required": true }, "responses": { "201": { "description": "Created", "content": {} }, "400": { "description": "Missing or invalid parameters", "content": {} } } } }, "/security/users/{name}": { "get": { "tags": [ "security" ], "summary": "Get a user by name", "description": "Get details of the user by name.\n\n`New in version 1.13`", "operationId": "getUser", "parameters": [ { "name": "name", "in": "path", "description": "User Name", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/getUser" } } } }, "400": { "description": "Error getting user group details", "content": {} }, "404": { "description": "User does not exist", "content": {} } } }, "patch": { "tags": [ "security" ], "summary": "Update a user by name", "description": "Update details of a user by name. Only parameters for change should be provided.\n\n`New in version 1.13`", "operationId": "patchUser", "parameters": [ { "name": "name", "in": "path", "description": "User Name", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/patchUser" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": {} }, "400": { "description": "Missing or invalid parameters", "content": {} }, "404": { "description": "Group does not exist", "content": {} } } }, "delete": { "tags": [ "security" ], "summary": "Delete a user by name", "description": "Delete a user by name.\n\n`New in version 1.13`", "operationId": "deleteUser", "parameters": [ { "name": "name", "in": "path", "description": "User Name", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "successful delete", "content": {} }, "400": { "description": "Error deleting user", "content": {} }, "404": { "description": "User does not exist", "content": {} } } } }, "/security/users/{name}/token": { "get": { "tags": [ "security" ], "summary": "Get token for API user", "description": "Get token for user by name. Will generate new security token only for users which are not permitted for local login.\n\n`New in version 1.13`", "operationId": "getUserToken", "parameters": [ { "name": "name", "in": "path", "description": "User Name", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "string" } } } }, "400": { "description": "Cannot get token for non API user", "content": {} }, "404": { "description": "User does not exist", "content": {} } } } }, "/taxonomy/sections": { "get": { "tags": [ "taxonomy" ], "summary": "Get list of taxonomy model sections", "description": "`New in version 1.4`", "operationId": "getTaxonomySections", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/taxonomy/locales": { "get": { "tags": [ "taxonomy" ], "summary": "Get list of known taxonomy locales", "description": "`New in version 1.4`", "operationId": "getTaxonomyLocales", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/taxonomy/nodekinds": { "get": { "tags": [ "taxonomy" ], "summary": "Get list of defined node kind names", "description": "`New in version 1.4`", "operationId": "getTaxonomyNodeKinds", "parameters": [ { "name": "section", "in": "query", "description": "The model section, such as 'inferred' or 'ddd'. If not specified, returns node kinds from all sections", "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/taxonomy/nodekinds?format=info": { "get": { "tags": [ "taxonomy" ], "summary": "Get list of defined node kinds with kind info", "description": "`New in version 1.4`", "operationId": "getTaxonomyNodeKindsInfo", "parameters": [ { "name": "section", "in": "query", "description": "The model section, such as 'inferred' or 'ddd'. If not specified, returns node kinds from all sections", "schema": { "type": "string" } }, { "name": "locale", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaxonomyNodeKindInfo" } } } } } } }, "/taxonomy/nodekinds/{kind}": { "get": { "tags": [ "taxonomy" ], "summary": "Get defined node kind details", "description": "`New in version 1.4`", "operationId": "getTaxonomyNodeKind", "parameters": [ { "name": "kind", "in": "path", "description": "Name of node kind", "required": true, "schema": { "type": "string" } }, { "name": "locale", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaxonomyNodeKind" } } } } } } }, "/taxonomy/nodekinds/{kind}/fieldlists": { "get": { "tags": [ "taxonomy" ], "summary": "Get list of node kind field lists", "description": "`New in version 1.4`", "operationId": "getTaxonomyNodeKindFieldLists", "parameters": [ { "name": "kind", "in": "path", "description": "Name of node kind", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/taxonomy/nodekinds/{kind}/fieldlists/{fieldlist}": { "get": { "tags": [ "taxonomy" ], "summary": "Get list of fields for a node kind field list", "description": "`New in version 1.4`. `display_name and show added in version 1.12.`", "operationId": "getTaxonomyNodeKindFieldList", "parameters": [ { "name": "kind", "in": "path", "description": "Name of node kind", "required": true, "schema": { "type": "string" } }, { "name": "fieldlist", "in": "path", "description": "Name of field list", "required": true, "schema": { "type": "string" } }, { "name": "locale", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TaxonomyField" } } } } } } } }, "/taxonomy/relkinds": { "get": { "tags": [ "taxonomy" ], "summary": "Get list of defined relationship kinds", "description": "`New in version 1.4`", "operationId": "getTaxonomyRelationshipKinds", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } } }, "/taxonomy/relkinds?format=info": { "get": { "tags": [ "taxonomy" ], "summary": "Get list of defined relationship kinds with kind info", "description": "`New in version 1.4`", "operationId": "getTaxonomyRelationshipKindsInfo", "parameters": [ { "name": "locale", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaxonomyNodeKindInfo" } } } } } } }, "/taxonomy/relkinds/{kind}": { "get": { "tags": [ "taxonomy" ], "summary": "Get defined relationship kind details", "description": "`New in version 1.4`", "operationId": "getTaxonomyRelationshipKind", "parameters": [ { "name": "kind", "in": "path", "description": "Name of relationship kind", "required": true, "schema": { "type": "string" } }, { "name": "locale", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TaxonomyNodeKind" } } } } } } }, "/topology/nodes": { "post": { "tags": [ "topology" ], "summary": "Get topology data", "description": "Get topology data from one or more starting nodes\n\nIf an array of node_ids or a search query is provided, starts from the matching nodes and finds all nodes directly or indirectly related to them according to the focus.\n\nIf conditions or templates are specified, finds _just_ the nodes matched by the condition, the relationships in the condition, _plus_ any other relationships between the matched nodes. In this case, if node_ids is also specified, those nodes and their relationships are added to the output, but no further related nodes are added.", "operationId": "getTopologyNodes", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/topologyNodesQuery" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/topologyNodesResults" } } } } }, "x-codegen-request-body-name": "body" } }, "/topology/nodes/kinds": { "post": { "tags": [ "topology" ], "summary": "Get topology data by node kinds", "description": "Get nodes of the specified kinds which are related to a given set of nodes.\n\n`New in version 1.2`", "operationId": "getTopologyNodesByKind", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/topologyNodesKindsQuery" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/nodeResults" } } } } } }, "x-codegen-request-body-name": "body" } }, "/topology/services": { "post": { "tags": [ "topology" ], "summary": "Get service information", "description": "From one or more starting nodes, report the *services* they are directly included in, *services* they are excluded from, and *services* they indirectly impact. A *service* is a node published from a model definition: a BusinessService, TechnicalService or BusinessApplicationInstance.\n\n`New in version 1.10`", "operationId": "getTopologyServices", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/topologyServicesQuery" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/topologyServicesResults" } } } } }, "x-codegen-request-body-name": "body" } }, "/topology/focuses": { "get": { "tags": [ "topology" ], "summary": "Get details of available focuses", "description": "Get details of the available focuses to use with topology/nodes.\n\n`New in version 1.10`", "operationId": "getFocuses", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/topologyFocusResult" } } } } } } } }, "/topology/traversal": { "post": { "tags": [ "topology" ], "summary": "Get topology data by performing specified traversals", "description": "Get topology data from one or more starting nodes, using the provided traversal definitions.\n\n`New in version 1.12`", "operationId": "getTopologyTraversal", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/topologyTraversalQuery" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/topologyNodesResults" } } } } }, "x-codegen-request-body-name": "body" } }, "/topology/visualization_state": { "get": { "tags": [ "topology" ], "summary": "Get current visualization state", "description": "Get the current state of the visualization for the authenticated user.\n\n`New in version 1.2`", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/visualizationStateResponse" } } } } } }, "put": { "tags": [ "topology" ], "summary": "Update current visualization state", "description": "Update any or all of the attributes of the current state of the visualization for the authenticated user.\n\n`New in version 1.2`", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/visualizationStatePutRequest" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/visualizationStateResponse" } } } } }, "x-codegen-request-body-name": "body" }, "patch": { "tags": [ "topology" ], "summary": "Update current visualization state", "description": "Update one or more attributes of the current state of the visualization for the authenticated user.\n\n`New in version 1.2`", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/visualizationStateRequest" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/visualizationStateResponse" } } } } }, "x-codegen-request-body-name": "body" } }, "/vault": { "get": { "tags": [ "vault" ], "summary": "Get details of the state of the vault", "operationId": "getVaultStatus", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/vault" } } } } } }, "patch": { "tags": [ "vault" ], "summary": "Change the state of the vault", "operationId": "updateVaultStatus", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/patchVault" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": {} } }, "x-codegen-request-body-name": "body" } }, "/vault/credential_types": { "get": { "tags": [ "credentials" ], "summary": "Get a list of all credential types", "description": "Get a list of all credential types and filter by group and/or category.\n\n `New in version 1.13 - includes attribute information.`", "operationId": "getCredentialTypes", "parameters": [ { "name": "group", "in": "query", "description": "Filter credential types by group", "schema": { "type": "string" } }, { "name": "category", "in": "query", "description": "Filter credential types by category", "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/credentialType" } } } } } } } }, "/vault/credential_types/{cred_type_name}": { "get": { "tags": [ "credentials" ], "summary": "Get the properties of a specific credential type", "description": "Get the properties of a specific credential type.\n\n `New in version 1.13 - includes attribute information.`", "operationId": "getCredentialType", "parameters": [ { "name": "cred_type_name", "in": "path", "description": "Name of the credential type", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/credentialType" } } } } } } }, "/vault/credentials": { "get": { "tags": [ "credentials" ], "summary": "Get a list of all credentials", "operationId": "getCredentials", "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/credential" } } } } } } }, "post": { "tags": [ "credentials" ], "summary": "Create a new credential", "description": "`New in version 1.1 - added support for cloud credentials.`\n\n`New in version 1.2 - added support for API credentials.`", "operationId": "createCredential", "requestBody": { "description": "Credential to be added. Note that a default label is generated if no label is provided. If no ip_range is provided, the credential will be created to match all IPs (0.0.0.0/0,::/0) except for cloud credentials.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/credentialInput" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "required": [ "uri", "uuid" ], "type": "object", "properties": { "uuid": { "type": "string" }, "uri": { "type": "string" } } } } } } }, "x-codegen-request-body-name": "body" } }, "/vault/credentials/by_type/{cred_type_name}": { "get": { "tags": [ "credentials" ], "summary": "Get a list of all credentials for a given type", "operationId": "getCredentialsByType", "parameters": [ { "name": "cred_type_name", "in": "path", "description": "Name of the credential type", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/credential" } } } } } } }, "/vault/credentials/{cred_id}": { "get": { "tags": [ "credentials" ], "summary": "Get the properties of a specific credential", "operationId": "getCredential", "parameters": [ { "name": "cred_id", "in": "path", "description": "ID of the credential", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/credential" } } } } } }, "put": { "tags": [ "credentials" ], "summary": "Replace a credential", "description": "Replaces a single credential. All required credential properties must be present. Optional properties that are missing will be reset to their defaults.", "operationId": "updateCredential", "parameters": [ { "name": "cred_id", "in": "path", "description": "ID of the credential", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "Credential properties", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/credentialInput" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": {} } }, "x-codegen-request-body-name": "body" }, "patch": { "summary": "Patch a credential", "description": "Updates partial resources of a credential. Missing properties are left unchanged.\n\n`New in version 1.1 - added support for cloud credentials.`\n\n`New in version 1.2 - added support for API credentials.`", "operationId": "patchCredential", "tags": [ "credentials" ], "parameters": [ { "name": "cred_id", "in": "path", "description": "ID of the credential", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "Credential properties", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/credentialInput" } } }, "required": true }, "responses": { "200": { "description": "successful operation", "content": {} } }, "x-codegen-request-body-name": "body" }, "delete": { "summary": "Delete a credential", "description": "Deletes a specific credential.", "operationId": "deleteCredential", "tags": [ "credentials" ], "parameters": [ { "name": "cred_id", "in": "path", "description": "ID of the credential", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": {} } } } }, "/vault/kerberos/realms": { "get": { "tags": [ "kerberos" ], "summary": "Retrieve all realms", "description": "Retrieve all available realms\n\n`New in version 1.3`", "operationId": "getAllRealm", "responses": { "200": { "description": "A list of all available realms", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/realmsResponse" } } } } } } }, "/vault/kerberos/realms/{realm_name}": { "get": { "tags": [ "kerberos" ], "summary": "Retrieve a realm", "description": "Retrieve a Kerberos realm by name\n\n`New in version 1.3`", "operationId": "getRealm", "parameters": [ { "name": "realm_name", "in": "path", "description": "The name of the realm", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "A list of realms", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/realmResponse" } } } } } } }, "post": { "tags": [ "kerberos" ], "summary": "Create a realm", "description": "Create a Kerberos realm\n\n`New in version 1.3`", "parameters": [ { "name": "realm_name", "in": "path", "description": "The name of the realm", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "Values to create a new realm", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KerberosInput" } } }, "required": true }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/realmResponse" } } } } }, "x-codegen-request-body-name": "body" }, "delete": { "tags": [ "kerberos" ], "summary": "Delete a realm", "description": "Delete a Kerberos realm\n\n`New in version 1.3`", "parameters": [ { "name": "realm_name", "in": "path", "description": "The name of the realm", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful operation", "content": {} } } }, "patch": { "tags": [ "kerberos" ], "summary": "Update a realm", "description": "Update a Kerberos realm\n\n`New in version 1.3`", "parameters": [ { "name": "realm_name", "in": "path", "description": "The name of the realm", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "Values to update a realm", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KerberosInput" } } }, "required": true }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/realmResponse" } } } } }, "x-codegen-request-body-name": "body" } }, "/vault/kerberos/realms/{realm_name}/test": { "post": { "tags": [ "kerberos" ], "summary": "Test user credentials", "description": "Test user credentials by attempting to acquire a new Kerberos Ticket Granting Ticket (TGT)\n\n`New in version 1.3`", "parameters": [ { "name": "realm_name", "in": "path", "description": "The name of the realm", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "kuser credentials to get a Kerberos ticket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KerberosUserInput" } } }, "required": true }, "responses": { "200": { "description": "Successful operation", "content": {} } }, "x-codegen-request-body-name": "body" } }, "/vault/kerberos/realms/{realm_name}/keytabs": { "get": { "tags": [ "kerberos" ], "summary": "List users with a Kerberos keytab file", "description": "Return a list of users with a Kerberos keytab file\n\n`New in version 1.3`", "operationId": "getUsersWithKeytabs", "parameters": [ { "name": "realm_name", "in": "path", "description": "The name of the realm", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "A list of users with keytabs", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } }, "post": { "tags": [ "kerberos" ], "summary": "Upload a Kerberos keytab file", "description": "Upload a Kerberos keytab file\n\n`New in version 1.3`", "parameters": [ { "name": "realm_name", "in": "path", "description": "The name of the realm", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "username": { "type": "string", "description": "name of the user" }, "keytab": { "type": "string", "format": "binary" } } } } }, "required": true }, "responses": { "200": { "description": "Successful operation", "content": {} } } } }, "/vault/kerberos/realms/{realm_name}/keytabs/{username}": { "delete": { "tags": [ "kerberos" ], "summary": "Delete a keytab file", "description": "Delete the keytab file for a user\n\n`New in version 1.3`", "operationId": "deleteKeytab", "parameters": [ { "name": "realm_name", "in": "path", "description": "The name of the realm", "required": true, "schema": { "type": "string" } }, { "name": "username", "in": "path", "description": "The user name", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": {} } } } }, "/vault/kerberos/realms/{realm_name}/ccaches": { "get": { "tags": [ "kerberos" ], "summary": "List users with a Kerberos credential cache file", "description": "Return a list of users with a Kerberos credential cache file\n\n`New in version 1.3`", "operationId": "getUsersWithCCache", "parameters": [ { "name": "realm_name", "in": "path", "description": "The name of the realm", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "A list of users with ccaches", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } } } }, "post": { "tags": [ "kerberos" ], "summary": "Upload a Kerberos credential cache file", "description": "Upload a Kerberos credential cache file\n\n`New in version 1.3`", "parameters": [ { "name": "realm_name", "in": "path", "description": "The name of the realm", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "username": { "type": "string", "description": "name of the user" }, "ccache": { "type": "string", "format": "binary" } } } } }, "required": true }, "responses": { "200": { "description": "Successful operation", "content": {} } } } }, "/vault/kerberos/realms/{realm_name}/ccaches/{username}": { "delete": { "tags": [ "kerberos" ], "summary": "Delete a cedential cache file", "description": "Deletes the credential cache file for a user\n\n`New in version 1.3`", "operationId": "deleteCCache", "parameters": [ { "name": "realm_name", "in": "path", "description": "The name of the realm", "required": true, "schema": { "type": "string" } }, { "name": "username", "in": "path", "description": "The user name", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "successful operation", "content": {} } } } } }, "components": { "schemas": { "id": { "type": "string", "example": "u13OvFUQadnbNda8SXAK9gU7mEjGos_a" }, "vaultId": { "type": "string", "example": "3481c53b6337b9z576dc7f0a01012919" }, "testConnectionResult": { "type": "object", "required": [ "status", "message" ], "properties": { "status": { "type": "string", "enum": [ "CONNECTION_STATUS_OK", "CONNECTION_STATUS_ERROR", "CONNECTION_STATUS_TOPIC_NOT_FOUND" ], "example": "CONNECTION_STATUS_TOPIC_NOT_FOUND" }, "message": { "type": "string", "example": "topic: 'ddd' does not exist on the following kafka cluster: kafkahost:9092,otherkafkahost:9092" } } }, "uploadedFileNoContent": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "example": "cert.pem" } } }, "uploadedFile": { "allOf": [ { "$ref": "#/components/schemas/uploadedFileNoContent" }, { "type": "object", "required": [ "content" ], "properties": { "content": { "type": "string", "example": "c2tsZGogZnNsZCBramFzbGQga2pvaXNkaiBmb2l3YWplIGZvaWpzZGlmanNvaSBqYW9paiBhb2kgc2phcyBpbw==", "description": "Base64 encoded string" } } } ] }, "upgradeStatus": { "type": "object", "required": [ "status" ], "properties": { "description": { "type": "string", "description": "Upgrade status" }, "status": { "type": "string", "description": "Upgrade status description", "enum": [ "UPGRADE_IDLE", "UPGRADE_PREPARE", "UPGRADE_START", "UPGRADE_ERROR" ] } } }, "externalConsumerAuthNoPassword": { "type": "object", "required": [ "username" ], "properties": { "username": { "type": "string", "example": "kafkauser" } } }, "externalConsumerAuth": { "allOf": [ { "$ref": "#/components/schemas/externalConsumerAuthNoPassword" }, { "type": "object", "required": [ "password" ], "properties": { "password": { "type": "string", "example": "P4ssword" } } } ] }, "baseExternalConsumer": { "type": "object", "required": [ "hostname", "type", "topic", "secured" ], "properties": { "hostname": { "type": "string", "example": "kafkahost:9092,otherkafkahost:9092" }, "type": { "type": "string", "enum": [ "Kafka" ] }, "topic": { "type": "string", "pattern": "^[a-zA-Z0-9\\._\\-]{1,249}$", "example": "ddd" }, "secured": { "type": "boolean" }, "description": { "type": "string", "example": "Main Kafka cluster" } } }, "externalConsumerResponseProps": { "type": "object", "required": [ "id", "vault_id", "updated", "test_connection_result" ], "properties": { "id": { "$ref": "#/components/schemas/id" }, "vault_id": { "$ref": "#/components/schemas/id" }, "updated": { "type": "number", "example": 1670148716.9918802 }, "test_connection_result": { "$ref": "#/components/schemas/testConnectionResult" } } }, "event": { "required": [ "source", "type" ], "type": "object", "properties": { "source": { "type": "string", "description": "Name of an event source which has been defined in the system" }, "type": { "type": "string" }, "params": { "type": "object", "properties": {}, "description": "Parameters of the event depending on the event type" } } }, "importGraphBasicItem": { "required": [ "kind" ], "type": "object", "properties": { "key": { "type": "string", "description": "Identifier of node. Required for node. Unused for relationship" }, "kind": { "type": "string", "description": "Node kind" } } }, "importGraph": { "required": [ "items", "source", "source_prefix" ], "type": "object", "properties": { "source": { "type": "string", "description": "Name of import source" }, "source_prefix": { "type": "string", "description": "Prefix of import source" }, "items": { "type": "array", "description": "Import graph items", "items": { "$ref": "#/components/schemas/importGraphItem" } }, "destroyed": { "type": "array", "description": "In delta mode, list of nodes to be destroyed", "items": { "$ref": "#/components/schemas/importGraphDestroyItem" } }, "uuid": { "type": "string", "description": "UUID of import" }, "complete": { "type": "boolean", "description": "If false, more records for the import UUID are to follow", "default": true }, "mode": { "type": "string", "description": "Supported modes: full/delta. Full mode: A kind for every node and relationship must be provided in each import, meaning that any that are not specified are deleted. Delta mode: Only changed nodes and relationships are specified; deletions must be explicitly provided in \"destroyed\"", "default": "full" } } }, "importGraphItem": { "allOf": [ { "$ref": "#/components/schemas/importGraphBasicItem" }, { "type": "object", "properties": { "data": { "type": "object", "properties": {}, "description": "key/value pair attributes of kind" }, "role1": { "description": "Role in relationship", "$ref": "#/components/schemas/importGraphItemRole" }, "role2": { "description": "Role in relationship", "$ref": "#/components/schemas/importGraphItemRole" }, "void": { "type": "array", "items": { "type": "string" }, "description": "List of attribute names to remove." } } } ] }, "importGraphDestroyItem": { "allOf": [ { "$ref": "#/components/schemas/importGraphBasicItem" } ] }, "importGraphItemRole": { "allOf": [ { "$ref": "#/components/schemas/importGraphBasicItem" }, { "required": [ "role" ], "type": "object", "properties": { "role": { "type": "string", "description": "Name of role" } } } ] }, "import": { "required": [ "items", "source", "type" ], "type": "object", "properties": { "source": { "type": "string", "description": "Name of import source" }, "type": { "type": "string", "description": "Type of import" }, "items": { "type": "array", "description": "Import items", "items": { "$ref": "#/components/schemas/importItem" } }, "uuid": { "type": "string", "description": "UUID of import" }, "complete": { "type": "boolean", "description": "If false, more records for the import UUID are to follow", "default": true } } }, "importItem": { "required": [ "data" ], "type": "object", "properties": { "kind": { "type": "string", "description": "Optional data kind" }, "data": { "type": "object", "properties": {}, "description": "Item data" } } }, "writeData": { "type": "array", "items": { "required": [ "cmd" ], "type": "object", "properties": { "cmd": { "type": "string", "description": "Command to execute" } } } }, "writeDataResult": { "type": "array", "items": { "required": [ "cmd", "code" ], "type": "object", "properties": { "cmd": { "type": "string", "description": "Command that was executed" }, "code": { "type": "integer", "description": "HTTP result code" }, "message": { "type": "string", "description": "Error message (for error codes)" } } } }, "run": { "required": [ "consolidating", "finished", "inferred", "key", "label", "results", "scan_level", "scan_type", "starttime", "uri", "user", "uuid" ], "type": "object", "properties": { "cancelled": { "type": "string", "description": "If present indicates the discovery run was cancelled. Field contents provides more details." }, "blocked": { "type": "boolean", "description": "Flag to indicate if the discovery run is blocked waiting for other prerequisites" }, "done": { "type": "integer", "description": "Number of completed addresses", "format": "int64" }, "key": { "type": "string", "description": "Unique identity string for the discovery run" }, "label": { "type": "string", "description": "Label of the discovery run" }, "scan_kind": { "type": "string", "description": "If this is an API or Cloud scan, the 'scan_params' field will also be populated", "default": "IP", "enum": [ "IP", "Cloud", "API" ] }, "outpost_id": { "type": "string", "description": "Used for IP scans only. Discovery Outpost to use for scanning range. No value means any, empty string means local discovery on the instance or cluster." }, "scope": { "type": "string", "description": "Distinguish overlapping address spaces" }, "scan_level": { "type": "string", "description": "Scan level" }, "scan_params": { "$ref": "#/components/schemas/scanParams" }, "scan_options": { "$ref": "#/components/schemas/scanOptions" }, "scan_type": { "type": "string", "description": "Type of scan" }, "scanning": { "type": "integer", "description": "Number of addresses being scanned", "format": "int64" }, "pre_scanning": { "type": "integer", "description": "Number of addresses being pre-scanned", "format": "int64" }, "starttime": { "type": "string", "description": "Date and time the run started", "format": "date-time" }, "total": { "type": "integer", "description": "Number of addresses in the discovery run", "format": "int64" }, "user": { "type": "string", "description": "User who created the discovery run" }, "valid_ranges": { "type": "string", "description": "Valid IP address ranges in the run" }, "waiting": { "type": "integer", "description": "Number of addresses waiting for end of exclude range", "format": "int64" }, "uuid": { "type": "string", "description": "ID of the discovery run" }, "uri": { "type": "string", "description": "URI to the detail information of the discovery run" }, "finished": { "type": "boolean", "description": "Flag to indicate if the discovery run is finished" }, "inferred": { "type": "string", "description": "URI to the inferred information of the discovery run" }, "results": { "type": "string", "description": "URI to the summarized information of the discovery run" }, "consolidating": { "type": "boolean", "description": "Flag to indicate if the discovery run is consolidated from another instance" }, "consolidation_source": { "type": "string", "description": "Consolidating instance name of the discovery run. If the consolidating instance is in a cluster, this field will represent the cluster name (only present if the run is consolidated from another)" } } }, "scheduledRun": { "required": [ "company", "deleting", "enabled", "label", "range_id", "run_ids", "scan_kind", "scan_level", "scan_type", "schedule", "user", "when_started" ], "type": "object", "properties": { "allow_tpl_scan": { "type": "boolean", "description": "Allow patterns to start new scans against these endpoints." }, "company": { "type": "string", "description": "Specifies the company name to use for a scan in a multitenant deployment." }, "created_time": { "type": "string", "description": "Creation date of the scheduled discovery run" }, "deleting": { "type": "boolean", "description": "If the specified scan range is marked for deletion." }, "enabled": { "type": "boolean", "description": "If the specified scan range is enabled for scanning." }, "range_id": { "type": "string", "description": "Unique identity string for the scheduled discovery run" }, "ranges": { "type": "array", "description": "Used for IP scans only. A list of IP addresses or ranges.", "items": { "type": "string" } }, "run_ids": { "type": "array", "description": "List of unique identity strings for previous discovery runs of specified scan range", "items": { "type": "string" } }, "label": { "type": "string", "description": "Label of the scheduled discovery run" }, "scan_kind": { "type": "string", "description": "If this is an API or Cloud scan, the 'scan_params' field will also be populated", "default": "IP", "enum": [ "IP", "Cloud", "API" ] }, "outpost_id": { "type": "string", "description": "Used for IP scans only. Discovery Outpost to use for scanning range. No value means any, empty string means local discovery on the instance or cluster." }, "scope": { "type": "string", "description": "Distinguish overlapping address spaces" }, "scan_level": { "type": "string", "description": "Scan level" }, "scan_params": { "$ref": "#/components/schemas/scanParams" }, "scan_options": { "$ref": "#/components/schemas/scanOptions" }, "scan_type": { "type": "string", "description": "Type of scan e.g. scheduled" }, "schedule": { "$ref": "#/components/schemas/schedule" }, "user": { "type": "string", "description": "User who created the discovery run" }, "when_started": { "type": "string", "description": "When the specified range was last scanned." } } }, "newRun": { "required": [ "label" ], "type": "object", "properties": { "scan_kind": { "type": "string", "description": "Depending on the kind of scan chosen here, populate either the 'ranges' or 'scan_params' fields.", "default": "IP", "enum": [ "IP", "Cloud", "API" ] }, "outpost_id": { "type": "string", "description": "Used for IP scans only. Discovery Outpost to use for scanning range. No value means any, 'Local discovery' means local discovery on the instance or cluster." }, "scope": { "type": "string" }, "ranges": { "type": "array", "description": "Used for IP scans only. A list of IP addresses or ranges.", "items": { "type": "string" } }, "label": { "type": "string" }, "scan_level": { "type": "string", "default": "Full Discovery", "enum": [ "Full Discovery", "Sweep Scan" ] }, "company": { "type": "string" }, "restricted_org_id": { "type": "string", "description": "Restrict the scan to this organization." }, "scan_params": { "$ref": "#/components/schemas/scanParams" }, "scan_options": { "$ref": "#/components/schemas/scanOptions" } } }, "newScheduledRun": { "required": [ "label", "schedule" ], "type": "object", "properties": { "allow_tpl_scan": { "type": "boolean", "description": "Allow patterns to start new scans against these endpoints." }, "company": { "type": "string", "description": "Specifies the company name to use for a scan in a multitenant deployment." }, "enabled": { "type": "boolean", "description": "Enables the specified scheduled scan" }, "label": { "type": "string", "description": "Label of the scheduled discovery run" }, "outpost_id": { "type": "string", "description": "Used for IP scans only. Discovery Outpost to use for scanning range. No value means any, empty string means local discovery on the instance or cluster." }, "restricted_org_id": { "type": "string", "description": "Restrict the scan to this organization." }, "ranges": { "type": "array", "description": "List of ranges", "items": { "type": "string" } }, "scan_kind": { "type": "string", "description": "If this is an API or Cloud scan, the 'scan_params' field will also be populated", "default": "IP", "enum": [ "IP", "Cloud", "API" ] }, "scope": { "type": "string", "description": "Distinguish overlapping address spaces" }, "scan_level": { "type": "string", "description": "Scan level" }, "scan_params": { "$ref": "#/components/schemas/scanParams" }, "scan_options": { "$ref": "#/components/schemas/scanOptions" }, "scan_type": { "type": "string", "description": "Type of scan e.g. scheduled" }, "schedule": { "$ref": "#/components/schemas/schedule" } } }, "scanParams": { "required": [ "credential", "provider" ], "type": "object", "properties": { "provider": { "type": "string", "description": "Name of the API or cloud provider being scanned" }, "credential": { "type": "string", "description": "Credential of the API or cloud provider being scanned" }, "region": { "type": "array", "description": "List of regions to be scanned. Used for Cloud scans only", "items": { "type": "string" } }, "cluster_url": { "type": "string", "description": "Used for API scans only." } }, "description": "Used for API and Cloud scans only. The 'provider' field contains the name of the API or cloud provider being scanned. Each provider also supports a different set of additional fields. Look up the API provider with the /discovery/api_provider_metadata endpoint and the cloud provider with the /discovery/cloud_metadata endpoint to see which fields to expect here" }, "scanOptions": { "type": "object", "properties": { "NO_PING": { "type": "boolean", "description": "Skip ping before scanning. Used for IP scans only. If this option is omitted, the system default controls whether to ping or not.", "example": false }, "SESSION_LOGGING": { "type": "boolean", "description": "Create session logs during scanning. If this option is omitted, session logs will not be created.", "example": false }, "PRESCAN_IPS": { "type": "boolean", "description": "Pre scan IP addresses to quickly determine if the endpoint is responding. Disabling with option will negatively affect scan times and it should only be used to target specific IPs which are known to exist, usually in conjunction with NO_PING.", "example": true }, "CLOUD_HOST_DETECTION": { "type": "boolean", "description": "Attempt to detect if Hosts are running in a cloud environment such as AWS, Azure or GCE. Only supported by some access methods.", "example": true }, "SKIP_IMPLICIT_SCANS": { "type": "boolean", "description": "Skip implicit scanning. This is only supported by some access methods. If this option is omitted, implicit scanning will be performed.", "example": false }, "VMWARE_GUEST_IMPLICIT_SCANS": { "type": "boolean", "description": "Implicitly scan VMware guest virtual machines when scanning vCenter. If this option is omitted, VMware guests will be implicitly scanned.", "example": true }, "MAX_START_SSM_SESSIONS": { "type": "integer", "description": "Maximum number of concurrent SSM start session requests per region per account. This is only supported for AWS cloud scans. If this option is omitted, the system default sets the limit.", "format": "int64", "example": 3 }, "MAX_ACTIVE_SSM_SESSIONS": { "type": "integer", "description": "Maximum number of active SSM sessions per region per account. This is only supported for AWS cloud scans. If this option is omitted, the system default sets the limit.", "format": "int64", "example": 50 }, "MAX_ACTIVE_IAP_SESSIONS": { "type": "integer", "description": "Maximum number of active IAP sessions per region per account. This is only supported for GCP cloud scans. If this option is omitted, the system default sets the limit.", "format": "int64", "example": 50 } }, "description": "Options controlling the scan. May be extended in future releases." }, "resultsSummary": { "required": [ "count", "uri" ], "type": "object", "properties": { "count": { "type": "integer", "format": "int64" }, "uri": { "type": "string", "description": "Where to go for more information" } } }, "runResultsSummary": { "type": "object", "properties": { "Success": { "$ref": "#/components/schemas/resultsSummary" }, "Skipped": { "$ref": "#/components/schemas/resultsSummary" }, "NoAccess": { "$ref": "#/components/schemas/resultsSummary" }, "NoResponse": { "$ref": "#/components/schemas/resultsSummary" }, "Error": { "$ref": "#/components/schemas/resultsSummary" }, "Dropped": { "$ref": "#/components/schemas/resultsSummary" } } }, "runInferredSummary": { "type": "object", "properties": { "Host": { "$ref": "#/components/schemas/resultsSummary" }, "MFPart": { "$ref": "#/components/schemas/resultsSummary" }, "NetworkDevice": { "$ref": "#/components/schemas/resultsSummary" }, "Printer": { "$ref": "#/components/schemas/resultsSummary" }, "SNMPManagedDevice": { "$ref": "#/components/schemas/resultsSummary" }, "ManagementController": { "$ref": "#/components/schemas/resultsSummary" }, "StorageDevice": { "$ref": "#/components/schemas/resultsSummary" }, "StorageSystem": { "$ref": "#/components/schemas/resultsSummary" }, "VirtualMachine": { "$ref": "#/components/schemas/resultsSummary" }, "LoadBalancerService": { "$ref": "#/components/schemas/resultsSummary" }, "SoftwareInstance": { "$ref": "#/components/schemas/resultsSummary" }, "StorageVolume": { "$ref": "#/components/schemas/resultsSummary" } } }, "patchRunCancelled": { "required": [ "cancelled" ], "type": "object", "properties": { "cancelled": { "type": "boolean", "description": "Flag if the discovery run should be cancelled" } } }, "patchScheduledRun": { "type": "object", "properties": { "allow_tpl_scan": { "type": "boolean", "description": "Allow patterns to start new scans against these endpoints." }, "company": { "type": "string", "description": "Specifies the company name to use for a scan in a multitenant deployment." }, "enabled": { "type": "boolean", "description": "Enables the specified scheduled scan" }, "label": { "type": "string", "description": "Label of the scheduled discovery run" }, "outpost_id": { "type": "string", "description": "Used for IP scans only. Discovery Outpost to use for scanning range. No value means any, empty string means local discovery on the instance or cluster." }, "ranges": { "type": "array", "description": "Used for IP scans only. A list of IP addresses or ranges.", "items": { "type": "string" } }, "scan_kind": { "type": "string", "description": "If this is an API or Cloud scan, the 'scan_params' field will also be populated", "default": "IP", "enum": [ "IP", "Cloud", "API" ] }, "scope": { "type": "string", "description": "Distinguish overlapping address spaces" }, "restricted_org_id": { "type": "string", "description": "Restrict the scan to this organization." }, "scan_level": { "type": "string", "description": "Scan level" }, "scan_params": { "$ref": "#/components/schemas/scanParams" }, "scan_options": { "$ref": "#/components/schemas/scanOptions" }, "scan_type": { "type": "string", "description": "Type of scan e.g. scheduled" }, "schedule": { "$ref": "#/components/schemas/schedule" } } }, "knowledgeUpload": { "type": "object", "properties": { "active_count": { "type": "integer", "format": "int64" }, "inactive_count": { "type": "integer", "format": "int64" }, "modified": { "type": "boolean" }, "name": { "type": "string" }, "origin": { "type": "string" }, "package": { "type": "string" }, "submission_date": { "type": "string", "format": "date-time" }, "superseded_count": { "type": "integer", "format": "int64" }, "upload_id": { "type": "string" } }, "description": "Details on a knowledge upload." }, "outpostData": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "If the Outpost is enabled" }, "exclude_ranges": { "type": "array", "items": { "type": "string" }, "description": "Excluded ranges" }, "last_contact": { "type": "array", "items": { "type": "string" }, "description": "Outpost's last contact" }, "name": { "type": "string", "description": "Outpost name" }, "id": { "type": "string", "description": "Outpost Id" }, "restricted_orgs": { "type": "array", "items": { "type": "string" }, "description": "List of the restricted organizations" }, "scan_ranges": { "type": "array", "items": { "type": "string" }, "description": "Scan ranges" }, "scope": { "type": "string", "description": "Scope of the Outpost" }, "url": { "type": "string", "description": "Outpost url" }, "version": { "type": "string", "description": "Version of the Outpost" } } }, "organizationData": { "type": "object", "properties": { "name": { "type": "string", "description": "Organization Name" }, "id": { "type": "string", "description": "Organization Id" }, "path": { "type": "string", "description": "Path of the Organization" }, "description": { "type": "string", "description": "Description of Organization" } } }, "knowledgeState": { "required": [ "devices", "latest_edp", "latest_storage", "latest_tku", "product_content", "tpl_version", "upload_list" ], "type": "object", "properties": { "devices": { "type": "string", "description": "Version of the Devices package installed" }, "latest_edp": { "$ref": "#/components/schemas/knowledgeUpload" }, "latest_storage": { "$ref": "#/components/schemas/knowledgeUpload" }, "latest_tku": { "$ref": "#/components/schemas/knowledgeUpload" }, "product_content": { "type": "string", "description": "Version of the Product Content package installed" }, "tpl_version": { "type": "array", "description": "A list of two version numbers - major, minor", "items": { "type": "integer", "format": "int64" } }, "upload_list": { "type": "array", "description": "List of all previous instance uploads.", "items": { "$ref": "#/components/schemas/knowledgeUpload" } } }, "description": "Info on instance knowledge. The fields latest_edp, latest_storage, latest_tku and upload_list may have null values if the knowledge type is not present in the system." }, "vault": { "required": [ "open", "passphrase_saved", "passphrase_set" ], "type": "object", "properties": { "open": { "type": "boolean" }, "passphrase_set": { "type": "boolean" }, "passphrase_saved": { "type": "boolean" } } }, "patchVault": { "required": [ "open" ], "type": "object", "properties": { "open": { "type": "boolean" }, "passphrase": { "type": "string" } } }, "credential": { "required": [ "types" ], "type": "object", "properties": { "index": { "type": "integer", "format": "int64" }, "uuid": { "type": "string" }, "enabled": { "type": "boolean" }, "username": { "type": "string" }, "password": { "type": "string" }, "label": { "type": "string" }, "description": { "type": "string" }, "ip_range": { "type": "string" }, "ip_exclusion": { "type": "string" }, "scopes": { "type": "array", "items": { "type": "string" } }, "types": { "type": "array", "items": { "type": "string" } }, "internal.valid": { "type": "boolean" }, "internal.secondary": { "type": "boolean" }, "internal.created": { "type": "string", "format": "date-time" }, "internal.modified": { "type": "string", "format": "date-time" }, "internal.messages": { "type": "array", "items": { "type": "string" } }, "su.enabled": { "type": "boolean" }, "su.username": { "type": "string" }, "su.password": { "type": "string" }, "shell.record": { "type": "boolean" }, "shell.prompt": { "type": "string" }, "shell.terminal": { "type": "string" }, "shell.force_subshell": { "type": "boolean" }, "kerberos.realm": { "type": "string" }, "uri": { "type": "string" } } }, "credentialInput": { "type": "object", "properties": { "index": { "type": "integer", "format": "int64" }, "enabled": { "type": "boolean" }, "username": { "type": "string" }, "password": { "type": "string" }, "label": { "type": "string" }, "description": { "type": "string" }, "ip_range": { "type": "string" }, "ip_exclusion": { "type": "string" }, "scopes": { "type": "array", "items": { "type": "string" } }, "types": { "type": "array", "items": { "type": "string" } }, "su.enabled": { "type": "boolean" }, "su.username": { "type": "string" }, "su.password": { "type": "string" }, "shell.record": { "type": "boolean" }, "shell.prompt": { "type": "string" }, "shell.force_subshell": { "type": "boolean" }, "vsphere.port": { "type": "integer", "format": "int64" }, "vsphere.timeout": { "type": "integer", "format": "int64" }, "vcenter.port": { "type": "integer", "format": "int64" }, "vcenter.sso": { "type": "boolean" }, "vcenter.timeout": { "type": "integer", "format": "int64" }, "windows.port": { "type": "integer", "format": "int64" }, "telnet.port": { "type": "integer", "format": "int64" }, "telnet.timeout": { "type": "integer", "format": "int64" }, "rlogin.port": { "type": "integer", "format": "int64" }, "rlogin.timeout": { "type": "integer", "format": "int64" }, "cimc.port": { "type": "integer", "format": "int64" }, "cimc.timeout": { "type": "integer", "format": "int64" }, "ribcl.port": { "type": "integer", "format": "int64" }, "ribcl.timeout": { "type": "integer", "format": "int64" }, "vplex.port": { "type": "integer", "format": "int64" }, "vplex.timeout": { "type": "integer", "format": "int64" }, "ssh.port": { "type": "integer", "format": "int64" }, "ssh.timeout": { "type": "integer", "format": "int64" }, "ssh.prefauth": { "type": "array", "items": { "type": "string" } }, "ssh.key.set": { "type": "boolean" }, "ssh.key.passphrase": { "type": "string" }, "ssh.key.data": { "type": "string" }, "kerberos.realm": { "type": "string" }, "snmp.port": { "type": "integer", "format": "int64" }, "snmp.timeout": { "type": "integer", "format": "int64" }, "snmp.version": { "type": "string" }, "snmp.retries": { "type": "integer", "format": "int64" }, "snmp.getbulk": { "type": "boolean" }, "snmp.community": { "type": "string" }, "snmp.v3.privkey": { "type": "string" }, "snmp.v3.authkey": { "type": "string" }, "snmp.v3.privproto": { "type": "string" }, "snmp.v3.securityname": { "type": "string" }, "snmp.v3.context": { "type": "string" }, "snmp.v3.authproto": { "type": "string" }, "wbem.http.port": { "type": "integer", "format": "int64" }, "wbem.https.port": { "type": "integer", "format": "int64" }, "wbem.http.enabled": { "type": "boolean" }, "wbem.https.enabled": { "type": "boolean" }, "wbem.timeout": { "type": "integer", "format": "int64" }, "mainframe_agent.port": { "type": "integer", "format": "int64" }, "mainframe_agent.timeout": { "type": "integer", "format": "int64" }, "web_basic.timeout": { "type": "integer", "format": "int64" }, "web_basic.http.enabled": { "type": "boolean" }, "web_digest.timeout": { "type": "integer", "format": "int64" }, "web_digest.http.enabled": { "type": "boolean" }, "web_oauth2.timeout": { "type": "integer", "format": "int64" }, "web_oauth2.token_endpoint": { "type": "string" }, "web_oauth2.http.enabled": { "type": "boolean" } }, "description": "A credential can be used for one or more types of access, with the 'types' field listing all the access types a credential applies to. See the /vault/credential_types endpoint for a list of types. Different access types require different fields from this object to be populated when creating or updating a credential. Also, credentials used to access cloud providers may require additional fields to those listed here. Look up your chosen cloud provider with the /discovery/cloud_metadata endpoint to see a list of fields." }, "credentialType": { "required": [ "attributes", "categories", "description", "groups", "label", "name", "uri" ], "type": "object", "properties": { "name": { "type": "string" }, "label": { "type": "string" }, "description": { "type": "string" }, "groups": { "type": "array", "items": { "type": "string" } }, "categories": { "type": "array", "items": { "type": "string" } }, "attributes": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the attribute" }, "label": { "type": "string", "description": "Label for the attribute" }, "description": { "type": "string", "description": "Description for the attribute" }, "type": { "type": "string", "description": "Type of the attribute" }, "optional": { "type": "boolean", "description": "Indicated the attribute is optional. If not defined, the default will be used" }, "default": { "description": "Default value for optional attributes" } } } }, "uri": { "type": "string" } } }, "searchQuery": { "required": [ "query" ], "type": "object", "properties": { "query": { "type": "string", "description": "The search query to run" } } }, "searchResults": { "required": [ "count", "headings", "kind", "offset", "results" ], "type": "object", "properties": { "kind": { "type": "string", "description": "The node kind of these results" }, "count": { "type": "integer", "description": "Total number of items of this kind in the result set. Note that if your search query uses the EXPLODE keyword, there may be more rows of results returned in total than the count indicates. This is because items are exploded on demand. Therefore it is important to use the 'next_offset' when requesting the next page of results." }, "offset": { "type": "integer", "description": "The offset of the first item in this page of results" }, "results": { "type": "array", "description": "One page of results. A list of rows, where each cell is of any type", "items": { "type": "array", "description": "One row of results", "items": { "type": "object", "description": "A single cell in a results row. Can be of any type" } } }, "headings": { "type": "array", "description": "The headings for the rows in 'results'", "items": { "type": "string" } }, "results_id": { "type": "string", "description": "The opaque id of the results set holding all results of the original search query. Must be passed back when requesting subsequent pages. Only present if there are more pages of results to be shown." }, "next_offset": { "type": "integer", "description": "The offset to use when requesting the next page of results. Only present if there IS a next page.\n\nNote that if your search query uses the EXPLODE keyword, the 'next_offset' is the only way to know which item to request next (comparing the 'results' size and 'offset' value on this page is not guaranteed to work)." }, "next": { "type": "string", "description": "The path to the next page of results (if there IS a next page)." } } }, "searchResultsAsObjects": { "required": [ "count", "kind", "offset", "results" ], "type": "object", "properties": { "kind": { "type": "string", "description": "The node kind of these results" }, "count": { "type": "integer", "description": "Total number of items of this kind in the result set. Note that if your search query uses the EXPLODE keyword, there may be more rows of results returned in total than the count indicates. This is because items are exploded on demand. Therefore it is important to use the 'next_offset' when requesting the next page of results." }, "offset": { "type": "integer", "description": "The offset of the first item in this page of results" }, "results": { "type": "array", "description": "One page of results. List of items represented as objects, with attribute names and values. Values can be any type.", "items": { "type": "object", "properties": {} } }, "results_id": { "type": "string", "description": "The opaque id of the results set holding all results of the original search query. Must be passed back when requesting subsequent pages. Only present if there are more pages of results to be shown." }, "next_offset": { "type": "integer", "description": "The offset to use when requesting the next page of results. Only present if there IS a next page.\n\nNote that if your search query uses the EXPLODE keyword, the 'next_offset' is the only way to know which item to request next (comparing the 'results' size and 'offset' value on this page is not guaranteed to work)." }, "next": { "type": "string", "description": "The path to the next page of results (if there IS a next page)." } } }, "searchConditions": { "required": [ "conditions", "label" ], "type": "object", "properties": { "conditions": { "$ref": "#/components/schemas/conditionGraph" }, "label": { "type": "string", "description": "The label from the conditions around which the search is centered" }, "parameters": { "type": "object", "properties": {}, "description": "Parameter values to use in the condition" } } }, "conditionGraph": { "type": "array", "items": { "$ref": "#/components/schemas/conditionGraphObject" } }, "conditionGraphObject": { "required": [ "type" ], "type": "object", "properties": { "type": { "type": "string", "description": "Type of condition object: 'node' or 'rel'", "example": "node" }, "label": { "type": "string", "description": "Label of this condition object" }, "kind": { "type": "string", "description": "Node/relationship kind" }, "condition": { "type": "object", "properties": {}, "description": "Expression to match" }, "show": { "type": "array", "description": "Values to show in search results", "items": { "type": "object", "properties": {} } }, "order_by": { "type": "object", "properties": {}, "description": "Ordering expression" } } }, "getParamValues": { "required": [ "conditions", "parameter" ], "type": "object", "properties": { "conditions": { "$ref": "#/components/schemas/conditionGraph" }, "parameter": { "type": "string", "description": "Name of the parameter" }, "parameters": { "type": "object", "properties": {}, "description": "Already-set parameter values" }, "limit": { "type": "integer", "description": "Maximum number of values to return", "default": 100 } } }, "getParamValuesResult": { "required": [ "count", "value" ], "type": "object", "properties": { "value": { "type": "string", "description": "Value" }, "count": { "type": "integer", "description": "Number of time the value appears" } } }, "getParams": { "required": [ "conditions" ], "type": "object", "properties": { "conditions": { "$ref": "#/components/schemas/conditionGraph" } } }, "getParamsResult": { "type": "object", "properties": {} }, "nodesQuery": { "type": "object", "properties": { "node_ids": { "type": "array", "description": "A list of node IDs. Requests must have either the node_ids parameter or the search_query parameter.", "items": { "type": "string" } }, "search_query": { "type": "string", "description": "A search query to run. Requests must have either the node_ids parameter or the search_query parameter." }, "attributes": { "type": "array", "description": "If specified, only these attributes will be retrieved for all nodes in the results. Otherwise a default set will be used.", "items": { "type": "string" } } } }, "nodeResults": { "required": [ "destroyed", "kind", "modified", "state" ], "type": "object", "properties": { "destroyed": { "type": "boolean", "description": "Whether the node is destroyed or not" }, "kind": { "type": "string", "description": "The kind of the node" }, "modified": { "type": "string", "description": "The last modified time of the node", "format": "date-time" }, "state": { "type": "object", "properties": {}, "description": "The full state of the node, containing all attribute names and values" } } }, "nodeResultsRels": { "required": [ "destroyed", "kind", "modified", "relationships", "state" ], "type": "object", "properties": { "destroyed": { "type": "boolean", "description": "Whether the node is destroyed or not" }, "kind": { "type": "string", "description": "The kind of the node" }, "modified": { "type": "string", "description": "The last modified time of the node", "format": "date-time" }, "state": { "type": "object", "properties": {}, "description": "The full state of the node, containing all attribute names and values" }, "relationships": { "type": "array", "description": "A list of current live traversal specs that can be followed from this node.", "items": { "type": "string" } } } }, "nodeResultsTraverse": { "required": [ "destroyed", "kind", "modified", "relationships", "state" ], "type": "object", "properties": { "destroyed": { "type": "boolean", "description": "Whether the node is destroyed or not" }, "kind": { "type": "string", "description": "The kind of the node" }, "modified": { "type": "string", "description": "The last modified time of the node", "format": "date-time" }, "state": { "type": "object", "properties": {}, "description": "The full state of the node, containing all attribute names and values" }, "relationships": { "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/traversal" } }, "description": "Results of following the traversal spec, which may have been wildcarded. Maps each concrete traversal spec to a list of (relationship, target node) pairs that can be reached." } } }, "traversal": { "required": [ "node", "rel" ], "type": "object", "properties": { "rel": { "type": "string", "description": "The ID of the relationship node in this traversal." }, "node": { "type": "string", "description": "The ID of the target node reached in this traversal." } } }, "nodeGraphResults": { "required": [ "links", "nodes" ], "type": "object", "properties": { "nodes": { "type": "array", "description": "List of node data involved in the graph data", "items": { "required": [ "id", "kind", "name", "short_name" ], "type": "object", "properties": { "id": { "type": "string", "description": "ID of the node" }, "kind": { "type": "string", "description": "Kind of the node" }, "name": { "type": "string", "description": "Name of the node" }, "short_name": { "type": "string", "description": "Shortened name of the node" } } } }, "links": { "type": "array", "description": "List of relationships involved in the graph data", "items": { "required": [ "kind", "rel_id", "src_id", "tgt_id" ], "type": "object", "properties": { "rel_id": { "type": "string", "description": "ID of the relationship" }, "kind": { "type": "string", "description": "Kind of the relationship" }, "src_id": { "type": "string", "description": "ID of the source node" }, "tgt_id": { "type": "string", "description": "ID of the target node" }, "src_role": { "type": "string", "description": "Role of the source node" }, "tgt_role": { "type": "string", "description": "Role of the target node" } } } } } }, "clusterInfo": { "required": [ "uuid", "name", "alias", "fault_tolerance", "coordinator", "members", "clustered", "rebalancing", "replication" ], "type": "object", "properties": { "uuid": { "type": "string", "description": "UUID of the cluster" }, "name": { "type": "string", "description": "Name of the cluster" }, "alias": { "type": "string", "description": "DNS alias for the cluster" }, "fault_tolerance": { "type": "boolean", "description": "Fault tolerance setting" }, "coordinator": { "type": "string", "description": "UUID of coordinating cluster member" }, "members": { "type": "array", "items": { "$ref": "#/components/schemas/clusterMember" } }, "departed": { "type": "array", "items": { "$ref": "#/components/schemas/clusterMember" } }, "clustered": { "type": "boolean", "description": "Is the system clustered?" }, "rebalancing": { "type": "boolean", "description": "Is the system rebalancing?" }, "replication": { "type": "integer", "description": "Current replication factor" }, "rebalance": { "$ref": "#/components/schemas/rebalanceStatus" } } }, "clusterMember": { "required": [ "uuid", "name", "address", "is_coordinator", "state", "health", "health_reason", "overall_health", "overall_health_reason", "services_state", "last_contact" ], "type": "object", "properties": { "uuid": { "type": "string", "description": "UUID of the cluster member" }, "name": { "type": "string", "description": "Name of the cluster member" }, "address": { "type": "string", "description": "Address of the cluster member (IP, DNS name)" }, "is_coordinator": { "type": "boolean", "description": "Is this member the cluster coordinator?" }, "state": { "type": "string", "enum": [ "WILL_JOIN", "JOINING", "NORMAL", "WILL_LEAVE", "LEAVING", "DEPARTED" ], "description": "State of cluster member" }, "health": { "type": "string", "enum": [ "UNKNOWN", "OK", "ERROR", "SERVICES_RESTART" ], "description": "Health of cluster member" }, "health_reason": { "type": "string", "description": "Reason for health of cluster member" }, "overall_health": { "type": "string", "enum": [ "UNKNOWN", "OK", "ERROR", "SERVICES_RESTART" ], "description": "Overall health of cluster member" }, "overall_health_reason": { "type": "string", "description": "Reason for overall health of cluster member" }, "services_state": { "type": "string", "enum": [ "RUNNING", "STOPPED", "STARTING", "STOPPING", "BROKEN", "UNKNOWN" ], "description": "State of system services on cluster member" }, "last_contact": { "type": "string", "description": "Date and time of last contact with cluster member", "format": "date-time" }, "disk_free_space": { "type": "object", "description": "Free disk space for each mounted filesytem on the cluster member", "additionalProperties": { "type": "integer" } }, "disk_total_space": { "type": "object", "description": "Total disk space for each mounted filesytem on the cluster member", "additionalProperties": { "type": "integer" } }, "disk_status": { "type": "string", "enum": [ "OK", "WARN", "STOP", "FULL" ], "description": "Disk status for the cluster member" }, "memory_total_space": { "type": "integer", "description": "Total memory for the cluster member (MB)" }, "swap_total_space": { "type": "integer", "description": "Total swap for the cluster member (MB)" }, "logical_processors_total": { "type": "integer", "description": "Total logical processors for the cluster member (MB)" }, "processor_type": { "type": "string", "description": "Processor type for the cluster member" }, "os_version": { "type": "string", "description": "OS version for the cluster member" }, "os_release": { "type": "string", "description": "OS release for the cluster member" }, "version": { "type": "string", "description": "System version for the cluster member" }, "release": { "type": "string", "description": "System release for the cluster member" }, "compatible_versions": { "type": "array", "description": "System release for the cluster member", "items": { "type": "string" } } } }, "rebalanceStatus": { "type": "object", "required": [ "new_replication", "current_kind", "pc_complete", "num_kinds_left" ], "properties": { "new_replication": { "type": "integer", "description": "New replication factor" }, "current_kind": { "type": "string", "description": "Current node kind being processed" }, "pc_complete": { "type": "integer", "description": "Rebalance completion percentage" }, "num_kinds_left": { "type": "integer", "description": "Number of node kinds left to process" } } }, "clusterState": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the cluster" }, "alias": { "type": "string", "description": "DNS alias for the cluster" }, "fault_tolerance": { "type": "boolean", "description": "Fault tolerance setting" }, "coordinator": { "type": "string", "description": "UUID of coordinating cluster member" }, "members": { "type": "array", "items": { "$ref": "#/components/schemas/clusterMemberState" } }, "replication": { "type": "integer", "description": "Replication factor", "minimum": 1 } }, "example": { "name": "new-cluster-name", "alias": "new-cluster-name.example.com", "fault_tolerance": true, "coordinator": "uuid", "members": [ { "uuid": "member1", "address": "member1.example.com" }, { "uuid": "member2", "address": "member2.example.com" }, { "uuid": "member3", "address": "member3.example.com" } ], "replication": 2 } }, "clusterMemberState": { "type": "object", "properties": { "uuid": { "type": "string", "description": "UUID of the cluster member" }, "address": { "type": "string", "description": "Address of the cluster member (IP, DNS name)" } } }, "clusterConflictingChanges": { "required": [ "msg", "pending" ], "type": "object", "properties": { "msg": { "type": "string", "description": "Error message" }, "pending": { "type": "array", "description": "List of pending changes (may be empty if changes already in progress)", "items": { "oneOf": [ { "$ref": "#/components/schemas/clusterPendingAddMember" }, { "$ref": "#/components/schemas/clusterPendingRemoveMember" }, { "$ref": "#/components/schemas/clusterPendingChangeFaultTolerance" }, { "$ref": "#/components/schemas/clusterPendingChangeCoordinator" }, { "$ref": "#/components/schemas/clusterPendingChangeAddress" }, { "$ref": "#/components/schemas/clusterPendingChangeClusterName" }, { "$ref": "#/components/schemas/clusterPendingChangeClusterAlias" } ] } } } }, "clusterPendingAddMember": { "required": [ "type", "member" ], "type": "object", "properties": { "type": { "type": "string", "description": "Type of change: ADD" }, "member": { "$ref": "#/components/schemas/clusterMember" } } }, "clusterPendingRemoveMember": { "required": [ "type", "member", "force" ], "type": "object", "properties": { "type": { "type": "string", "description": "Type of change: REMOVE" }, "member": { "$ref": "#/components/schemas/clusterMember" }, "force": { "type": "boolean", "description": "If true the member is being forcibly removed" } } }, "clusterPendingChangeFaultTolerance": { "required": [ "type", "fault_tolerance", "replication" ], "type": "object", "properties": { "type": { "type": "string", "description": "Type of change: FAULT_TOLERANCE" }, "fault_tolerance": { "type": "boolean", "description": "Pending fault tolerance setting" }, "replication": { "type": "integer", "description": "Pending replication factor" } } }, "clusterPendingChangeCoordinator": { "required": [ "type", "coordinator" ], "type": "object", "properties": { "type": { "type": "string", "description": "Type of change: COORDINATOR" }, "coordinator": { "type": "string", "description": "UUID of new coordinator" } } }, "clusterPendingChangeAddress": { "required": [ "type", "member", "address" ], "type": "object", "properties": { "type": { "type": "string", "description": "Type of change: CHANGE_ADDRESS" }, "member": { "$ref": "#/components/schemas/clusterMember" }, "address": { "type": "string", "description": "New address" } } }, "clusterPendingChangeClusterName": { "required": [ "type", "name" ], "type": "object", "properties": { "type": { "type": "string", "description": "Type of change: CLUSTER_NAME" }, "name": { "type": "string", "description": "New cluster name" } } }, "clusterPendingChangeClusterAlias": { "required": [ "type", "alias" ], "type": "object", "properties": { "type": { "type": "string", "description": "Type of change: CLUSTER_ALIAS" }, "name": { "type": "string", "description": "New cluster alias" } } }, "clusterAddFailures": { "required": [ "msg", "failures" ], "type": "object", "properties": { "msg": { "type": "string", "description": "Error message" }, "failures": { "type": "array", "description": "List of members which could not be added with reasons for failure", "items": { "required": [ "address", "reason_list" ], "type": "object", "properties": { "address": { "type": "string", "description": "Address of the member which could not be added" }, "reason_list": { "type": "array", "description": "Reasons why the member could not be added", "items": { "type": "string" } } } } } } }, "clusterRemoveFailures": { "required": [ "msg", "failures" ], "type": "object", "properties": { "msg": { "type": "string", "description": "Error message" }, "failures": { "type": "array", "description": "List of members which could not be removed with reasons for failure", "items": { "required": [ "uuid", "name", "reason_list" ], "type": "object", "properties": { "uuid": { "type": "string", "description": "UUID of the member which could not be removed" }, "name": { "type": "string", "description": "Name of the member which could not be removed" }, "reason_list": { "type": "array", "description": "Reasons why the member could not be removed", "items": { "type": "string" } } } } } } }, "baselineStatus": { "required": [ "results", "summary", "checks", "actions" ], "type": "object", "properties": { "summary": { "$ref": "#/components/schemas/baselineSummary" }, "results": { "$ref": "#/components/schemas/baselineResults" }, "checks": { "$ref": "#/components/schemas/baselineChecks" }, "actions": { "$ref": "#/components/schemas/baselineActions" } } }, "baselinePatch": { "required": [ "checks", "actions" ], "type": "object", "properties": { "checks": { "$ref": "#/components/schemas/baselineChecksPatch" }, "actions": { "$ref": "#/components/schemas/baselineActions" } } }, "about": { "required": [ "versions" ], "type": "object", "properties": { "versions": { "$ref": "#/components/schemas/aboutVersions" } } }, "aboutVersions": { "required": [ "devices", "os_updates", "product", "product_content", "product_version" ], "type": "object", "properties": { "devices": { "type": "string", "description": "Version of the Devices package installed" }, "os_updates": { "type": "string", "description": "Version of the OS Updates package installed" }, "product": { "type": "string", "description": "Internal version of BMC Discovery" }, "product_content": { "type": "string", "description": "Version of the Product Content package installed" }, "product_version": { "type": "string", "description": "Marketing version of BMC Discovery" } } }, "applicationPreferences": { "required": [ "csv_bom", "csv_delimiter", "date_format", "group_visible", "history_view", "pagesize", "recent_item_count", "result_set_size", "time_with_seconds_format", "xml_version" ], "type": "object", "properties": { "date_format": { "type": "string", "description": "The date format to be displayed in either UK or US style (%Y-%m-%d, %d/%m/%Y, %m/%d/%Y)" }, "time_with_seconds_format": { "type": "string", "description": "The time format to be displayed (%H:%M:%S %Z, %-I:%M:%S %P %Z, %H:%M:%S, %-I:%M:%S %P)" }, "result_set_size": { "type": "integer", "description": "The number of search results to display per page (10, 15, 20, 25, 30, 35, 40, 45, 50, 75, 100, 125, 150, 175, 200, 225, 250)" }, "recent_item_count": { "type": "integer", "description": " The size of the Recent Items list (0, 5, 10, 15, 20, 25)" }, "history_view": { "type": "string", "description": " The History view type (COMPARATIVE or RAW)" }, "csv_delimiter": { "type": "string", "description": "The default delimiter for exported data (',', ';', or '\\t')" }, "csv_bom": { "type": "boolean", "description": "Whether to include a byte-order-mark (BOM) in CSV export files" }, "xml_version": { "type": "string", "description": "The XML version required for reports (1.0 or 1.1)" }, "pagesize": { "type": "string", "description": "The default paper size for PDF reports (A4, Letter, B4, Legal or ELEVENSEVENTEEN (11\"x17\"))" }, "group_visible": { "type": "boolean", "description": "Whether to show group name labels on search results pages" } } }, "apiProviderMetadata": { "type": "array", "description": "A list of API providers, along with information on the fields required to create API scans and API credentials for each provider", "items": { "required": [ "cred_params", "provider", "scan_params" ], "type": "object", "properties": { "provider": { "type": "string", "description": "Name of the API provider. Used for the 'scan_params.provider' field in the /discovery/runs endpoints, and as an entry in the 'types' list in the /vault/credentials endpoints" }, "scan_params": { "type": "array", "description": "List of additional 'scan_params' fields this API provider supports in the /discovery/runs endpoint", "items": { "required": [ "allowed_values", "description", "is_list", "mandatory", "name", "type" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of the field in the 'scan_params' object" }, "description": { "type": "string" }, "type": { "type": "string", "description": "The type of this field" }, "is_list": { "type": "boolean", "description": "Whether this field is a list of values or a single instance" }, "mandatory": { "type": "boolean", "description": "Whether this field is required to create a new API scan or can be skipped" }, "allowed_values": { "type": "object", "properties": {}, "description": "The allowed values for this field. The values are the keys of this object, with descriptions for the values" } } } }, "cred_params": { "type": "array", "description": "List of additional fields this API provider supports in the /vault/credentials endpoints", "items": { "required": [ "allowed_values", "description", "is_list", "mandatory", "name", "type" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of this field in the credentials object" }, "description": { "type": "string" }, "type": { "type": "string", "description": "The type of this field" }, " is_list": { "type": "boolean", "description": "Whether this field is a list of values or a single instance" }, "mandatory": { "type": "boolean", "description": "Whether this field is required to create a new API provider credential or can be skipped" }, "allowed_values": { "type": "array", "description": "The allowed values for this field", "items": { "type": "string" } } } } } } } }, "cloudMetadata": { "type": "array", "description": "A list of cloud providers, along with information on the fields required to create cloud scans and cloud credentials for each provider", "items": { "required": [ "cred_params", "provider", "scan_params" ], "type": "object", "properties": { "provider": { "type": "string", "description": "Name of the cloud provider. Used for the 'scan_params.provider' field in the /discovery/runs endpoints, and as an entry in the 'types' list in the /vault/credentials endpoints" }, "scan_params": { "type": "array", "description": "List of additional 'scan_params' fields this cloud provider supports in the /discovery/runs endpoint", "items": { "required": [ "allowed_values", "description", "is_list", "mandatory", "name", "type" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of the field in the 'scan_params' object" }, "description": { "type": "string" }, "type": { "type": "string", "description": "The type of this field" }, "is_list": { "type": "boolean", "description": "Whether this field is a list of values or a single instance" }, "mandatory": { "type": "boolean", "description": "Whether this field is required to create a new cloud scan or can be skipped" }, "allowed_values": { "type": "object", "properties": {}, "description": "The allowed values for this field. The values are the keys of this object, with descriptions for the values" } } } }, "cred_params": { "type": "array", "description": "List of additional fields this cloud provider supports in the /vault/credentials endpoints", "items": { "required": [ "allowed_values", "description", "is_list", "mandatory", "name", "type" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of this field in the credentials object" }, "description": {}, "type": { "type": "string", "description": "The type of this field" }, "is_list": { "type": "boolean", "description": "Whether this field is a list of values or a single instance" }, "mandatory": { "type": "boolean", "description": "Whether this field is required to create a new cloud credential or can be skipped" }, "allowed_values": { "type": "array", "description": "The allowed values for this field", "items": { "type": "string" } } } } } } } }, "baselineSummary": { "required": [ "last_message", "last_ok" ], "type": "object", "properties": { "last_ok": { "type": "boolean", "description": "Whether the last baseline check contained any failures or not" }, "last_message": { "type": "string", "description": "Summary message from the last baseline check" }, "last_checked": { "type": "string", "description": "Time the baseline was last checked", "format": "date-time" } } }, "baselineResults": { "required": [ "FAILED", "NOT_RUN", "PASSED" ], "type": "object", "properties": { "PASSED": { "type": "array", "description": "Checks which passed the last baseline run", "items": { "$ref": "#/components/schemas/baselineCheckResult" } }, "FAILED": { "type": "array", "description": "Checks which failed the last baseline run", "items": { "$ref": "#/components/schemas/baselineCheckResult" } }, "NOT_RUN": { "type": "array", "description": "Checks currently disabled from baseline runs", "items": { "$ref": "#/components/schemas/baselineCheckResult" } } } }, "baselineChecks": { "type": "array", "description": "List of checks", "items": { "$ref": "#/components/schemas/baselineCheckWithKey" } }, "baselineChecksPatch": { "type": "array", "description": "List of checks", "items": { "$ref": "#/components/schemas/baselineCheckPatch" } }, "baselineActions": { "type": "object", "properties": { "critical": { "type": "array", "description": "Actions to take on CRITICAL failure", "items": { "type": "string", "enum": [ "SEND_EMAIL", "RAISE_FIREWALL", "STOP_DISCOVERY" ] } }, "major": { "type": "array", "description": "Actions to take on MAJOR failure", "items": { "type": "string", "enum": [ "SEND_EMAIL", "RAISE_FIREWALL", "STOP_DISCOVERY" ] } }, "minor": { "type": "array", "description": "Actions to take on MINOR failure", "items": { "type": "string", "enum": [ "SEND_EMAIL", "RAISE_FIREWALL", "STOP_DISCOVERY" ] } }, "info": { "type": "array", "description": "Actions to take on INFO only", "items": { "type": "string", "enum": [ "SEND_EMAIL", "RAISE_FIREWALL", "STOP_DISCOVERY" ] } }, "ok": { "type": "array", "description": "Actions to take on SUCCESS", "items": { "type": "string", "enum": [ "SEND_EMAIL" ] } } } }, "baselineCheckWithKey": { "required": [ "name", "key", "enabled", "severity" ], "type": "object", "properties": { "name": { "type": "string", "description": "Check name" }, "key": { "type": "string", "description": "Internal name of the check" }, "enabled": { "type": "boolean", "description": "Check enabled or not" }, "severity": { "type": "string", "description": "How important this check is", "enum": [ "INFO", "MINOR", "MAJOR", "CRITICAL" ] } } }, "baselineCheckPatch": { "required": [ "key", "enabled", "severity" ], "type": "object", "properties": { "key": { "type": "string", "description": "Internal name of the check" }, "enabled": { "type": "boolean", "description": "Check enabled or not" }, "severity": { "type": "string", "description": "How important this check is", "enum": [ "INFO", "MINOR", "MAJOR", "CRITICAL" ] } } }, "baselineCheckResult": { "required": [ "enabled", "message", "name", "severity" ], "type": "object", "properties": { "name": { "type": "string", "description": "The name of this check" }, "severity": { "type": "string", "description": "How important this check is", "enum": [ "INFO", "MINOR", "MAJOR", "CRITICAL" ] }, "enabled": { "type": "boolean", "description": "Whether this check will be included in the next baseline run" }, "message": { "type": "string", "description": "A message describing the status of this check" }, "details": { "type": "array", "description": "Detailed results of the individual components of this check", "items": { "$ref": "#/components/schemas/baselineCheckDetail" } } } }, "baselineCheckDetail": { "required": [ "messages", "status" ], "type": "object", "properties": { "status": { "type": "string", "description": "Last result of running this component of a baseline check", "enum": [ "PASSED", "FAILED", "NOT_RUN" ] }, "messages": { "type": "array", "description": "Messages generated from the last run of this component", "items": { "type": "string" } }, "machine_name": { "type": "string", "description": "The BMC Discovery cluster member that this component of the check was run on. Only present if the instance is clustered and this component is run once per cluster member." } } }, "baselineActionsDetail": { "required": [ "critical", "major", "minor", "info", "ok" ], "type": "object", "properties": { "critical": { "type": "array", "description": "Actions to take on CRITICAL failure", "items": { "type": "string" } }, "major": { "type": "array", "description": "Actions to take on MAJOR failure", "items": { "type": "string" } }, "minor": { "type": "array", "description": "Actions to take on MINOR failure", "items": { "type": "string" } }, "info": { "type": "array", "description": "Actions to take on INFO failure", "items": { "type": "string" } }, "ok": { "type": "array", "description": "Actions to take on SUCCESS", "items": { "type": "string" } } } }, "topologyNodesQuery": { "type": "object", "properties": { "node_ids": { "type": "array", "description": "A list of node IDs. Requests must have one of node_ids, search_query, conditions or templates.", "items": { "type": "string" } }, "search_query": { "type": "string", "description": "A search query to run. Requests must have one of node_ids, search_query, conditions or templates." }, "conditions": { "type": "array", "description": "Array of condition objects. Requests must have one of node_ids, search_query, conditions or templates.", "items": { "type": "object", "properties": {} } }, "parameters": { "type": "object", "properties": {}, "description": "Parameters required by conditions" }, "templates": { "type": "object", "properties": {}, "description": "Model templates and parameters. Requests must have one of node_ids, search_query, conditions or templates." }, "focuses": { "type": "array", "description": "List of one or more focuses to use for determining how the graph should be traversed when obtaining topology data.", "items": { "type": "string" } }, "extra_rules": { "type": "array", "description": "Extra rules used to determine whether or not a particular node should be included or excluded when conducting a traversal.", "items": { "type": "object", "properties": {} } }, "show_rules": { "type": "boolean", "description": "Whether or not to show the rules used in the topology retrieval in the response.", "default": false }, "explode_groups": { "type": "array", "description": "\"Explode\" some or all groups - returns full data for all members in the specified groups, unconditionally. This should either be a list of string group IDs or the string 'all'.", "items": { "type": "string" } }, "shared_overrides": { "type": "object", "properties": {}, "description": "Overrides to shared nodes." }, "grouping": { "type": "string", "description": "Controls automated grouping style.", "enum": [ "normal", "aggressive", "simple", "rootlocal", "root", "never" ] }, "max_depth": { "type": "integer", "description": "Maximum depth to traverse from root nodes during topology retrieval." }, "expanding_group": { "type": "boolean", "description": "Whether or not the request has been made because we are expanding a previously grouped set of results from previously retrieved topology data.", "default": false }, "show_suppressed": { "type": "boolean", "description": "Whether or not to show in the response the list of node IDs that have been suppressed from the results by exclusion rules or due to shared evaluation.", "default": false }, "attributes": { "type": "array", "description": "If specified, only these attributes will be retrieved for all nodes in the results. Otherwise a default set will be used.", "items": { "type": "string" } }, "at_time": { "type": "string", "description": "The time in the past for which to retrieve topology data.", "format": "date-time" }, "annotate_cycles": { "type": "boolean", "description": "Whether or not to annotate relationships that lead to cycles in the returned topology data.", "default": false }, "direction": { "type": "string", "description": "Impact direction to follow", "enum": [ "inout", "in", "out" ] }, "consider_shared": { "type": "boolean", "description": "If true, nodes are analysed to consider whether they are likely to be shared by multiple models. Defaults to false when getting topology for a model; defaults to true when getting topology for any other node kind." }, "get_related_models": { "type": "boolean", "description": "When retrieving topology for a service model, should information about related models be included in the output?", "default": true }, "link_model_nodes": { "type": "boolean", "description": "If true, when retrieving topology for a service model, perform traversals to collect additional relationships between existing nodes.", "default": false }, "set_locations": { "type": "boolean", "description": "If true, nodes are annotated with location information in color_info, when it is available.", "default": true } } }, "topologyNodesKindsQuery": { "type": "object", "properties": { "node_ids": { "type": "array", "description": "A list of node IDs. Requests must have either the node_ids parameter or the search_query parameter.", "items": { "type": "string" } }, "search_query": { "type": "string", "description": "A search query to run. Requests must have either the node_ids parameter or the search_query parameter." }, "node_kinds": { "type": "array", "description": "List of node kinds", "items": { "type": "string" } } } }, "topologyNodesResults": { "required": [ "links", "nodes" ], "type": "object", "properties": { "nodes": { "type": "object", "description": "Nodes in the graph, mapping node id to node state", "additionalProperties": { "type": "object", "required": [ "id", "kind" ], "properties": { "id": { "type": "string", "description": "Node ID" }, "kind": { "type": "string", "description": "Node kind" }, "name": { "type": "string", "description": "Node's name attribute" }, "short_name": { "type": "string", "description": "Node's short_name attribute" }, "type": { "type": "string", "description": "Node's type attribute" }, "depth": { "type": "integer", "description": "Number of traversal hops from root node" }, "root": { "type": "boolean", "description": "true if a root node" }, "attributes": { "type": "object", "description": "Retrieved node attributes other than name, short_name, type" } } } }, "links": { "type": "array", "description": "List of relationships involved in the graph data", "items": { "required": [ "kind", "rel_id", "src_id", "tgt_id" ], "type": "object", "properties": { "rel_id": { "type": "string", "description": "ID of the relationship" }, "kind": { "type": "string", "description": "Kind of the relationship" }, "src_id": { "type": "string", "description": "ID of the source node" }, "tgt_id": { "type": "string", "description": "ID of the target node" }, "src_role": { "type": "string", "description": "Role of the source node" }, "tgt_role": { "type": "string", "description": "Role of the target node" }, "attributes": { "type": "object", "description": "Retrieved attributes" } } } }, "info": { "type": "object", "description": "Information about topology data", "properties": { "focuses": { "type": "array", "description": "Focuses used to generate data", "items": { "type": "string" } }, "sam_enabled": { "type": "boolean", "description": "If true, data and focuses can be used in a SAM service model" } } } } }, "topologyServicesQuery": { "type": "object", "properties": { "node_ids": { "type": "array", "description": "A list of node IDs. Requests must provide either node_ids or search_query.", "items": { "type": "string" } }, "search_query": { "type": "string", "description": "A search query to run. Requests must provide either node_ids or search_query." }, "source_attributes": { "type": "array", "description": "If specified, attributes to retrieve from the source nodes.", "items": { "type": "string" } }, "service_attributes": { "type": "array", "description": "If specified, attributes to retrieve from the service nodes.", "items": { "type": "string" } } } }, "topologyServiceResult": { "type": "array", "items": { "type": "object", "required": [ "node_id", "name", "key", "kind", "model_node_id", "model_key" ], "properties": { "node_id": { "type": "string", "description": "id of the service node" }, "name": { "type": "string", "description": "name of the service node" }, "key": { "type": "string", "description": "key of the service node" }, "kind": { "type": "string", "description": "kind of the service node" }, "model_node_id": { "type": "string", "description": "id of the ModelDefinition node" }, "model_key": { "type": "string", "description": "key of the ModelDefinition node" } } } }, "topologyServicesResults": { "type": "array", "items": { "type": "object", "required": [ "node_id", "name", "key", "kind" ], "properties": { "node_id": { "type": "string", "description": "id of the source node" }, "name": { "type": "string", "description": "name of the source node" }, "key": { "type": "string", "description": "key of the source node" }, "kind": { "type": "string", "description": "kind of the source node" }, "included": { "$ref": "#/components/schemas/topologyServiceResult" }, "excluded": { "$ref": "#/components/schemas/topologyServiceResult" }, "impacts": { "$ref": "#/components/schemas/topologyServiceResult" } } }, "example": [ { "node_id": "123456abcdef", "name": "host1.example.com", "key": "ABC123", "kind": "Host", "included": [ { "node_id": "2345", "name": "Service One", "key": "XYZ456", "kind": "BusinessService", "model_node_id": "3456", "model_key": "MD_XYZ456" } ], "excluded": [ { "node_id": "4567", "name": "Service Two", "key": "789DEF", "kind": "TechnicalService", "model_node_id": "5678", "model_key": "MD_789DEF" } ], "impacts": [ { "node_id": "6789", "name": "Service Three", "key": "GHI987", "kind": "BusinessApplicationInstance", "model_node_id": "789a", "model_key": "MD_GHI987" } ] } ] }, "topologyTraversalQuery": { "type": "object", "properties": { "node_ids": { "type": "array", "description": "A list of node IDs. Requests must have one of node_ids or search_query.", "items": { "type": "string" } }, "search_query": { "type": "string", "description": "A search query to run. Requests must have one of node_ids or search_query." }, "max_depth": { "type": "integer", "description": "Maximum depth to traverse from starting nodes." }, "max_nodes": { "type": "integer", "description": "Maximum number of nodes." }, "max_rels": { "type": "integer", "description": "Maximum number of relationships." }, "attributes": { "type": "array", "description": "The default attributes to retrieve from nodes.", "items": { "type": "string" } }, "rel_attributes": { "type": "array", "description": "The default attributes to retrieve from relationships.", "items": { "type": "string" } }, "traversals": { "type": "array", "description": "The traversals to perform.", "items": { "type": "object", "properties": { "from": { "type": "array", "description": "Node kinds to traverse from. Use \"*\" to indicate all kinds.", "items": { "type": "string" } }, "spec": { "type": "string", "description": "Traversal spec role:rel:role:kind." }, "action": { "type": "string", "description": "Whether to visit target nodes, add them, or just add relationships between existing nodes.", "enum": [ "visit", "add", "add_rel" ] }, "direction": { "type": "string", "description": "Indicates whether the relationship impact flows out from the starting node or in to the starting node", "enum": [ "in", "out" ] } } } } } }, "topologyFocusResult": { "required": [ "name", "label" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of the focus" }, "label": { "type": "string", "description": "Label to show in the UI" }, "description": { "type": "string", "description": "Description of the focus" }, "icon": { "type": "string", "description": "Icon to us in the UI" }, "sam": { "type": "boolean", "description": "If true, focus may be used in a SAM service model definition" }, "exclusive": { "type": "boolean", "description": "If true, may not be combined with other focuses" }, "sub_focuses": { "type": "array", "description": "Sub-focuses", "items": { "$ref": "#/components/schemas/topologyFocusResult" } } } }, "visualizationStateRequest": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "show_big": { "type": "boolean" }, "show_labels": { "type": "boolean" }, "small_x": { "type": "integer" }, "small_y": { "type": "integer" }, "layout": { "type": "integer" }, "surround_type": { "type": "string" }, "impact_direction": { "type": "string" }, "focuses": { "type": "array", "items": { "type": "string" } } } }, "visualizationStatePutRequest": { "required": [ "focuses", "enabled", "impact_direction", "layout", "show_big", "show_labels", "small_x", "small_y", "surround_type" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "show_big": { "type": "boolean" }, "show_labels": { "type": "boolean" }, "small_x": { "type": "integer" }, "small_y": { "type": "integer" }, "layout": { "type": "integer" }, "surround_type": { "type": "string" }, "impact_direction": { "type": "string" }, "focuses": { "type": "array", "items": { "type": "string" } } } }, "visualizationStateResponse": { "required": [ "focuses", "enabled", "impact_direction", "layout", "show_big", "show_labels", "small_x", "small_y", "surround_type" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "show_big": { "type": "boolean" }, "show_labels": { "type": "boolean" }, "small_x": { "type": "integer" }, "small_y": { "type": "integer" }, "layout": { "type": "integer" }, "surround_type": { "type": "string" }, "impact_direction": { "type": "string" }, "focuses": { "type": "array", "items": { "type": "string" } } } }, "candidateInput": { "required": [ "kind" ], "type": "object", "properties": { "kind": { "type": "string", "description": "Node kind to search candidates into, * means all supported node kinds", "enum": [ "Host", "NetworkDevice", "SNMPManagedDevice", "Printer", "ManagementController", "StorageSystem", "*" ] }, "name": { "type": "string" }, "hostname": { "type": "string" }, "sysname": { "type": "string" }, "serial": { "type": "string" }, "uuid": { "type": "string" }, "wwnn": { "type": "string" }, "scope": { "type": "string" }, "endpoint": { "type": "string" }, "dns_name": { "type": "array", "description": "DNS name to search for, it can be a string or an array of strings", "items": { "type": "string" } }, "ip_address": { "type": "array", "description": "IP address to search for, it can be a string or an array of strings", "items": { "type": "string" } }, "mac_address": { "type": "array", "description": "MAC address to search for, it can be a string or an array of strings", "items": { "type": "string" } }, "limit": { "maximum": 100, "minimum": 1, "type": "integer" }, "attributes": { "type": "array", "description": "If specified, only these attributes will be retrieved for each node in the results. Otherwise a default set will be used and the node ID will be provided. The score is provided regardless of the attributes requested.", "items": { "type": "string" } } } }, "candidateResult": { "required": [ "score" ], "type": "object", "properties": { "score": { "type": "integer", "description": "Score evaluation of the result based on the provided criteria." } }, "description": "Object represented with attribute names and values. Values can be any type. The score is provided regardless of the attributes requested." }, "candidateResults": { "required": [ "count", "results" ], "type": "object", "properties": { "count": { "type": "integer", "description": "Total number of items in the result set." }, "results": { "type": "array", "description": "List of items represented as objects, with attribute names and values. Values can be any type. The score is provided regardless of the attributes requested.", "items": { "type": "object", "properties": {} } } } }, "realmResponse": { "required": [ "admin_port", "admin_server", "kdc", "kdc_port", "name", "number_of_ccaches", "number_of_credentials", "number_of_datasources", "number_of_keytabs" ], "type": "object", "properties": { "admin_server": { "type": "string", "description": "The address (IP or DNS name) of the admin server" }, "admin_port": { "type": "integer", "description": "The port of the admin server", "example": 749 }, "kdc": { "type": "string", "description": "The address (IP or DNS name) of the KDC" }, "kdc_port": { "type": "integer", "description": "The port of the KDC", "example": 88 }, "name": { "type": "string", "description": "The name of the realm" }, "number_of_keytabs": { "type": "integer", "description": "The number of users with keytabs", "example": 0 }, "number_of_ccaches": { "type": "integer", "description": "The number of users with ccaches", "example": 0 }, "number_of_credentials": { "type": "integer", "description": "The number of credentials using the realm", "example": 0 }, "number_of_datasources": { "type": "integer", "description": "The number of data sources using the realm", "example": 0 } } }, "realmsResponse": { "required": [ "can_write", "realms" ], "type": "object", "properties": { "can_write": { "type": "boolean", "description": "Whether or not the user can edit realms" }, "realms": { "type": "array", "description": "A list of all available realms", "items": { "$ref": "#/components/schemas/realmResponse" } } } }, "KerberosInput": { "required": [ "kdc" ], "type": "object", "properties": { "admin_server": { "type": "string", "description": "The address (IP or DNS name) of the admin server", "default": "" }, "admin_port": { "maximum": 65535, "minimum": 1, "type": "integer", "description": "The port of the admin server" }, "kdc": { "type": "string", "description": "The address (IP or DNS name) of the KDC" }, "kdc_port": { "maximum": 65535, "minimum": 1, "type": "integer", "description": "The port of the KDC" } } }, "KerberosUserInput": { "required": [ "password", "principal" ], "type": "object", "properties": { "principal": { "type": "string", "description": "Name of user principal for the test" }, "password": { "type": "string", "description": "Password of user principal for the test" } } }, "TaxonomyNodeKindInfo": { "required": [ "description", "display_name", "display_plural", "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of node kind" }, "display_name": { "type": "string", "description": "Locale name of node kind" }, "display_plural": { "type": "string", "description": "Locale plural name of node kind" }, "category": { "type": "string", "description": "Locale category name" }, "description": { "type": "string", "description": "Description of node kind" }, "section": { "type": "string", "description": "Model section" }, "category_priority": { "type": "integer", "description": "Priority in which to show the category" }, "ui_quick_selection": { "type": "boolean", "description": "True if the nodekind should be shown in UI 'quick' selection lists" } } }, "TaxonomyNodeKind": { "required": [ "attrs", "category", "child_classes", "description", "display_name", "display_plural", "display_rels", "exprs", "extension_attrs", "inherited_attrs", "inherited_display_rels", "inherited_exprs", "inherited_rels", "label_attr", "long_description", "name", "parent_class", "rels", "section" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of node kind" }, "display_name": { "type": "string", "description": "Locale name of node kind" }, "display_plural": { "type": "string", "description": "Locale plural name of node kind" }, "category": { "type": "string", "description": "Locale category name" }, "description": { "type": "string", "description": "Description of node kind" }, "long_description": { "type": "string", "description": "Long description of node kind" }, "section": { "type": "string", "description": "Model section" }, "parent_class": { "type": "string", "description": "Name of parent class" }, "child_classes": { "type": "array", "description": "Name of child classes", "items": { "type": "string" } }, "options": { "type": "array", "description": "Node kind options", "items": { "type": "string" } }, "attrs": { "type": "array", "description": "List of attributes defined for this node kind", "items": { "required": [ "description", "display_name", "name", "type" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of attribute" }, "description": { "type": "string", "description": "Description of attribute" }, "type": { "type": "string", "description": "Type of attribute" }, "display_name": { "type": "string", "description": "Locale name of attribute" } } } }, "inherited_attrs": { "type": "array", "description": "List of attributes inherited from class hierarchy", "items": { "required": [ "description", "display_name", "name", "type" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of attribute" }, "description": { "type": "string", "description": "Description of attribute" }, "type": { "type": "string", "description": "Type of attribute" }, "display_name": { "type": "string", "description": "Locale name of attribute" } } } }, "extension_attrs": { "type": "array", "description": "Names of attributes found on this node kind that have not been defined in the taxonomy", "items": { "type": "string" } }, "label_attr": { "type": "string", "description": "Name of attribute used as the label" }, "exprs": { "type": "array", "description": "List of expressions defined for this node kind", "items": { "required": [ "description", "display_name", "name", "value" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of expression" }, "description": { "type": "string", "description": "Description of expression" }, "value": { "type": "string", "description": "Value of expression" }, "display_name": { "type": "string", "description": "Locale name of expression" } } } }, "inherited_exprs": { "type": "array", "description": "List of expressions inherited from class hierarchy", "items": { "required": [ "description", "display_name", "name", "value" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of expression" }, "description": { "type": "string", "description": "Description of expression" }, "value": { "type": "string", "description": "Value of expression" }, "display_name": { "type": "string", "description": "Locale name of expression" } } } }, "rels": { "type": "array", "description": "List of relationships defined for this node kind", "items": { "required": [ "description", "display_name", "spec" ], "type": "object", "properties": { "spec": { "type": "string", "description": "Specification of relationship" }, "description": { "type": "string", "description": "Description of relationship" }, "display_name": { "type": "string", "description": "Locale name of relationship" }, "impact_to": { "type": "boolean", "description": "True if the related node is impacted by this one" }, "impact_from": { "type": "boolean", "description": "True if this node is impacted by the related node" } } } }, "inherited_rels": { "type": "array", "description": "List of relationships inherited from class hierarchy", "items": { "required": [ "description", "display_name", "spec" ], "type": "object", "properties": { "spec": { "type": "string", "description": "Specification of relationship" }, "description": { "type": "string", "description": "Description of relationship" }, "display_name": { "type": "string", "description": "Locale name of relationship" }, "impact_to": { "type": "boolean", "description": "True if the related node is impacted by this one" }, "impact_from": { "type": "boolean", "description": "True if this node is impacted by the related node" } } } }, "display_rels": { "type": "array", "description": "List of display relationships defined for this node kind", "items": { "required": [ "description", "display_name", "name", "specs" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of display relationship" }, "description": { "type": "string", "description": "Description of display relationship" }, "specs": { "type": "array", "description": "List of relationship specifications", "items": { "type": "string" } }, "display_name": { "type": "string", "description": "Locale name of display relationship" } } } }, "inherited_display_rels": { "type": "array", "description": "List of display relationships inherited from class hierarchy", "items": { "required": [ "description", "display_name", "name", "specs" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of display relationship" }, "description": { "type": "string", "description": "Description of display relationship" }, "specs": { "type": "array", "description": "List of relationship specifications", "items": { "type": "string" } }, "display_name": { "type": "string", "description": "Locale name of display relationship" } } } } } }, "TaxonomyField": { "required": [ "name", "type", "show", "display_name" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of attribute or relationship spec" }, "type": { "type": "string", "description": "Field type", "enum": [ "attr", "display_link", "expr", "link", "sep" ] }, "show": { "type": "string", "description": "Attribute, key expression, or search expression to show" }, "display_name": { "type": "string", "description": "Locale name of field" } } }, "customReportsElement": { "type": "object", "properties": { "name": { "type": "string", "description": "Element name" }, "title": { "type": "string", "description": "Element title" }, "type": { "type": "string", "description": "Element type (report, chart, page, ...)" }, "description": { "type": "string", "description": "Element description" }, "channels": { "type": "array", "description": "List of channels in this element", "items": { "type": "string" } }, "reports": { "type": "array", "description": "List of reports in this element", "items": { "type": "string" } } } }, "customReportsMeta": { "type": "object", "properties": { "key": { "type": "string", "description": "Custom reports ID" }, "name": { "type": "string", "description": "Custom reports name" }, "description": { "type": "string", "description": "Custom reports description" }, "uploaded": { "type": "string", "description": "Custom reports upload date" }, "elements": { "type": "array", "items": { "$ref": "#/components/schemas/customReportsElement" }, "description": "List of elements in the custom reports file" } } }, "customReportsUpload": { "type": "object", "properties": { "name": { "type": "string" }, "xml": { "type": "string", "format": "binary" } } }, "customReports": { "type": "object", "properties": { "can_read": { "type": "boolean", "description": "Whether the user can read custom reports or not" }, "can_write": { "type": "boolean", "description": "Whether the user can write custom reports or not" }, "key": { "type": "string", "description": "Custom reports ID" }, "name": { "type": "string", "description": "Custom reports name" }, "description": { "type": "string", "description": "Custom reports description" }, "uploaded": { "type": "string", "description": "Custom reports upload date" }, "xml": { "type": "string", "description": "Custom reports contents" } } }, "customReportsList": { "type": "object", "properties": { "can_read": { "type": "boolean", "description": "Whether the user can read custom reports or not" }, "can_write": { "type": "boolean", "description": "Whether the user can write custom reports or not" }, "reports": { "type": "array", "description": "List of custom reports files", "items": { "$ref": "#/components/schemas/customReportsMeta" } } } }, "scheduleDaysOfWeek": { "type": "string", "description": "Schedule days of week", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] }, "scheduleDaysOfWeekArray": { "type": "array", "description": "List of schedule days of week", "items": { "$ref": "#/components/schemas/scheduleDaysOfWeek" } }, "schedule": { "type": "object", "properties": { "days_of_month": { "type": "array", "description": "List of days", "items": { "type": "integer" } }, "days_of_week": { "$ref": "#/components/schemas/scheduleDaysOfWeekArray" }, "duration": { "type": "integer", "description": "Duration" }, "recurrence_type": { "type": "string", "description": "Schedule recurrence type", "enum": [ "DAILY", "WEEKLY", "MONTHLY_BY_DATE", "MONTHLY_BY_WEEK" ] }, "start_minute": { "type": "integer", "description": "Start minute" }, "start_times": { "type": "array", "description": "List of start times", "items": { "type": "integer" } }, "week_def": { "type": "string", "description": "Week definition", "enum": [ "FIRST", "SECOND", "THIRD", "FOURTH", "LAST" ] } } }, "exclude": { "required": [ "created_by", "description", "enabled", "label", "range_id", "ranges", "scope" ], "type": "object", "properties": { "created_by": { "type": "string", "description": "Creator" }, "description": { "type": "string", "description": "Description" }, "enabled": { "type": "boolean", "description": "Enabled" }, "label": { "type": "string", "description": "Label" }, "range_id": { "type": "string", "description": "Range ID" }, "ranges": { "type": "array", "description": "List of ranges", "items": { "type": "string" } }, "schedule": { "$ref": "#/components/schemas/schedule" }, "scope": { "type": "string", "description": "Scope" } } }, "excludeArray": { "type": "array", "items": { "$ref": "#/components/schemas/exclude" }, "description": "List of excludes" }, "excludeCreate": { "type": "object", "properties": { "description": { "type": "string", "description": "Description" }, "label": { "type": "string", "description": "Label" }, "ranges": { "type": "array", "items": { "type": "string" } }, "schedule": { "$ref": "#/components/schemas/schedule" }, "scope": { "type": "string", "description": "Scope" } } }, "excludeUpdate": { "type": "object", "properties": { "description": { "type": "string", "description": "Description" }, "enabled": { "type": "boolean", "description": "Enable or disable the exclude" }, "label": { "type": "string", "description": "Label" }, "ranges": { "type": "array", "items": { "type": "string" } }, "schedule": { "$ref": "#/components/schemas/schedule" }, "scope": { "type": "string", "description": "Scope" } } }, "groupNodeCountMeta": { "type": "object", "additionalProperties": { "type": "integer", "description": "Total number of items of this kind" }, "example": { "Host": 4, "SoftwareInstance": 30 } }, "createPartition": { "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of the partition" }, "flags": { "type": "array", "description": "Partition flags", "items": { "type": "string", "enum": [ "maintain_history", "permit_node_destruction", "exclude_from_main_queries" ] } } } }, "modelDefinition": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the model" }, "type": { "type": "string", "description": "Type of model", "enum": [ "sam", "rules", "rules_template", "static", "imported", "cmdb", "pattern", "instance", "sync" ] }, "kind": { "type": "string", "description": "Published node kind", "enum": [ "BusinessService", "TechnicalService", "BusinessApplicationInstance" ] }, "key": { "type": "string", "description": "Unique key" }, "version": { "type": "integer", "description": "Version of the model" }, "description": { "type": "string", "description": "Description of the model" }, "notes": { "type": "string", "description": "Notes about the model" }, "compatibility": { "type": "string", "description": "Identifier of client compatibility" }, "attributes": { "type": "object", "description": "Attributes to store on published node" }, "metadata": { "type": "object", "description": "Additional metadata stored on the model" }, "conditions": { "description": "Conditions in a rule-based model", "$ref": "#/components/schemas/conditionGraph" }, "templates": { "type": "object", "description": "Templates used by this model" }, "contents": { "type": "object", "description": "Nodes and relationships in this model" }, "published": { "type": "boolean", "description": "True if the model is published" }, "favorite": { "type": "boolean", "description": "True if the model is a favorite of the calling user" }, "depended_upon": { "type": "array", "items": { "type": "string" }, "description": "Keys of models that this one depends upon" }, "dependants": { "type": "array", "items": { "type": "string" }, "description": "Keys of models that depend on this one" }, "containers": { "type": "array", "items": { "type": "string" }, "description": "Keys of models that contain this one" }, "contained": { "type": "array", "items": { "type": "string" }, "description": "Keys of models that are contained in this one" }, "instances": { "type": "array", "items": { "type": "string" }, "description": "Keys of models that are instances of this one" }, "instance_of": { "type": "string", "description": "Key of multi-instance model that this one is an instance of" } } }, "modelDefinitionArray": { "type": "array", "items": { "$ref": "#/components/schemas/modelDefinition" } }, "modelMultiInput": { "type": "array", "items": { "required": [ "method", "body" ], "type": "object", "properties": { "method": { "type": "string", "enum": [ "POST", "PATCH", "CLONE", "DELETE" ] }, "body": { "type": "object", "properties": {} } } } }, "modelMultiOutput": { "type": "array", "items": { "required": [ "code" ], "type": "object", "properties": { "code": { "type": "integer", "description": "HTTP status code of operation" }, "body": { "type": "object", "description": "Success result" }, "message": { "type": "string", "description": "Error message" } } } }, "templateResponse": { "required": [ "id", "section", "name", "description", "icon" ], "type": "object", "properties": { "id": { "type": "string", "description": "The id of the template" }, "section": { "type": "string", "description": "The section of the template" }, "name": { "type": "string", "description": "The name of the template" }, "description": { "type": "string", "description": "The description of the template" }, "icon": { "type": "string", "description": "The icon of the template" } } }, "templatesResponse": { "required": [ "templates" ], "type": "object", "properties": { "templates": { "type": "array", "description": "A list of all available templates", "items": { "$ref": "#/components/schemas/templateResponse" } } } }, "templateNode": { "required": [ "template_info", "conditions", "parameters" ], "type": "object", "properties": { "template_info": { "$ref": "#/components/schemas/templateResponse" }, "conditions": { "$ref": "#/components/schemas/conditionGraph" }, "parameters": { "type": "object", "description": "Parameter values to use in the condition" } } }, "ldapConfigGet": { "type": "object", "properties": { "ldaps_upload_time": { "type": "string", "description": "LDAPS CA Certificates State" }, "status": { "type": "string", "description": "Connection Status" }, "status_msg": { "type": "string", "description": "Connection Status Message" }, "bind_timeout": { "type": "integer", "default": 30, "description": "Bind Timeout (seconds)" }, "bind_username": { "type": "string", "description": "Bind Username" }, "cache_timeout": { "type": "integer", "default": 1800, "description": "User Cache Timeout (seconds)" }, "enabled": { "type": "boolean", "description": "LDAP Support" }, "group_attr": { "type": "string", "description": "Group Attribute on User node" }, "group_cache_timeout": { "type": "integer", "default": 21600, "description": "Group Cache Timeout (seconds)" }, "group_mapping_enabled": { "type": "boolean", "description": "Is Group Mapping Enabled" }, "group_mapping": { "type": "array", "description": "List of LDAP group mappings", "items": { "$ref": "#/components/schemas/ldapGroupMapping" } }, "group_member_attr": { "type": "string", "default": "member", "description": "Membership Attribute on Group node" }, "group_query": { "type": "string", "default": "(objectclass=group)", "description": "Group Query" }, "search_scope": { "type": "string", "default": "SUBTREE", "enum": [ "BASE", "SUBTREE", "ONELEVEL" ], "description": "Search Scope" }, "search_template": { "type": "string", "default": "(userPrincipalName=%(username)s)", "description": "Search Template" }, "search_timeout": { "type": "integer", "default": 30, "description": "Search Timeout (seconds)" }, "search_base": { "type": "string", "description": "Search Base" }, "server_uri": { "type": "string", "description": "Server URI" }, "user_image_attr": { "type": "string", "default": "thumbnailPhoto", "description": "User Image Attribute on User node" } } }, "ldapConfigPatch": { "type": "object", "properties": { "bind_timeout": { "type": "integer", "default": 30, "description": "Bind Timeout (seconds)" }, "bind_username": { "type": "string", "description": "Bind Username" }, "bind_password": { "type": "string", "description": "Bind Password" }, "cacert_data": { "type": "string", "description": "CA Certificate Data" }, "cache_timeout": { "type": "integer", "default": 1800, "description": "User Cache Timeout (seconds)" }, "enabled": { "type": "boolean", "description": "LDAP Support" }, "group_attr": { "type": "string", "description": "Group Attribute on User node" }, "group_cache_timeout": { "type": "integer", "default": 21600, "description": "Group Cache Timeout (seconds)" }, "group_mapping_enabled": { "type": "boolean", "description": "Is Group Mapping Enabled" }, "group_mapping": { "type": "array", "description": "List of LDAP group mappings", "items": { "$ref": "#/components/schemas/ldapGroupMapping" } }, "group_member_attr": { "type": "string", "default": "member", "description": "Membership Attribute on Group node" }, "group_query": { "type": "string", "default": "(objectclass=group)", "description": "Group Query" }, "search_scope": { "type": "string", "default": "SUBTREE", "enum": [ "BASE", "SUBTREE", "ONELEVEL" ], "description": "Search Scope" }, "search_template": { "type": "string", "default": "(userPrincipalName=%(username)s)", "description": "Search Template" }, "search_timeout": { "type": "integer", "default": 30, "description": "Search Timeout (seconds)" }, "search_base": { "type": "string", "description": "Search Base" }, "server_uri": { "type": "string", "description": "Server URI" }, "user_image_attr": { "type": "string", "default": "thumbnailPhoto", "description": "User Image Attribute on User node" } } }, "ldapGroupMapping": { "required": [ "ldap_group", "discovery_groups" ], "type": "object", "properties": { "ldap_group": { "type": "string", "description": "LDAP group" }, "discovery_groups": { "type": "array", "uniqueItems": true, "minItems": 1, "description": "List of Discovery groups", "items": { "type": "string" } } } }, "userGroup": { "required": [ "name", "permissions" ], "type": "object", "properties": { "name": { "type": "string", "description": "Group name" }, "permissions": { "type": "array", "items": { "type": "string", "description": "Group permissions" } } } }, "smtpConfigGet": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Identifies if mail enabled or not" }, "from_addr": { "type": "string", "description": "From Address" }, "server": { "type": "string", "description": "SMTP Server" }, "port": { "type": "integer", "description": "SMTP port" }, "auth_required": { "type": "boolean", "description": "Authentification required" }, "username": { "type": "string", "description": "Username" }, "sec_connection": { "description": "Use secure connection: no, startls, ssl_tls", "type": "string", "enum": [ "none", "startls", "ssl_tls" ] } } }, "smtpConfigPatch": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Identifies if mail enabled or not" }, "from_addr": { "type": "string", "description": "From Address" }, "server": { "type": "string", "description": "SMTP Server" }, "port": { "type": "integer", "description": "SMTP port" }, "auth_required": { "type": "boolean", "description": "Authentification required" }, "username": { "type": "string", "description": "Username" }, "password": { "type": "string", "description": "Password" }, "sec_connection": { "description": "Use secure connection: no, startls, ssl_tls", "type": "string", "enum": [ "none", "startls", "ssl_tls" ] } } }, "proxyPool": { "type": "object", "properties": { "criteria": { "type": "string", "default": "0.0.0.0/0,::/0", "description": "Matching Criteria" }, "description": { "type": "string", "description": "Description" }, "domains": { "type": "array", "description": "Domains", "items": { "type": "string" } }, "name": { "type": "string", "description": "Proxy Pool Name" }, "proxies": { "type": "array", "items": { "$ref": "#/components/schemas/proxy" }, "description": "Proxies" }, "type": { "type": "string", "enum": [ "AD", "CREDENTIAL" ], "description": "Type" } } }, "postProxyPool": { "required": [ "name", "type" ], "type": "object", "properties": { "criteria": { "type": "string", "default": "0.0.0.0/0,::/0", "description": "Matching Criteria" }, "description": { "type": "string", "description": "Description" }, "domains": { "type": "array", "description": "Domains", "items": { "type": "string" } }, "name": { "type": "string", "description": "Proxy Pool Name" }, "proxies": { "type": "array", "items": { "$ref": "#/components/schemas/postProxy" }, "description": "Proxies" }, "type": { "type": "string", "enum": [ "AD", "CREDENTIAL" ], "description": "Type. Set AD for Windows Active Directory proxies (default port 4321) or CREDENTIAL for Windows Credential proxies (default port 4323)" } } }, "proxyPoolPatch": { "type": "object", "properties": { "criteria": { "type": "string", "default": "0.0.0.0/0,::/0", "description": "Matching Criteria" }, "description": { "type": "string", "description": "Description" }, "domains": { "type": "array", "description": "Domains", "items": { "type": "string" } }, "proxies": { "type": "array", "items": { "$ref": "#/components/schemas/postProxy" }, "description": "Proxies" } } }, "proxy": { "required": [ "name", "address" ], "type": "object", "properties": { "name": { "type": "string", "description": "Proxy Name" }, "address": { "type": "string", "description": "Proxy Address" }, "error_details": { "type": "string", "description": "Error description" }, "port": { "type": "integer", "default": 4321, "description": "Port" }, "enabled": { "type": "boolean", "default": true, "description": "Enabled" }, "certificate": { "type": "string", "default": "", "description": "CA certificate" }, "log_data_usage": { "type": "integer", "default": 0, "description": "Log Directory Disk Usage" }, "log_soft_limit": { "type": "integer", "default": 0, "description": "Log Directory Disk Limit" }, "record_data_usage": { "type": "integer", "default": 0, "description": "Record Directory Disk Usage" }, "record_soft_limit": { "type": "integer", "default": 0, "description": "Record Directory Disk Limit" } } }, "postProxy": { "required": [ "name", "address" ], "type": "object", "properties": { "name": { "type": "string", "description": "Proxy Name" }, "address": { "type": "string", "description": "Proxy Address" }, "port": { "type": "integer", "default": 4321, "description": "Port. Default values according to a Proxy Pool type will be used if not set. Default port for a new AD proxy is 4321. Default port for a new CREDENTIAL proxy is 4323" }, "enabled": { "type": "boolean", "default": true, "description": "Enabled" }, "certificate": { "type": "string", "default": "", "description": "CA certificate. Optional field. Should contain plain-text in PEM format if set" } } }, "proxySettings": { "type": "object", "properties": { "log_level": { "type": "string", "default": "info", "description": "Log level" }, "flags_overloaded": { "type": "boolean", "default": false, "description": "Indicate if proxy is overloaded" }, "auto_purge_max_data_age": { "type": "integer", "default": 7, "description": "Data age in days until auto purge" }, "auto_purge_mode": { "type": "string", "enum": [ "DISABLED", "ALL", "LOGS", "RECORD" ], "default": "LOGS", "description": "Targets for auto purge" }, "auto_purge_period": { "type": "integer", "default": 24, "description": "Hours until next auto purge" }, "log_soft_limit": { "type": "integer", "default": 0, "description": "Logs data soft limit" }, "openports": { "type": "boolean", "default": false, "description": "Indicate if 'openport' will be run via RemQuery" }, "powershell": { "type": "boolean", "default": true, "description": "Indicate if PowerShell enabled" }, "powershell_http_enabled": { "type": "boolean", "default": true, "description": "Indicate if PowerShell HTTP enabled" }, "powershell_http_port": { "type": "integer", "default": 5985, "description": "PowerShell HTTP port" }, "powershell_https_enabled": { "type": "boolean", "default": true, "description": "Indicate if PowerShell HTTPS enabled" }, "powershell_https_port": { "type": "integer", "default": 5986, "description": "PowerShell HTTPS port" }, "powershell_jea_config_name": { "type": "string", "description": "'Just Enough Administration' config name" }, "powershell_jea_enabled": { "type": "boolean", "default": false, "description": "Indicate if 'Just Enough Administration' enabled" }, "powershell_timeout": { "type": "integer", "default": 60, "description": "PowerShell timeout in seconds" }, "record_soft_limit": { "type": "integer", "default": 0, "description": "Record data soft limit" }, "recording_mode": { "type": "string", "enum": [ "RECORD", "PLAYBACK", "NORMAL" ], "default": "NORMAL", "description": "Recording mode" }, "remquery": { "type": "boolean", "default": true, "description": "Indicate if RemQuery enabled" }, "remquery_timeout": { "type": "integer", "default": 60, "description": "RemQuery timeout in seconds" }, "tcpvcon": { "type": "boolean", "default": false, "description": "Indicate if 'tcpvcon' will be run via RemQuery" }, "wmi": { "type": "boolean", "default": true, "description": "Indicate if WMI enabled" }, "wmi_batch_size": { "type": "integer", "default": 200, "description": "WMI batch size" }, "wmi_batch_timeout": { "type": "integer", "default": 60, "description": "WMI batch timeout in seconds" }, "wmi_timeout": { "type": "integer", "default": 120, "description": "WMI timeout in seconds" }, "wmi_query_creation": { "type": "boolean", "default": true, "description": "If enabled will try to get package results by creating a query on the target server and then executing it" } } }, "getUser": { "type": "object", "properties": { "username": { "type": "string", "description": "User name" }, "fullname": { "type": "string", "description": "Full name" }, "password_state": { "$ref": "#/components/schemas/passwordState" }, "state": { "$ref": "#/components/schemas/userState" }, "groups": { "type": "array", "items": { "$ref": "#/components/schemas/userGroupsList" } }, "last_login_time": { "type": "string", "description": "Last login time" }, "last_pw_change": { "type": "string", "description": "Last password change time" } } }, "postUser": { "required": [ "username", "fullname", "groups" ], "type": "object", "properties": { "username": { "type": "string", "description": "User name" }, "fullname": { "type": "string", "description": "Full name" }, "password": { "type": "string", "description": "Password. If not set, API-user will be created." }, "groups": { "type": "array", "items": { "$ref": "#/components/schemas/userGroupsList" } } } }, "patchUser": { "type": "object", "properties": { "fullname": { "type": "string", "description": "Full name" }, "password": { "type": "string", "description": "Password" }, "groups": { "type": "array", "items": { "type": "string", "$ref": "#/components/schemas/userGroupsList" } }, "password_state": { "$ref": "#/components/schemas/passwordState" }, "state": { "$ref": "#/components/schemas/userState" } } }, "userGroupsList": { "type": "string", "default": "public", "enum": [ "readonly", "public", "system", "admin", "discovery", "appmodel", "reporter", "unlocker", "api-access", "never-deactivate", "event-source", "cmdb-export-administrator" ], "description": "Groups" }, "passwordState": { "type": "string", "default": "OK", "enum": [ "OK", "SHOULD_CHANGE", "MUST_CHANGE", "NOT_PERMITTED" ], "description": "Password state. Set OK for reset to normal state. Set SHOULD_CHANGE or MUST_CHANGE to force user to change password. Set NOT_PERMITTED to make user able to get security token instead of local password." }, "userState": { "type": "string", "default": "ACTIVE", "enum": [ "ACTIVE", "BLOCKED", "LOCKED", "DISABLED" ], "description": "User state. Set ACTIVE to unblock user. Set BLOCKED, LOCKED or DISABLED to limit user access." }, "consolidation": { "type": "object", "properties": { "system_id": { "type": "string" }, "system_name": { "type": "string" }, "is_default": { "type": "boolean" }, "dns_name": { "type": "string" }, "ip_addresses": { "type": "array", "items": { "type": "string" } }, "legacy_ca": { "type": "boolean" }, "receiver_write": { "type": "boolean" }, "sender_write": { "type": "boolean" }, "enabled": { "type": "boolean" }, "ddd_sender": { "type": "boolean" }, "ddd_receiver": { "type": "boolean" }, "inferred_sender": { "type": "boolean" }, "inferred_receiver": { "type": "boolean" }, "supported_types": { "type": "array", "items": { "type": "string" } } } }, "consolidationUpdate": { "required": [ "enabled" ], "type": "object", "properties": { "enabled": { "type": "boolean" } } }, "consolidationReceiver": { "type": "object", "properties": { "system_id": { "type": "string" }, "location": { "type": "string" }, "name": { "type": "string" }, "message": { "type": "string" }, "connectivity": { "enum": [ "UNKNOWN", "ONLINE", "OFFLINE" ] }, "incompatible": { "type": "boolean" }, "created_time": { "type": "string", "format": "date-time" }, "type": { "type": "string" }, "last_data_push": { "type": "string", "format": "date-time" }, "approval_state": { "type": "string", "enum": [ "WAITING_FOR_CONFIRMATION", "APPROVED", "REJECTED", "UNKNOWN" ] }, "paused": { "type": "boolean" }, "resync_required": { "type": "string" }, "resync_id": { "type": "string" }, "last_resync_id": { "type": "string" }, "queue": { "type": "integer" }, "processing": { "type": "array", "items": { "type": "object" } }, "nodes_created": { "type": "integer" }, "nodes_updated": { "type": "integer" }, "nodes_destroyed": { "type": "integer" }, "rels_created": { "type": "integer" }, "rels_updated": { "type": "integer" }, "rels_destroyed": { "type": "integer" }, "counts_time": { "type": "string", "format": "date-time" }, "warning_count": { "type": "integer" }, "warnings": { "type": "array", "items": { "type": "object" } }, "error_count": { "type": "integer" }, "errors": { "type": "array", "items": { "type": "object" } } } }, "registerReceiver": { "required": [ "location", "type" ], "type": "object", "properties": { "location": { "type": "string" }, "type": { "type": "string" } } }, "updateReceiver": { "type": "object", "properties": { "paused": { "type": "boolean" }, "location": { "type": "string" } } }, "receiversCount": { "type": "object", "properties": { "nodes_created": { "type": "integer" }, "nodes_updated": { "type": "integer" }, "nodes_destroyed": { "type": "integer" }, "rels_created": { "type": "integer" }, "rels_updated": { "type": "integer" }, "rels_destroyed": { "type": "integer" }, "counts_time": { "type": "string", "format": "date-time" }, "warning_count": { "type": "integer" }, "error_count": { "type": "integer" } } }, "resyncStatus": { "required": [ "resync_id", "start_time", "end_time", "state", "resumed", "tasks" ], "type": "object", "properties": { "resync_id": { "type": "string" }, "start_time": { "type": "string", "format": "date-time" }, "end_time": { "type": "string", "format": "date-time" }, "state": { "type": "string" }, "resumed": { "type": "boolean" }, "tasks": { "type": "array", "items": { "type": "object" } } } }, "abortStatus": { "required": [ "aborted" ], "type": "object", "properties": { "aborted": { "type": "boolean", "description": "To abort or resume resync with receiver." } } }, "consolidationSender": { "type": "object", "properties": { "system_id": { "type": "string" }, "name": { "type": "string" }, "setup_url": { "type": "string" }, "message": { "type": "string" }, "connectivity": { "enum": [ "UNKNOWN", "ONLINE", "OFFLINE" ] }, "incompatible": { "type": "boolean" }, "type": { "type": "string" }, "last_data_push": { "type": "string", "format": "date-time" }, "approval_state": { "type": "string", "enum": [ "WAITING_FOR_CONFIRMATION", "APPROVED", "REJECTED", "UNKNOWN" ] }, "paused": { "type": "boolean" }, "resync_required": { "type": "string" }, "runs": { "type": "integer" }, "receiving": { "type": "array", "items": { "type": "string" } }, "queue": { "type": "integer" }, "requeued": { "type": "integer" }, "processing": { "type": "integer" }, "nodes_created": { "type": "integer" }, "nodes_updated": { "type": "integer" }, "nodes_destroyed": { "type": "integer" }, "rels_created": { "type": "integer" }, "rels_updated": { "type": "integer" }, "rels_destroyed": { "type": "integer" }, "counts_time": { "type": "string", "format": "date-time" }, "warnings": { "type": "array", "items": { "type": "object" } }, "errors": { "type": "array", "items": { "type": "object" } } } }, "approveSenders": { "required": [ "approved" ], "type": "object", "properties": { "approved": { "type": "boolean" } } }, "sendersCount": { "type": "object", "properties": { "nodes_created": { "type": "integer" }, "nodes_updated": { "type": "integer" }, "nodes_destroyed": { "type": "integer" }, "rels_created": { "type": "integer" }, "rels_updated": { "type": "integer" }, "rels_destroyed": { "type": "integer" }, "counts_time": { "type": "string", "format": "date-time" }, "warnings": { "type": "array", "items": { "type": "object" } }, "errors": { "type": "array", "items": { "type": "object" } } } }, "httpProxyDetails": { "required": [ "url", "username" ], "type": "object", "properties": { "url": { "type": "string" }, "username": { "type": "string" } } }, "httpProxyInput": { "required": [ "url", "username", "password" ], "type": "object", "properties": { "url": { "type": "string" }, "username": { "type": "string" }, "password": { "type": "string" } } }, "instanceInfo": { "type": "object", "properties": { "name": { "type": "string", "description": "Appliance/instance name." }, "dns_name": { "type": "string", "description": "Appliance/instance DNS name." }, "description": { "type": "string", "description": "Appliance/instance description." }, "admin_email": { "type": "string", "description": "Appliance/instance admin email." }, "support_url": { "type": "string", "description": "Appliance/instance support url." }, "support_url_title": { "type": "string", "description": "Appliance/instance support url title." }, "support_url_label": { "type": "string", "description": "Appliance/instance support url label." }, "support_url_desc": { "type": "string", "description": "Appliance/instance support url description." } } } }, } }