From 8991828be26452712e2deb10fc164db57dcd7dfa Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Wed, 18 Mar 2026 13:31:27 +0200 Subject: [PATCH 1/5] 737: add 19.07 and 19.07 swagger; api-overview --- docs/integration/api-overview.mdx | 3 +- static/assets/files/d42-swagger-v190710.yaml | 36200 ++++++++++++++++ static/assets/files/d42-swagger-v190800.yaml | 36258 +++++++++++++++++ 3 files changed, 72460 insertions(+), 1 deletion(-) create mode 100644 static/assets/files/d42-swagger-v190710.yaml create mode 100644 static/assets/files/d42-swagger-v190800.yaml diff --git a/docs/integration/api-overview.mdx b/docs/integration/api-overview.mdx index e24044a17..7cabcff8a 100644 --- a/docs/integration/api-overview.mdx +++ b/docs/integration/api-overview.mdx @@ -15,10 +15,11 @@ The current version of the API is hosted at [api.device42.com](https://api.devic You can find the previous versions of our Swagger (OpenAPI) YAML files below: +- v19.08.00 +- v19.07.10 - v19.05.10 - v19.04.30 - v19.03.10 - v19.02.00 - v19.01.00 - v19.00.00 - diff --git a/static/assets/files/d42-swagger-v190710.yaml b/static/assets/files/d42-swagger-v190710.yaml new file mode 100644 index 000000000..3998470e8 --- /dev/null +++ b/static/assets/files/d42-swagger-v190710.yaml @@ -0,0 +1,36200 @@ +swagger: '2.0' +info: + title: Device42 API + version: '2.0' + description: >- +

API Overview


Restful API are supported in Device42 as one of the + primary methods of entering, editing and retrieving data.

If you'd like to see your changes on + our UI, please visit and use credentials 'guest:device42_rocks!'. + Please be aware that every 30 minutes our database resets and all data + entered with POST/PUT calls from this page will be lost.

If you have + any questions/suggestions, please send us a note to support at device42.com + below. +

NOTE: Secrets/Password passphrase has been disabled on the swagger demo instance. + When you use Try It functionality with API method that provides or modifies a secret, you will receive an error. +

API Authentication

+ The RESTful API's enforce the role-based security that is created with the + Device42 app and support two HTTP authentication schemes: Basic Authentication and Token + Authentication.
+
Basic Authentication +
Using Basic Authentication, the API consumer sends an Authorization header that contains the + string 'Basic ' followed by a base64-encoded string username:password. The username and password + must be those of a Device42 user. If you want a user to have access + via the API, but not via the UI - deselect 'Staff Status' for that user from + UI Tools > Admins & Permissions > Administrators.
+
Token Authentication +
Token authentication uses a digitally signed token, called a Bearer token, to provide secure, + credential-less API call authorizations. When using Bearer tokens, the API consumer sends an Authorization + header that contains the string 'Bearer ' followed by the Bearer token data returned by Device42. +

Device42 Bearer tokens are secure JWT tokens using an RSA SHA256 encrypted signature. + The RSA encryption keys used to encrypt the tokens are unique to each Device42 installation. + Bearer tokens are time limited, and, once expired, cannot be used again.
+
When using token authentication, a Device42 entity called an API Client is required and + an additional step is necessary before making API calls. The API consumer + must request a token by authenticating with an API Client. If the authentication succeeds, + a token is returned and API Calls can then be made using the token as the Bearer token. +

API Clients are created as needed by a Device42 administrator. API Clients act as a proxy + to a Device42 user (the user must have its Staff Status deselected). Role-based security is inherited by the + API Client from the associated Device42 user. +

When an API Client is created, a pair of universally unique ids + are generated, called the Client key and Client Secret key. The Client key identifies the API Client. + The Client and Client Secret keys are used as username and password respectively when requesting a token. +

To request a token, the API consumer sends a POST request to the Device42 /tauth/1.0/token/ endpoint. + The request uses Basic authentication with the username set to the Client key and the password set to Cient + Secret key. The successful response to this request will be a JSON object containing the token and other properties. + The token is then used in subsequent Device42 API calls as the Bearer token. +

Tokens can also be extended and deleted using the /tauth/1.0/token/ endpoint. +

For a walkthrough on setting up Token authentication visit API Token Usage in Details +
+

Response & + Status Messages

Responses
The response to most POST calls + will have the following format:
{'msg':['PartModel added/updated', 17, + 'RAM Acme 123456', true, true], 'code':0}

Using the example + above:
'17' = ID of the object
'RAM Acme 123456' = representation of + the object
'true, true' = object added and is new.
'true, false' = + object updated.
'false, false' = no changes.

Status + Codes
Code 0
Success! e.g. = {'msg': 'device added or updated', + code:0}

'HTTP/1.1 200 OK'
Success! All other responses are + errors and will display an error code e.g.: 400, 401, 403, 405, 410, 500, 503. These are explained + in each call.

Please let us know if you notice something odd with a response and we will fix it! :) +

API Get Limits and Offsets

In + Device42’s global settings we have the option to enforce API GET limits and + this setting is recommended for better performance. To set this value from + Device42, go to Tools>Settings>Global Settings and the click Edit in the top + right. Toward the bottom of the screen you will see the API section. First + check the “Enforce API GET Limits” checkbox, then enter a value for API GET + Limit. A good limit to start with is 500 or 1000, depending on the + performance you experience.

After setting this limit all GET calls + below can have the results augmented via “offset” and “limit” parameters to + tell Device42 which value to start returning results from, and how many + results to return at maximum.
Examples:

'/?limit=50' returns the + first 50 results.

'/?offset=100' will start at the 101st result. +

'/?offset=42&limit=42' returns 42 results, starting at the 43rd.

+ Note that offset is used for paging - that is, the offset is only applied when the total number of objects returned exceeds the limit that is returned.


+ Commit: # + contact: + name: Device42 + email: support@device42.com +host: +schemes: + - https +consumes: + - application/json + - application/x-www-form-urlencoded +produces: + - application/json +paths: + /tauth/1.0/token/: + post: + operationId: postapitoken + summary: Request an API Token + description: >- + Used to request a token from an API Client. Once a token has been obtained, the token can be used as the Bearer token on subsequent API calls + The Client key and Client secret key of an API Client are provided as Basic authentication userid and password. + tags: + - API Token Authentication + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: '0' + expires: + example: '2022-02-03T19:23:03.267Z' + token: + example: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJEZXZpY2U0MiIsInRva2VuX2lkIjozOSwiY2xpZW50X2lkIjo2LCJleHAiOjE2NDM5MTYxODMsImV4aSI6NjAwfQ.CYZvhvXtKTpOJRpeQudAzFlqjdZc5tTx3oS9XOwXk_N2P9WCmQlsiXSFSVVUsU3XGRprLEULrBKlcpuo08c4mZxiNGV99X40HFWlGrWWjB0scW3CwHX0c2Y6xHbUhH70Fhw5J2ivMsuwb5ecUuQnVqLzXPAriirwjn90ikCEF56_1MPWN9Qgy6r_ZjSre2JpCFgkPZ0PKAMkq-lTH1FNLwcTGG9dB8BwWW7okEQdvU_RJsjJZCOj-i5AdPcWrHMAqpJKE1FqKTSOCD3YbMIbsLA0rhCUFzqaIgUKm8kcknCTjcpPrpzKk6toqA82UuToW8IUFoyLO7-p3hbKForc8PQR5lu3wcoqpQ_kIWRuT3e9uai7VFOZ-oZMXGnXgNrR32FVPg7ZGZBxMmTh-C_MByp9RAWa0Uqhx0cyYOe-C9uUaixXB73qigTsSSrpKGRyl96e5WqCwDeztG8XCLMiSBceZW8JSLBL-Kt10xIuSHue0bnDz6kH5kdgnc_b6l1Q5EWYIVM_BmWGj0yq5WF0cPFHlOc2rjcLZFiVsY6M0kiMIFN1EdJskP_4JS3UgnP7QwYCjUvalpJUiU85Qri_SvVqvZeXcQfTiD8BX_nT59IlopD0JIRL8ajc3RQS6g8mYNdFkzKz2jSADuryTW-yFQMo0IoYfZQLX1Xs9FrQVYc' + ttl: + example: 10 + msg: + example: 'connected' + token_id: + example: 42 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /tauth/1.0/token/{token_id}/: + put: + operationId: putapitoken + summary: Extend an API Token + description: >- + Used to extend the expiraton time of the API Token provided as the Bearer token. The token is extended by the + Time to Live value set by the API Client. The id of the token is required. + It is important to note that, when this request completes, a new token is generated along with a new token_id. The new + token must be used as the Bearer token in subsequent API calls. The original token is invalid and has been deleted. + tags: + - API Token Authentication + parameters: + - $ref: '#/parameters/token_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: '0' + expires: + example: '2022-02-03T19:27:01.872Z' + token: + example: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJEZXZpY2U0MiIsInRva2VuX2lkIjo0MCwiY2xpZW50X2lkIjo2LCJleHAiOjE2NDM5MTY0MjEsImV4aSI6NjAwfQ.Uko8axOaUuJDt6IRsNZhzBZSrAG_0jMyHHJGN3x3i3PqA-xaVO3P5djud3D7Jz4GkYolEZQSudMB9FE8NPQXVCjjuUVMbGKmBele_oIxnC1dAwnJ0H2ZDC2AM1GO-8685nmi39wMEPrtfm0PbY8KW4uB4_BJOQWVv4GYd_J_c4wxQ-THKRir8fFRyNO5Jjr220-Irn6Le2zV4DqoSbLG88gATjECbUSKyBIQwwB_zPHe05xYyP5DCKF7FRAl5kab1HZYWJ_0FBVYyqddSgZxQ4und3u5TgIVtp3VXrFdOKFAmj9pAK8kNieApxb4-NY2jZYmwGZpu3yca-tULj3q-dn3RXq5niZBD1cJqvsI-fkiOrD_OMvraR95OJqEo93OWILbS5rXXQAHS_zONkKkoEKe1kCb7EzW59-Z8eQI0UxgtYJM238ZCLxvucIjg518zSsxDOV7TK875FL-WyCiRZ4N86gbCHJvWkfqCb1Dx5MojgujMOG0LkE2zs9LMyftUDFx1MYf756xgt-iILZyQFD1Su-uHHjqV1Pb5_-fqTWg3XfD3ALNmmX8mdEux_GPRbeaHTSASaRtVXJVDrqLO18rg93xraTKF1J1IvgtxjI3bPSQ99o3z_LK1sSg0dFcUJw3dHb3OG-jaW3KnGRkKlCldFaWsb1eL9HP4nxL1wU' + ttl: + example: 10 + msg: + example: 'connected' + token_id: + example: 43 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteapitoken + summary: Delete an API Token + description: >- + Used to deelete the API Token provided as the Bearer token. The token is deleted thus preventing it from validating in subsequent API call. + The id of the token is required. + tags: + - API Token Authentication + parameters: + - $ref: '#/parameters/token_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: 'API Token deleted' + code: + example: '0' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/api_clients/: + get: + operationId: getapiclients + summary: Get All API Clients + description: >- + Get all API Clients + tags: + - API Clients + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + api_client: + type: array + items: + $ref: '#/definitions/api_client' + total_count: + example: 1 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAPIClient + description: This call will create/update an API Client + summary: Create/update API Client + tags: + - API Clients + parameters: + - name: client_key + type: string + description: unique client key + in: formData + - name: client_secret_key + type: string + description: unique client secret key + in: formData + - name: resource_owner + type: string + description: username of a Device42 non-staff user + in: formData + - name: token_ttl + type: integer + description: token time to live in seconds + in: formData + - name: active + type: boolean + description: true if the token is active + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - 7 + - "57a1272bd48940a29f3b3b0fc78acc4e" + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/api_clients/{client_id}: + get: + operationId: getapiclient_id + summary: Get an API Client + description: >- + Get an API Client by ID + tags: + - API Clients + parameters: + - name: client_id + in: path + description: API Client ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/api_client' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteapiclient_id + summary: Delete an API Client + description: >- + Delete an API Client by ID + tags: + - API Clients + parameters: + - name: client_id + in: path + description: API Client ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '3' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + + /api/2.0/api_client_keys/: + get: + operationId: getapiclientkeys + summary: Get API Client Keys + description: >- + This API retrieves key and secret key for an API client + tags: + - API Client Keys + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + apiclient_key: + example: "0a7048d7be904028b798900657d4c8b9" + apiclient_secret_key: + example: "aa460be4f08a48488bb46b03eae07736_6468d3616a61430190ad65fceaf38b1a" + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + # AWS Roles API + /api/2.0/aws_roles/: + get: + operationId: getawsroles + summary: Get All AWS Roles + description: >- + Get all AWS Roles + tags: + - AWS Roles + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + aws_roles: + type: array + items: + $ref: '#/definitions/aws_role' + total_count: + example: 1 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postawsroles + description: This call will create/update an AWS Role + summary: Create/update AWS Role + tags: + - AWS Roles + parameters: + - name: name' + type: string + description: Device42 AWS Role object name + in: formData + required: true + - name: role_name + type: string + description: AWS Role name + in: formData + required: true + - name: role_description + type: string + description: Device42 description of the Role object + in: formData + - name: account_id + type: string + description: Optional AWS Account ID (to add with this Role) + in: formData + - name: external_id + type: string + description: Optional External ID for the Optional AWS Account + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - 7 + - "example role" + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/aws_roles/{aws_role_id}: + get: + operationId: getaawsrole_id + summary: Get an AWS Role by ID + description: >- + Get an AWS Role by ID + tags: + - AWS Roles + parameters: + - name: aws_role_id + in: path + description: AWS Role ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/aws_role' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteawsrole_id + summary: Delete an AWS Role + description: >- + Delete an AWS Role by ID + tags: + - AWS Roles + parameters: + - name: aws_role_id + in: path + description: AWS Role ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '3' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/aws_roles/accounts/: + get: + operationId: getaawsaccountaccount_id + summary: Get AWS Role Accounts + description: >- + Get AWS Role Accounts, optionally limited to acccounts for a specified AWS Role + tags: + - AWS Roles + parameters: + - name: aws_role_id + in: query + description: Optional AWS Role ID. (If provided, account list will be limited to the accounts linked to this role.) + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + aws_accounts: + type: array + items: + $ref: '#/definitions/aws_role_account' + total_count: + example: 1 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postawsaccount + description: This call will create/update an AWS Role Account + summary: Create/update AWS Role Account + tags: + - AWS Roles + parameters: + - name: aws_role_id + type: string + description: Device42 AWS Role to add this AWS Account to + in: formData + required: true + - name: aws_account_id + type: string + description: AWS Account ID + in: formData + required: true + - name: external_id + type: string + description: Optional AWS External ID for the AWS Account + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - 12 + - "999999999999" + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/aws_roles/accounts/{aws_account_id}: + get: + operationId: getaawsaccountaccount_id + summary: Get an AWS Role Account by ID + description: >- + Get an AWS Role Account by ID + tags: + - AWS Roles + parameters: + - name: aws_account_id + in: path + description: AWS Role Account ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/aws_role_account' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteawsroleaccount_id + summary: Delete an AWS Role Accont + description: >- + Delete an AWS Role Account by ID + tags: + - AWS Roles + parameters: + - name: aws_account_id + in: path + description: AWS Role Account ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '3' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/buildings/: + get: + operationId: getBuildings + description: Retrieve information about all buildings + summary: Get all + tags: + - Buildings + parameters: + - $ref: '#/parameters/name' + - $ref: '#/parameters/building_include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + buildings: + $ref: '#/definitions/buildings' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postBuildings + description: Create/update building + summary: Create/update + tags: + - Buildings + parameters: + - name: name + type: string + in: formData + required: true + description: Name of building + - name: latitude + type: string + in: formData + description: north-south position + - name: longitude + type: string + in: formData + description: east-west position + - $ref: '#/parameters/address_post' + - $ref: '#/parameters/contact_name_post' + - $ref: '#/parameters/contact_phone_post' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/groups_post' + - name: tags + type: string + description: add tags (comma separated) + in: formData + - name: tags_remove + type: string + in: formData + description: comma separated tags to remove + - name: new_name + type: string + in: formData + description: Change name of an existing building. This parameter is ignored when creating a new building. + + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Building added/updated successfully + - 4 + - main office + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/buildings/{ID}/': + get: + operationId: getBuildingByID + description: This call will get a building by ID + summary: Get specific building by id + tags: + - Buildings + parameters: + - name: id + in: path + description: Building ID. + type: integer + required: true + - $ref: '#/parameters/building_include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/building' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteBuildings + summary: Delete + description: >- + This API is used to delete the building with the building id supplied as + the required argument + tags: + - Buildings + parameters: + - name: ID + type: integer + in: path + description: building id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/building/: + put: + operationId: putCustom_fieldsBuilding + summary: Custom fields + description: >- + Create or update custom fields for building. "ID" or "name" of building + is needed even when value is not being changed + tags: + - Buildings + parameters: + - name: name + type: string + in: formData + description: Name of building + - name: id + type: string + in: formData + description: ID of building + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/groups_post' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - main office + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/rooms/: + get: + operationId: getRooms + description: Retrieve information about all rooms + summary: Get all + tags: + - Rooms + parameters: + - $ref: '#/parameters/name' + - $ref: '#/parameters/building_id' + - $ref: '#/parameters/building' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + rooms: + $ref: '#/definitions/rooms' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postRooms + description: >- + Create or update a Room. Required parameters:
  • name
  • +
  • building_id OR building
  • + summary: Create/update + tags: + - Rooms + parameters: + - name: name + type: string + in: formData + required: true + description: Name of room + - name: building_id + type: string + in: formData + description: Existing building ID + - name: building + type: string + in: formData + description: Existing building name + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/horizontal_grid_numbering' + - $ref: '#/parameters/horizontal_grid_start' + - $ref: '#/parameters/vertical_grid_numbering' + - $ref: '#/parameters/vertical_grid_start' + - $ref: '#/parameters/uom' + - $ref: '#/parameters/height' + - $ref: '#/parameters/grid_rows' + - $ref: '#/parameters/grid_cols' + - $ref: '#/parameters/raised_floor' + - $ref: '#/parameters/raised_floor_height' + - $ref: '#/parameters/groups_post' + - $ref: '#/parameters/reverse_xaxis' + - $ref: '#/parameters/reverse_yaxis' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Room added successfully + - 7 + - 2nd Floor + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/rooms/{ID}/': + get: + operationId: getRoomsID + summary: Get specific + description: >- + Retrieve detailed information about a specific room includes racks, + devices and objects directly related to that room + tags: + - Rooms + parameters: + - name: ID + type: integer + in: path + required: true + description: The ID of the room to retrieve + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + building: + example: New Haven + reverse_yaxis: + example: 'no' + name: + example: NHDC1 + notes: + example: Demo Room + horizontal_grid_numbering: + example: 0 + horizontal_grid_start: + example: '1' + vertical_grid_numbering: + example: 1 + vertical_grid_start: + example: 'A' + devices: + type: array + items: + properties: + device: + type: object + properties: + uuid: + example: '' + serial_no: + example: '' + asset_no: + example: '' + name: + example: CRAC2 + device_url: + example: /api/api/1.0/devices/id/123/ + type: + example: other + device_id: + example: 123 + preferred_alias: + example: "Device's preferred alias" + wall: + example: middle + grid_cols: + example: 10 + room_id: + example: 1 + reverse_xaxis: + example: 'no' + grid_rows: + example: 9 + building_id: + example: 1 + racks: + type: array + items: + $ref: '#/definitions/RoomsRacks' + assets: + type: array + items: + properties: + asset_id: + example: 30 + serial_no: + example: '' + type: + example: Breaker Panel + name: + example: Power1 + asset_no: + example: 0084 + tags: + type: array + items: + type: string + example: "carbon_footprint" + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putRoomsID + description: Update information for an existing room + summary: Update + tags: + - Rooms + parameters: + - name: ID + type: integer + in: path + required: true + description: id of the room + - name: name + type: string + in: formData + description: Name of room + - $ref: '#/parameters/notes_post' + - name: building_id + type: string + in: formData + description: Existing building ID + - $ref: '#/parameters/horizontal_grid_numbering' + - $ref: '#/parameters/horizontal_grid_start' + - $ref: '#/parameters/vertical_grid_numbering' + - $ref: '#/parameters/vertical_grid_start' + - $ref: '#/parameters/uom' + - $ref: '#/parameters/height' + - $ref: '#/parameters/grid_rows' + - $ref: '#/parameters/grid_cols' + - $ref: '#/parameters/raised_floor' + - $ref: '#/parameters/raised_floor_height' + - $ref: '#/parameters/groups_post' + - $ref: '#/parameters/reverse_xaxis' + - $ref: '#/parameters/reverse_yaxis' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Room updated successfully + - 7 + - 3nd Floor + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteRoomsID + summary: Delete + description: >- + This API is used to delete the room with the room id supplied as the + required argument + tags: + - Rooms + parameters: + - name: ID + type: integer + in: path + required: true + description: room id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/room/: + put: + operationId: putCustom_fieldsRoom + description: >- + Create or update custom fields for rooms. "ID" or "name" of room is + needed even when value is not being changed. + summary: Custom fields + tags: + - Rooms + parameters: + - name: name + type: string + in: formData + description: Name of room + - name: id + type: string + in: formData + description: Room ID or UI > Tools > Export > Room + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 7 + - 2nd Floor @ main office + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/room/: + post: + operationId: postDeviceRoom + description: Add device to a room + summary: Add device + tags: + - Rooms + parameters: + - name: room_id + type: integer + in: formData + required: true + description: Room ID or UI > Tools > Export > Room + - name: name + type: string + in: formData + description: The name of the device to add + required: true + - name: type + type: string + in: formData + enum: + - CRAC + - UPS + required: true + - name: wall + type: string + in: formData + description: >- + Choose 'middle' if you do not want the object to be placed along one + of the 4 walls. + enum: + - left + - right + - top + - bottom + - middle + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + example: + - device added to room + - 1 + - main office - 3nd Floor + - true + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/device/room/{ID}/': + delete: + operationId: deleteDeviceRoom + summary: Delete device + description: >- + This API is used to delete the device from its room with the device id + supplied as the required argument + tags: + - Rooms + parameters: + - name: ID + type: integer + in: path + required: true + description: device id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/assets/room/: + post: + operationId: postAssetsRoom + description: Add an asset to a room or update an existing asset in a room + summary: Add/Update an asset + tags: + - Rooms + parameters: + - name: room_id + type: integer + in: formData + description: Room ID. This is required if room is not provided. + - name: room + type: string + in: query + description: The name of the room. This is required if room_id is not provided. + - name: asset_id + type: integer + in: formData + description: Asset ID. This is required if asset is not provided. + - name: asset + type: string + in: formData + description: The name of the asset. This is required if asset_id is not provided. If this field it used, type must also be provided. + - name: type + type: string + in: formData + description: The type of the asset. Only provide asset types with the server room option enabled. + - name: building + type: string + in: formData + description: The name of the building + - name: wall + type: string + in: formData + description: >- + Choose 'middle' if you do not want the object to be placed along one + of the 4 walls. + enum: + - left + - right + - top + - bottom + - middle + - name: grid_x + type: string + in: formData + description: x coordinate of grid + - name: grid_y + type: string + in: formData + description: y coordinate of grid + - name: start_row + type: string + in: formData + description: Starting row + - name: start_col + type: string + in: formData + description: Starting column + - name: space_rows + type: string + in: formData + description: Rows to space + - name: space_cols + type: string + in: formData + description: Columns to space + - name: grid_rows + type: string + in: formData + description: Grid row + - name: grid_cols + type: string + in: formData + description: Grid column + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Asset added to/updated in room + - 1 + - bp122 (in 3nd Floor) + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/asset/room/{id}/': + delete: + operationId: deleteAssetsRoom + summary: Delete an asset + description: >- + This API is used to delete the asset with the asset id supplied as the + required argument from its room + tags: + - Rooms + parameters: + - name: id + type: integer + in: path + required: true + description: asset id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/racks/: + get: + operationId: getRacks + summary: Get all + description: This API will retrieve basic information about all racks + tags: + - Racks + parameters: + - $ref: '#/parameters/name' + - $ref: '#/parameters/building_id' + - $ref: '#/parameters/building' + - $ref: '#/parameters/room_id' + - $ref: '#/parameters/room' + - name: size + type: integer + description: filter by rack size in U + in: query + - name: row + type: string + description: filter by row name + in: query + - name: asset_no + type: string + description: filter by asset number + in: query + - name: manufacturer + type: string + description: filter by manufacturer + in: query + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 2 + offset: + example: 0 + racks: + type: array + items: + $ref: '#/definitions/racks' + total_count: + example: 275 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postRacks + description: >- + Create / Update Racks. Creating a new rack requires both +
    • name
    • size

    However, if updating a rack, use

    • rack_id

    or all of

    +
    • name
    • room
    • building

    If using + room/building name, first combination of room name or room and building + name will be used.

    + summary: Create/update + tags: + - Racks + parameters: + - name: name + type: string + in: formData + required: true + description: Rack name - must be unique within a room + - name: size + type: integer + description: In UI + in: formData + required: true + - name: rack_id + type: integer + description: >- + Required to update a rack using ID. This has highest priority to update a + rack. + in: formData + - name: room + type: string + description: Name of room - Required if changing a rack without rack_id. + in: formData + - name: building + type: string + in: formData + description: Name of building - Used when there are non-unique room names. + - $ref: '#/parameters/new_name' + - $ref: '#/parameters/room_id_post' + - $ref: '#/parameters/numbering_start_from_bottom' + - $ref: '#/parameters/first_number' + - $ref: '#/parameters/row' + - $ref: '#/parameters/manufacturer_post' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/start_row' + - $ref: '#/parameters/start_col' + - $ref: '#/parameters/row_size' + - $ref: '#/parameters/col_size' + - $ref: '#/parameters/orientation_rack' + - $ref: '#/parameters/groups_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - rack added. + - 29 + - '34' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/racks/{ID}/': + get: + operationId: getRacksID + description: >- + Retrieve detailed information about a specific rack including all racked + devices, assets and PDUs + summary: Get specific + tags: + - Racks + parameters: + - name: ID + type: integer + in: path + required: true + description: The ID of the rack to retrieve + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + asset_no: + example: '' + assets: + example: [] + available_u: + example: 10 + building: + example: New Haven + custom_fields: + type: array + items: + properties: + key: + example: Master Key? + notes: + example: '' + value: + example: '' + devices: + type: array + items: + $ref: '#/definitions/RackDevices' + first_number: + example: 0 + manufacturer: + example: APC Inc. + name: + example: NH-DC1-02 + notes: + example: '' + number_between_us: + example: true + numbering_start_from_bottom: + example: 'yes' + pdus: + type: array + items: + properties: + bootstrap_power: + example: 0.00 W + depth: + example: Half Depth + file_names: + example: + - /var/www/graphics/images/apc-rack-pdu-front.png + - '' + name: + example: USNHCTPDU-03 + num_ports: + example: '32' + orientation: + example: Back + pdu_id: + example: 16 + power_draw: + example: ' ' + reversed: + example: 'no' + size: + example: 1 + start_at: + example: '' + total_ports: + example: 32 + where: + example: Right + width: + example: 2520 + xpos: + example: 0 + rack_id: + example: 21 + rack_middle_option: + example: Start at + rack_url: + example: /api/api/1.0/racks/21/ + room: + example: NHDC1 + row: + example: '' + row_size: + example: 1 + size: + example: 42 + start_col: + example: 29 + start_row: + example: 10 + tags: + example: [] + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteRacksID + description: >- + This API is used to delete the rack with the rack id supplied as the + required argument + summary: Delete + tags: + - Racks + parameters: + - name: ID + type: integer + in: path + required: true + description: rack id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/asset/rack/{id}/': + delete: + operationId: deleteAssetsRack + summary: Remove Asset from Rack + description: This API is used to un-rack the asset + tags: + - Racks + parameters: + - name: id + type: integer + in: path + required: true + description: Asset ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/rack/: + put: + operationId: putCustom_fieldsRack + description: >- + Create or update custom fields for racks. "ID" or "name" of rack is + needed even when value is not being changed + summary: Custom fields + tags: + - Racks + parameters: + - name: name + type: string + in: formData + description: name of room + - name: id + type: string + in: formData + description: Rack ID or UI > Tools > Export > Rack + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 29 + - 34 - 12 (in 3nd Floor @ main office) + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/assets/: + get: + operationId: getAssets + description: Retrieve basic information about all assets + summary: Get all + tags: + - Assets + parameters: + - $ref: '#/parameters/asset_no' + - $ref: '#/parameters/serial_no' + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + - name: type + type: string + description: filter by asset type + in: query + - $ref: '#/parameters/asset_id' + - $ref: '#/parameters/service_level' + - $ref: '#/parameters/customer' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + - $ref: '#/parameters/asset_no_contains' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - $ref: '#/parameters/related_device_id' + - $ref: '#/parameters/include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + assets: + type: array + items: + $ref: '#/definitions/Assets' + limit: + example: 2 + offset: + example: 0 + total_count: + example: 209 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAssets + description: Create assets + summary: Create + tags: + - Assets + parameters: + - name: type + in: formData + enum: + - 'AC' + - 'Block Tile' + - 'Breaker Panel' + - 'Cable Modem' + - 'DMARC' + - 'Door' + - 'Fabric Extender' + - 'Fax Machine' + - 'Filler Panel' + - 'Monitor' + - 'Patch Panel' + - 'Patch Panel Module' + - 'Projector' + - 'Scanner' + - 'Sensor' + - 'Shredder' + - 'Software' + - 'Speaker Phone' + - 'TAP Module' + - 'Window' + description: The type of the asset. - required.
    You can add a new asset type also in PUT. + required: true + type: string + - name: name + in: formData + description: name of asset + type: string + - name: service_level + in: formData + description: >- + In Service, Spare, Not in Service are pre-defined - or choose your + own. + type: string + - name: back_connection_type + in: formData + type: string + description: Type of back connection for asset. Options are panel, switch, circuit, cable. + - name: tap_module_model_id + in: formData + type: integer + description: ID of Tap Module Model + - name: tap_module_model + in: formData + type: string + description: Tap Module Model + - name: tap_module_host_id + in: formData + type: integer + description: ID of Tap Module Host + - name: tap_module_host + in: formData + type: string + description: Tap Module Host for asset. + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + - name: storage_room + in: formData + type: string + description: Name of storage room to apply asset to. + - $ref: '#/parameters/in_service_status' + - $ref: '#/parameters/device_ids' + - $ref: '#/parameters/device_name' + - name: reversed + in: formData + type: string + enum: + - 'yes' + - 'no' + description: Is the asset reversed on the rack? + - name: building + type: string + in: formData + description: Building name + - name: serial_no + in: formData + type: string + description: The serial number of the asset. + - name: asset_no + in: formData + type: string + description: The asset number of the asset. + - $ref: '#/parameters/customer_form' + - name: storage_room_id + in: formData + type: string + description: ID of Storage Room + - $ref: '#/parameters/location' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/building_post' + - name: vendor + in: formData + type: string + description: Name of existing vendor + - $ref: '#/parameters/imgfile_id' + - $ref: '#/parameters/imgfile' + - $ref: '#/parameters/back_image_id' + - $ref: '#/parameters/back_image' + - name: rack + in: formData + type: string + description: Name of existing rack to add asset to. + - name: rack_id + in: formData + type: integer + description: ID of existing rack to add asset to. + - $ref: '#/parameters/start_at' + - name: size + type: integer + in: formData + description: Required if adding asset to rack. in U. + - name: orientation + type: string + in: formData + description: Back if back facing. Otherwise ignored + - $ref: '#/parameters/where' + - $ref: '#/parameters/x_pos' + - $ref: '#/parameters/depth' + - name: device_id + type: integer + description: ID of the related device + in: formData + - name: tags + type: string + description: add tags (comma separated) + in: formData + - name: tags_remove + type: string + description: remove tags (comma separated) + in: formData + - $ref: '#/parameters/patch_panel_model_id' + - $ref: '#/parameters/patch_panel_model' + - $ref: '#/parameters/numbering_start_from' + - $ref: '#/parameters/patch_panel_module_model_id' + - $ref: '#/parameters/patch_panel_module_model' + - $ref: '#/parameters/module_host_id' + - $ref: '#/parameters/module_host' + - $ref: '#/parameters/slot_no' + - $ref: '#/parameters/width_ratio_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + type: array + items: + example: + - asset added/edited. + - 54 + - test_api + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAssets + description: Modify assets. Need either Asset ID or Asset + summary: Modify + tags: + - Assets + parameters: + - name: name + type: string + in: formData + description: Name of Asset. + - name: asset_id + description: Asset ID + type: integer + in: formData + - name: asset + description: Name of asset. Required if asset_id not provided. + in: formData + type: string + - name: type + in: formData + enum: + - 'AC' + - 'Block Tile' + - 'Breaker Panel' + - 'Cable Modem' + - 'DMARC' + - 'Door' + - 'Fabric Extender' + - 'Fax Machine' + - 'Filler Panel' + - 'Monitor' + - 'Patch Panel' + - 'Patch Panel Module' + - 'Projector' + - 'Scanner' + - 'Sensor' + - 'Shredder' + - 'Software' + - 'Speaker Phone' + - 'TAP Module' + - 'Window' + description: The type of the asset. - required. + required: true + - name: service_level + in: formData + description: >- + In Service, Spare, Not in Service are pre-defined - or choose your + own. + type: string + - name: building + type: string + in: formData + description: Building name + - name: serial_no + in: formData + type: string + description: The serial number of the asset. + - name: asset_no + in: formData + type: string + description: The asset number of the asset. + - $ref: '#/parameters/customer_form' + - name: back_connection_type + in: formData + type: string + description: Type of back connection for asset. Options are panel, switch, circuit, cable. + - name: tap_module_model_id + in: formData + type: integer + description: ID of Tap Module Model + - name: tap_module_model + in: formData + type: string + description: Tap Module Model + - name: tap_module_host_id + in: formData + type: integer + description: ID of Tap Module Host + - name: tap_module_host + in: formData + type: string + description: Tap Module Host for asset. + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + - name: storage_room + in: formData + type: string + description: Name of storage room to apply asset to. + - $ref: '#/parameters/in_service_status' + - $ref: '#/parameters/device_ids' + - $ref: '#/parameters/device_name' + - name: reversed + in: formData + type: string + enum: + - 'yes' + - 'no' + description: Is the asset reversed on the rack? + - name: storage_room_id + in: formData + type: string + description: ID of Storage Room + - $ref: '#/parameters/location' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/building_post' + - name: vendor + in: formData + type: string + description: Name of existing vendor + - $ref: '#/parameters/imgfile_id' + - $ref: '#/parameters/imgfile' + - $ref: '#/parameters/back_image_id' + - $ref: '#/parameters/back_image' + - name: rack + in: formData + type: string + description: Name of existing rack to add asset to. + - name: rack_id + in: formData + type: integer + description: ID of existing rack to add asset to. + - $ref: '#/parameters/start_at' + - name: size + type: integer + in: formData + description: Required if adding asset to rack. in U. + - name: orientation + type: string + in: formData + description: Back if back facing. Otherwise ignored + - $ref: '#/parameters/where' + - $ref: '#/parameters/x_pos' + - $ref: '#/parameters/depth' + - name: device_id + type: integer + description: ID of the related device + in: formData + - name: tags + type: string + description: add tags (comma separated) + in: formData + - name: tags_remove + type: string + description: remove tags (comma separated) + in: formData + - $ref: '#/parameters/patch_panel_model_id' + - $ref: '#/parameters/patch_panel_model' + - $ref: '#/parameters/numbering_start_from' + - $ref: '#/parameters/patch_panel_module_model_id' + - $ref: '#/parameters/patch_panel_module_model' + - $ref: '#/parameters/module_host_id' + - $ref: '#/parameters/module_host' + - $ref: '#/parameters/slot_no' + - $ref: '#/parameters/width_ratio_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + type: array + items: + example: + - asset added/edited. + - 54 + - test_api + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/assets/{id}/': + get: + operationId: getAssets_id + description: Retrieve detailed information about a specific asset + summary: Get specific + tags: + - Assets + parameters: + - name: id + type: integer + in: path + required: true + description: The ID of the asset to retrieve + - $ref: '#/parameters/include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Assets' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAssets + description: Modify assets. + summary: Modify + tags: + - Assets + parameters: + - name: id + type: integer + in: path + required: true + description: The ID of the asset + - name: name + type: string + in: formData + description: Name of Asset. + - name: type + in: formData + enum: + - 'AC' + - 'Block Tile' + - 'Breaker Panel' + - 'Cable Modem' + - 'DMARC' + - 'Door' + - 'Fabric Extender' + - 'Fax Machine' + - 'Filler Panel' + - 'Monitor' + - 'Patch Panel' + - 'Patch Panel Module' + - 'Projector' + - 'Scanner' + - 'Sensor' + - 'Shredder' + - 'Software' + - 'Speaker Phone' + - 'TAP Module' + - 'Window' + description: The type of the asset. - required. + - name: service_level + in: formData + description: >- + In Service, Spare, Not in Service are pre-defined - or choose your + own. + type: string + - name: building + type: string + in: formData + description: Building name + - name: serial_no + in: formData + type: string + description: The serial number of the asset. + - name: asset_no + in: formData + type: string + description: The asset number of the asset. + - $ref: '#/parameters/customer_form' + - name: back_connection_type + in: formData + type: string + description: Type of back connection for asset. Options are panel, switch, circuit, cable. + - name: tap_module_model_id + in: formData + type: integer + description: ID of Tap Module Model + - name: tap_module_model + in: formData + type: string + description: Tap Module Model + - name: tap_module_host_id + in: formData + type: integer + description: ID of Tap Module Host + - name: tap_module_host + in: formData + type: string + description: Tap Module Host for asset. + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + - name: storage_room + in: formData + type: string + description: Name of storage room to apply asset to. + - $ref: '#/parameters/in_service_status' + - $ref: '#/parameters/device_ids' + - $ref: '#/parameters/device_name' + - name: reversed + in: formData + type: string + enum: + - 'yes' + - 'no' + description: Is the asset reversed on the rack? + - $ref: '#/parameters/location' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/building_post' + - name: vendor + in: formData + type: string + description: Name of existing vendor + - $ref: '#/parameters/imgfile_id' + - $ref: '#/parameters/imgfile' + - $ref: '#/parameters/back_image_id' + - $ref: '#/parameters/back_image' + - name: rack + in: formData + type: string + description: Name of existing rack to add asset to. + - name: rack_id + in: formData + type: integer + description: ID of existing rack to add asset to. + - $ref: '#/parameters/start_at' + - name: size + type: integer + in: formData + description: Required if adding asset to rack. in U. + - name: orientation + type: string + in: formData + description: Back if back facing. Otherwise ignored + - $ref: '#/parameters/where' + - $ref: '#/parameters/x_pos' + - $ref: '#/parameters/depth' + - name: device_id + type: integer + description: ID of the related device + in: formData + - name: tags + type: string + description: add tags (comma separated) + in: formData + - name: tags_remove + type: string + description: remove tags (comma separated) + in: formData + - $ref: '#/parameters/category' + - $ref: '#/parameters/patch_panel_model_id' + - $ref: '#/parameters/patch_panel_model' + - $ref: '#/parameters/numbering_start_from' + - $ref: '#/parameters/patch_panel_module_model_id' + - $ref: '#/parameters/patch_panel_module_model' + - $ref: '#/parameters/module_host_id' + - $ref: '#/parameters/module_host' + - $ref: '#/parameters/slot_no' + - $ref: '#/parameters/width_ratio_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + type: array + items: + example: + - asset added/edited. + - 54 + - test_api + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteAssets + description: >- + This API is used to delete the asset with the asset id supplied as the + required argument. + summary: Delete + tags: + - Assets + parameters: + - name: id + type: integer + in: path + required: true + description: asset id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/asset/: + put: + operationId: putCustom_fieldsAsset + description: >- + Create or update custom fields for assets. "ID" or "name" of asset is + needed even when value is not being changed + summary: Custom fields + tags: + - Assets + parameters: + - name: name + type: string + in: formData + description: Name of asset + - name: id + type: string + in: formData + description: ID of asset + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 29 + - 34 - 12 (in 3nd Floor @ main office) + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/devices/: + get: + operationId: getDevices + description: Retrieve basic information about all devices + summary: Get all (brief) v1 + tags: + - Devices + parameters: + - name: type + type: string + in: query + description: >- + filter by device type (physical, virtual, blade, other, cluster, or + unknown) + - name: device_id + type: integer + in: query + description: Filter by Device ID + - $ref: '#/parameters/device_sub_type' + - $ref: '#/parameters/device_sub_type_id' + - $ref: '#/parameters/service_level' + - $ref: '#/parameters/in_service' + - $ref: '#/parameters/customer' + - name: customer_id + type: integer + in: query + description: Filter by Customer ID + - $ref: '#/parameters/tags' + - name: blade_host_id + type: integer + in: query + description: Filter by Blade Host ID + - $ref: '#/parameters/blade_host_name' + - name: virtual_host_id + type: integer + in: query + description: Filter by Virtual Host ID + - $ref: '#/parameters/virtual_host_name' + - $ref: '#/parameters/building_id' + - $ref: '#/parameters/building' + - $ref: '#/parameters/room_id' + - $ref: '#/parameters/room' + - $ref: '#/parameters/rack_id' + - $ref: '#/parameters/rack' + - $ref: '#/parameters/serial_no' + - $ref: '#/parameters/serial_no_contains' + - $ref: '#/parameters/object_category_get' + - $ref: '#/parameters/object_category_id' + - $ref: '#/parameters/asset_no' + - $ref: '#/parameters/name' + - $ref: '#/parameters/tags_and' + - $ref: '#/parameters/uuid' + - $ref: '#/parameters/is_it_switch' + - $ref: '#/parameters/is_it_virtual_host' + - $ref: '#/parameters/is_it_blade_host' + - $ref: '#/parameters/hardware' + - $ref: '#/parameters/hardware_ids' + - $ref: '#/parameters/os' + - name: os_category + type: string + in: query + description: Filter by OS Category + - name: service_displayname + type: string + in: query + description: Filter by display name of service that the device uses. + - name: storage_room_id + type: integer + in: query + description: Filter by storage room ID + - name: storage_room + type: string + in: query + description: Filter by name of storage room device is in. + - $ref: '#/parameters/virtual_subtype' + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + Devices: + $ref: '#/definitions/devices' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/devices/: + get: + operationId: getDevices_2 + description: Retrieve information about all devices + summary: Get all v2 + tags: + - Devices + parameters: + - $ref: '#/parameters/device_include_cols' + - name: device_id + type: string + in: query + description: D42 device ID + - $ref: '#/parameters/name' + - $ref: '#/parameters/serial_no' + - $ref: '#/parameters/serial_no_contains' + - $ref: '#/parameters/asset_no' + - name: asset_no_contains + type: string + in: query + description: Filter by partial asset number match. + - $ref: '#/parameters/uuid' + - $ref: '#/parameters/in_service' + - $ref: '#/parameters/service_level' + - name: service_level_id + type: string + in: query + description: D42 ID of service level name. + - name: type + type: string + in: query + description: >- + filter by device type (unknown, physical, virtual, or cluster) + - name: type_id + type: string + in: query + description: 'D42 type ID
    1: unknown, 2: physical, 3: virtual
    4: cluster' + - name: last_edited_lt + type: string + in: query + description: Last edited less than date YYYY-MM-DD format + - name: last_edited_gt + type: string + in: query + description: Last edited greater than date YYYY-MM-DD format + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + - name: objectcategory_id + type: string + in: query + description: D42 ID of object category name. + - name: objectcategory + type: string + in: query + description: Object category name. + - name: tags + type: string + in: query + description: Filter by tags, comma-separated for multiple tags. (This is an OR filter, gets all the devices for all comma separated tags.) + - $ref: '#/parameters/tags_and' + - name: cluster_device_id + type: string + in: query + description: D42 ID of cluster device. + - name: customer_id + type: string + in: query + description: D42 ID of customer or department name. + - $ref: '#/parameters/customer' + - name: hardware_id + type: string + in: query + description: D42 ID of hardware. + - name: hardware + type: string + in: query + description: filter by hardware name + - name: device_host_chassis_id + type: string + in: query + description: D42 ID of host chassis. + - name: device_virtual_host_id + type: string + in: query + description: D42 ID of device virtual host. + - $ref: '#/parameters/rack_id' + - name: virtualsubtype + type: string + in: query + description: Name of virtual subtype. + - name: virtualsubtype_id + type: string + in: query + description: ID of virtual subtype. + - name: os_id + type: string + in: query + description: OS ID. + - name: os_name + type: string + in: query + description: OS name. + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - name: virtual_host + type: string + in: query + description: Filter by whether virtual host or not. Use yes or no. + - name: blade_chassis + type: string + in: query + description: Filter by whether a blade chassis or not. Use yes or no. + - name: physicalsubtype + type: string + in: query + description: Physical subtype name. + - name: physicalsubtype_id + type: string + in: query + description: D42 ID of physical subtype name. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + Devices: + $ref: '#/definitions/devicesAllv2' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDevice_2 + summary: Create/Update + description: >- + This API is used to create a new device with the name supplied as the + required argument or to update an existing device by an existing name or device ID, serial + number or uuid. You can also update a device name using the device ID + tags: + - Devices + parameters: + - name: device_id + type: integer + in: formData + description: >- + Update a device by its D42 device ID. + - name: serial_no + type: string + description: |- + The serial number of the device. + + Update Behavior: + If you pass a new serial number for an existing device, its serial number will be updated to the new value. + - To clear the serial number, pass `serial_no=d42null`. + - Serial numbers with fewer than 3 characters, or certain generic values like `123456789` or `not specified`, are ignored and not saved. + in: formData + - name: name + type: string + description: >- + The device name. If device with the name already exists, the existing device is updated. + If an existing device based on device_id, serial_no or uuid is found, the name will be updated. + in: formData + - name: asset_no + type: string + in: formData + description: The asset number of the device. + - name: uuid + type: string + in: formData + description: >- + The uuid of the device. If a device with a matching uuid is found, + that device is updated. + - name: virtual_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates the device is a virtual host + - name: in_service + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + ‘yes’ indicates if device is in service, ‘no’ indicates not in + service + - name: type_id + type: string + in: formData + enum: + - '1' + - '2' + - '3' + - '4' + description: Device type ID
    1. unknown 2. physical
    3. virtual 4. cluster + - name: type + type: string + in: formData + enum: + - 'unknown' + - 'physical' + - 'virtual' + - 'cluster' + description: Device type by name. + - name: physicalsubtype_id + type: string + in: formData + description: >- + Used to set the device subtype - the device must be physical or unknown.
    + 1. Generic 2. Rackable 3. Blade 4. PDU 5. Access Point 6. CRAC 7. UPS 8. TAP 9. Branch Circuit Power Meter 10. Power Unit 11. WorkStation 12. ThinClient 13. Network Printer 14. Laptop 15. Environment Monitor
    OR D42 ID of user-generated subtype + - name: physicalsubtype + type: string + in: formData + description: >- + Either a system-generated subtype name or a user-generated subtype name. + - name: network_device + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a network switch. + - name: blade_chassis + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a blade host. + - name: manufacturer + type: string + in: formData + description: The hardware manufacturer for the device. This is used to match on the correct hardware. + - name: hardware_id + type: string + in: formData + description: >- + Hardware model id - for physical devices. Use to set device hardware model. Only for devices without hardware. + - name: hardware + type: string + in: formData + description: >- + Hardware model name. Use instead of hardware_id. For physical devices. Use to set device hardware model. + If hardware model with provided name is not found and user provided manufacturer, new hardware model will + be created and assigned to device. Only for devices without hardware. + - name: new_hardware + type: string + in: formData + description: >- + If you want to change the hardware model for a device. This will not create + new hardware models - you can only change to an existing model. + - name: virtual_host_device_id + type: string + in: formData + description: >- + Host ID of virtual device. Use d42null to clear. + - name: virtual_host_device + type: string + in: formData + description: >- + Host name of virtual device. Use d42null to clear. + - name: host_chassis_device_id + type: string + in: formData + description: >- + Host chassis device ID. Use d42null to clear. + - name: host_chassis_device + type: string + in: formData + description: >- + Host chassis device name - for blades. Use d42null to clear. + - name: bladeno + type: integer + in: formData + description: 'Slot number for blade device.' + - name: chassisslot_id + type: string + in: formData + description: Chassis slot ID. If chassis slot exists, the slot number will be updated to it's slot number. + - name: service_level_id + type: string + in: formData + description: >- + Service level ID for the device + - name: service_level + type: string + in: formData + description: >- + The service level name for the device. Use instead of service_level_id. + - name: customer_id + type: string + in: formData + description: Legacy field. Use customers parameter instead of this. ID of the customer. Customer record must already exist. Using this will override all existing customer associations. Use d42null to reset value. + - name: customer + type: string + in: formData + description: Legacy field. Use customers parameter instead of this. Name of the customer. Customer record must already exist. Using this will override all existing customer associations. Use d42null to reset value. + - name: customers + type: string + in: formData + description: CSV list of customer names. Customer records must already exist. Use this instead of customer/customer_id. Customers will be associated with the device. + - name: customers_remove + type: string + in: formData + description: CSV list of customer names. Customers will be disassociated from the device. Use * to clear all customer associations. + - name: additional_location + type: string + in: formData + description: Additional location info. + - name: building_id + type: string + in: formData + description: >- + Building ID. This field should only be used if the device is NOT in a server room, storage room, or rack. + Selecting a building will cause any room and rack associations to be deleted. + - name: building + type: string + in: formData + description: >- + Building Name. This field should only be used if the device is NOT in a server room, storage room, or rack. + Selecting a building will cause any room and rack associations to be deleted. + - name: storage_room + type: string + in: formData + description: Name of storage room. Device will be automatically removed from rack or server room + - name: storage_room_id + type: string + in: formData + description: ID of storage room. Device will be automatically removed from rack or server room + - name: notes + type: string + in: formData + description: >- + Device notes. + - name: objectcategory_id + type: string + in: formData + description: >- + Object category ID. If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: objectcategory + type: string + in: formData + description: >- + Object category name. Use instead of objectcategory_id. If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: dont_inherit + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + If 'yes', multi-tenancy permissions will not be inherited from the host so you can assign virtual devices + and blades devices to different object categories. + - $ref: '#/parameters/virtualsubtype_id' + - name: virtualsubtype + type: string + in: formData + enum: + - Internal VM + - Amazon EC2 Instance + - Azure Cloud Service + - Azure SQL Server + - Azure Storage + - Other + - Outscale Instance + - Linode Instance + - DigitalOcean Instance + - Azure Virtual Machine + - VMWare + - Citrix/Xen + - KVM + - Hyper-V + - Docker Container + - LXC Container + - Rackspace VM + - Softlayer VM + - QEMU + - Joyent Instance + - VirtualBox + - Oracle VM + - OpenStack + - Xen + - LPAR + - GCE + - Amazon Service + - Context + - Alibaba Cloud Instance + - Oracle Cloud Instance + - Kubernetes Container + - AIX VIOS + - Nutanix AHV + description: Virtual subtype name. Use instead of virtual_subtype_id. Only for virtual devices. + - name: datacenter + type: string + in: formData + description: >- + Data center name. + - name: ram_size + type: string + in: formData + description: >- + RAM. Just numbers. Use d42null to clear. + - name: ram_size_type_id + type: string + in: formData + description: >- + RAM size type ID. Use d42null to clear.
    1 MB | 2 GB | 3 TB + - name: ram_size_type + type: string + in: formData + description: >- + RAM size type name. Use instead of ram_type_size. Use d42null to clear.
    MB - GB - TB + - name: total_cpus + type: string + in: formData + description: >- + Total number of CPUs. Use d42null to clear. + - name: core_per_cpu + type: string + in: formData + description: >- + Number of Cores/CPU. Use d42null to clear. + - name: threads_per_core + type: string + in: formData + description: >- + Number of Threads/Core. Use d42null to clear. + - name: cpu_speed + type: string + in: formData + description: >- + CPU speed. Use d42null to clear. + - name: hz_id + type: string + in: formData + description: >- + Type ID of CPU Speed. Use d42null to clear.
    1 MHz | 2 GHz + - name: hz + type: string + in: formData + description: >- + Type name of CPU Speed. Use d42null to clear.
    MHz - GHz + - name: hard_disk_count + type: string + in: formData + description: >- + Total number of HDD. Use d42null to clear. + - name: hard_disk_size + type: string + in: formData + description: >- + HDD size. Use d42null to clear. + - name: hard_disk_size_type_id + type: string + in: formData + description: >- + Type ID of hard disk size. Use d42null to clear.
    GB - TB - PB + - name: hard_disk_size_type + type: string + in: formData + description: >- + Type name of hard disk size. Use instead of hard_disk_size_type_id. Use d42null to clear.
    GB - TB - PB + - name: hw_sw_raid_id + type: string + in: formData + description: >- + Raid ID. Use d42null to clear.
    1. Hardware - 2. Software + - name: hw_sw_raid + type: string + in: formData + description: >- + Raid name. Use instead of hw_sw_raid_id. Use d42null to clear.
    Hardware - Software + - name: raid_type_id + type: string + in: formData + description: >- + Raid type ID. Use d42null to clear.
    1. Raid 0 | 2. Raid 1 | 3. Raid 3 | 4. Raid 5 | + 5. Raid 6 | 6. Raid 10 | 7. Raid 50 | 8. Raidz | 9. Raidz2 + - name: raid_type + type: string + in: formData + description: >- + Raid type name. Use instead of raid_type_id Use d42null to clear.
    Raid 0 | Raid 1 | Raid 3 | Raid 5 | + Raid 6 | Raid 10 | Raid 50 | Raidz | Raidz2 + - name: devices_in_clusters_ids + type: string + in: formData + description: >- + Comma-separated device IDs for devices in cluster. Only valid for cluster devices. + - name: nonauthoritativealiases + type: string + in: formData + description: >- + Comma-separated non-authoritative aliases for the device. Must not exist; ignored otherwise. + - name: nonauthoritativealiases_remove + type: string + in: formData + description: >- + Comma-separated non-authoritative aliases to remove. + - name: aliases + type: string + in: formData + description: >- + Comma separated aliases for the device. Must not exist; ignored otherwise. + - name: aliases_remove + type: string + in: formData + description: >- + Comma-separated aliases to remove. + - name: tags + type: string + in: formData + description: >- + Comma-separated tags. + - name: tags_remove + type: string + in: formData + description: >- + Comma-separated tags to remove. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/deviceName' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/devices/{id}/: + get: + operationId: getDevices_id + description: Retrieve detailed information about a specific device + summary: Get specific device + tags: + - Devices + parameters: + - name: id + type: integer + in: path + required: true + description: The ID of the device to retrieve + - $ref: '#/parameters/device_include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Assets' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteDevicesIdv2 + summary: Delete + description: >- + This API is used to delete a device with the device id supplied as the + required argument + tags: + - Devices + parameters: + - name: id + type: integer + in: path + required: true + description: Device id + - name: delete_vms + type: string + in: formData + enum: + - 'yes' + - 'no' + description: If deleting a host, also delete VMs on the host - yes/no. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + admin: + example: + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putDevicesIdv2 + summary: Update + description: >- + This API is used to update a device with the device_id supplied with the provided parameters. + tags: + - Devices + parameters: + - name: id + type: integer + in: path + required: true + description: Device id + - name: name + type: string + description: >- + The device name. + in: formData + - name: asset_no + type: string + in: formData + description: The asset number of the device. + - name: uuid + type: string + in: formData + description: >- + The uuid of the device. If a device with a matching uuid is found, + that device is updated. + - name: virtual_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates the device is a virtual host + - name: in_service + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + ‘yes’ indicates if device is in service, ‘no’ indicates not in + service + - name: type_id + type: string + in: formData + enum: + - '1' + - '2' + - '3' + - '4' + description: Device type ID
    1. unknown 2. physical
    3. virtual 4. cluster + - name: type + type: string + in: formData + enum: + - 'unknown' + - 'physical' + - 'virtual' + - 'cluster' + description: Device type by name. + - name: physicalsubtype_id + type: string + in: formData + description: >- + Used to set the device subtype - the device must be physical or unknown.
    + 1. Generic 2. Rackable 3. Blade 4. PDU 5. Access Point 6. CRAC 7. UPS 8. TAP 9. Branch Circuit Power Meter 10. Power Unit 11. WorkStation 12. ThinClient 13. Network Printer 14. Laptop 15. Environment Monitor
    OR D42 ID of user-generated subtype + - name: physicalsubtype + type: string + in: formData + description: >- + Either a system-generated subtype name or a user-generated subtype name. + - name: network_device + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a network switch. + - name: blade_chassis + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a blade host. + - name: manufacturer + type: string + in: formData + description: The hardware manufacturer for the device. This is used to match on the correct hardware. + - name: hardware_id + type: string + in: formData + description: >- + Hardware model id - for physical devices. Use to set device hardware model. Only for devices without hardware. + - name: hardware + type: string + in: formData + description: >- + Hardware model name. Use instead of hardware_id. For physical devices. Use to set device hardware model. + If hardware model with provided name is not found and user provided manufacturer, new hardware model will + be created and assigned to device. Only for devices without hardware. + - name: new_hardware + type: string + in: formData + description: >- + If you want to change the hardware model for a device. This will not create + new hardware models - you can only change to an existing model. + - name: virtual_host_device_id + type: string + in: formData + description: >- + Host ID of virtual device. Use d42null to clear. + - name: virtual_host_device + type: string + in: formData + description: >- + Host name of virtual device. Use d42null to clear. + - name: host_chassis_device_id + type: string + in: formData + description: >- + Host chassis device ID. Use d42null to clear. + - name: host_chassis_device + type: string + in: formData + description: >- + Host chassis device name - for blades. Use d42null to clear. + - name: bladeno + type: integer + in: formData + description: 'Slot number for blade device.' + - name: chassisslot_id + type: string + in: formData + description: Chassis slot ID. If chassis slot exists, the slot number will be updated to it's slot number. + - name: service_level_id + type: string + in: formData + description: >- + Service level ID for the device + - name: service_level + type: string + in: formData + description: >- + The service level name for the device. Use instead of service_level_id. + - name: customer_id + type: string + in: formData + description: Legacy field. Use customers parameter instead of this. ID of the customer. Customer record must already exist. Using this will override all existing customer associations. Use d42null to reset value. + - name: customer + type: string + in: formData + description: Legacy field. Use customers parameter instead of this. Name of the customer. Customer record must already exist. Using this will override all existing customer associations. Use d42null to reset value. + - name: customers + type: string + in: formData + description: CSV list of customer names. Customer records must already exist. Use this instead of customer/customer_id. Customers will be associated with the device. + - name: customers_remove + type: string + in: formData + description: CSV list of customer names. Customers will be disassociated from the device. Use * to clear all customer associations. + - name: additional_location + type: string + in: formData + description: Additional location info. Use 'D42_NULL' to clear Additional Location Info field. + - name: building_id + type: string + in: formData + description: >- + Building ID. This field should only be used if the device is NOT in a server room, storage room, or rack. + Selecting a building will cause any room and rack associations to be deleted. + - name: storage_room + type: string + in: formData + description: Name of storage room. Device will be automatically removed from rack or server room + - name: storage_room_id + type: string + in: formData + description: ID of storage room. Device will be automatically removed from rack or server room + - name: notes + type: string + in: formData + description: >- + Device notes. + - name: objectcategory_id + type: string + in: formData + description: >- + Object category ID. If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: objectcategory + type: string + in: formData + description: >- + Object category name. Use instead of objectcategory_id. If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: dont_inherit + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + If 'yes', multi-tenancy permissions will not be inherited from the host so you can assign virtual devices + and blades devices to different object categories. + - $ref: '#/parameters/virtualsubtype_id' + - name: virtualsubtype + type: string + in: formData + enum: + - Internal VM + - Amazon EC2 Instance + - Azure Cloud Service + - Azure SQL Server + - Azure Storage + - Other + - Outscale Instance + - Linode Instance + - DigitalOcean Instance + - Azure Virtual Machine + - VMWare + - Citrix/Xen + - KVM + - Hyper-V + - Docker Container + - LXC Container + - Rackspace VM + - Softlayer VM + - QEMU + - Joyent Instance + - VirtualBox + - Oracle VM + - OpenStack + - Xen + - LPAR + - GCE + - Amazon Service + - Context + - Alibaba Cloud Instance + - Oracle Cloud Instance + - Kubernetes Container + - AIX VIOS + - Nutanix AHV + description: Virtual subtype name. Use instead of virtual_subtype_id. Only for virtual devices. + - name: datacenter + type: string + in: formData + description: >- + Data center name. + - name: ram_size + type: string + in: formData + description: >- + RAM. Just numbers. Use d42null to clear. + - name: ram_size_type_id + type: string + in: formData + description: >- + RAM size type ID. Use d42null to clear.
    1 MB | 2 GB | 3 TB + - name: ram_size_type + type: string + in: formData + description: >- + RAM size type name. Use instead of ram_type_size. Use d42null to clear.
    MB - GB - TB + - name: total_cpus + type: string + in: formData + description: >- + Total number of CPUs. Use d42null to clear. + - name: core_per_cpu + type: string + in: formData + description: >- + Number of Cores/CPU. Use d42null to clear. + - name: threads_per_core + type: string + in: formData + description: >- + Number of Threads/Core. Use d42null to clear. + - name: cpu_speed + type: string + in: formData + description: >- + CPU speed. Use d42null to clear. + - name: hz_id + type: string + in: formData + description: >- + Type ID of CPU Speed. Use d42null to clear.
    1 MHz | 2 GHz + - name: hz + type: string + in: formData + description: >- + Type name of CPU Speed. Use d42null to clear.
    MHz - GHz + - name: hard_disk_count + type: string + in: formData + description: >- + Total number of HDD. Use d42null to clear. + - name: hard_disk_size + type: string + in: formData + description: >- + HDD size. Use d42null to clear. + - name: hard_disk_size_type_id + type: string + in: formData + description: >- + Type ID of hard disk size. Use d42null to clear.
    GB - TB - PB + - name: hard_disk_size_type + type: string + in: formData + description: >- + Type name of hard disk size. Use instead of hard_disk_size_type_id. Use d42null to clear.
    GB - TB - PB + - name: hw_sw_raid_id + type: string + in: formData + description: >- + Raid ID. Use d42null to clear.
    1. Hardware - 2. Software + - name: hw_sw_raid + type: string + in: formData + description: >- + Raid name. Use instead of hw_sw_raid_id. Use d42null to clear.
    Hardware - Software + - name: raid_type_id + type: string + in: formData + description: >- + Raid type ID. Use d42null to clear.
    1. Raid 0 | 2. Raid 1 | 3. Raid 3 | 4. Raid 5 | + 5. Raid 6 | 6. Raid 10 | 7. Raid 50 | 8. Raidz | 9. Raidz2 + - name: raid_type + type: string + in: formData + description: >- + Raid type name. Use instead of raid_type_id Use d42null to clear.
    Raid 0 | Raid 1 | Raid 3 | Raid 5 | + Raid 6 | Raid 10 | Raid 50 | Raidz | Raidz2 + - name: devices_in_clusters_ids + type: string + in: formData + description: >- + Comma-separated device IDs for devices in cluster. Only valid for cluster devices. + - name: nonauthoritativealiases + type: string + in: formData + description: >- + Comma-separated non-authoritative aliases for the device. Must not exist; ignored otherwise. + - name: nonauthoritativealiases_remove + type: string + in: formData + description: >- + Comma-separated non-authoritative aliases to remove. + - name: aliases + type: string + in: formData + description: >- + Comma separated aliases for the device. Must not exist; ignored otherwise. + - name: aliases_remove + type: string + in: formData + description: >- + Comma-separated aliases to remove. + - name: tags + type: string + in: formData + description: >- + Comma-separated tags. + - name: tags_remove + type: string + in: formData + description: >- + Comma-separated tags to remove. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/deviceName' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/devices/{id}/archive/: + post: + operationId: archiveDevicesIdv2 + description: This API archives a device by ID + summary: Archive device by ID + tags: + - Devices + parameters: + - name: id + type: integer + in: path + required: true + description: Device id. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/objectArchive' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/devices/all/: + get: + operationId: getDevicesAll + description: Get all devices with detailed output (added in v6.3.4) + summary: Get all (detailed) v1 + tags: + - Devices + parameters: + - $ref: '#/parameters/include_cols' + - $ref: '#/parameters/limit' + - $ref: '#/parameters/offset' + - $ref: '#/parameters/blankasnull' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/devicesAll' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/id/{device-id}/': + get: + operationId: getDevicesId + summary: Get device by ID + description: Retrieve detailed information about a specific device using device id + tags: + - Devices + parameters: + - name: device-id + type: integer + in: path + required: true + - $ref: '#/parameters/follow' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/devicesAll' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/customer_id/{customer-id}/': + get: + operationId: getDevicesCustomer_id + summary: Get device by customer ID + description: Retrieve all devices associated with a specific customer + tags: + - Devices + parameters: + - name: customer-id + type: integer + in: path + required: true + - $ref: '#/parameters/include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/devicesCustomerId' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/name/{device-name}/': + get: + operationId: getDevicesName + summary: Get device by name + description: Retrieve detailed information about a specific device by device name + tags: + - Devices + parameters: + - name: device-name + type: string + in: path + format: uuid + required: true + - $ref: '#/parameters/include_cols' + - name: follow + type: string + in: query + description: >- + use yes if you want to see virtuals in a virtual host, modules in a + blade chassis and devices in a clusetered device + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/devicesCustomerId' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/serial/{device-serial}/': + get: + operationId: getDevicesSerial + summary: Get device by serial + description: >- + Retrieve detailed information about a specific device by device serial + number + tags: + - Devices + parameters: + - name: device-serial + type: string + in: path + format: uuid + required: true + - $ref: '#/parameters/include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/devicesCustomerId' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/asset/{device-asset}/': + get: + operationId: getDevicesAsset + summary: Get device by asset + description: >- + Retrieve detailed information about a specific device by device asset + number + tags: + - Devices + parameters: + - name: device-asset + type: string + in: path + format: uuid + required: true + - $ref: '#/parameters/include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/devicesCustomerId' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/id/{device-id}/attachments/': + get: + operationId: getAllDevicesAttachments + summary: Get attachments by device ID + description: >- + Retrieve all file attachments for a specific device using device id.
    + Returns a zip file of all the attachments associated with the device with the specified ID in URL.
    + Note that this implementation of Swagger does not support file download - use another mechanism such as CURL.
    +
    cURL example:
    + curl -X GET \
    + URL/api/1.0/devices/id/3/attachments \
    + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI=' + tags: + - Devices + parameters: + - name: device-id + type: integer + in: formData + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + file_download: + example: attachments_archive.6646-2020-01-24.zip + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: uploadDevicesAttachments + summary: Upload a device attachment + description: >- + Uploads a file attachment for a specific device using device id and a selected file.
    + Note that this implementation of Swagger does not support file upload - use another mechanism such as CURL.
    +
    cURL example:
    + curl -X POST \
    + URL/api/1.0/devices/id/3/attachments/17 \
    + -H 'Accept-Encoding: gzip, deflate' \
    + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI='
    + -H 'Content-Type: multipart/form-data; boundary=--------------------------216746989913126372322897' \
    + -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
    + -F 'name=@/C:/path/to/attachment/Some test pdf.pdf' \
    + -F 'file_attachment_details={"some test pdf.pdf":"hello world! I'\''m a pdf description!"}' + tags: + - Devices + parameters: + - name: device-id + type: integer + in: formData + required: true + - name: name + type: string + in: formData + required: True + description: >- + The name of the file attachment you select for upload.
    + This filename is also required for the file_attachment_details parameter. + - name: file_attachment_details + type: string + in: formData + required: true + description: >- + The name of the file to upload and a description.
    Example: {"TEST_Attachment-3.txt": "test attachment-3"} + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - TEST-Attachment-3.txt + - attachment_id + - 17 + - success + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/id/{device-id}/attachments/{attachment_id}/': + get: + operationId: getaDevicesAttachment + summary: Get a device attachment + description: >- + Retrieves a specific file attachment for a specific device using device id and attachment id.
    + Note that this implementation of Swagger does not support file download - use another mechanism such as CURL.
    +
    cURL example:
    + curl -X GET \
    + URL/api/1.0/devices/id/3/attachments/17 \
    + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI=' + tags: + - Devices + parameters: + - name: device-id + type: integer + in: formData + required: true + - name: attachment_id + type: integer + in: formData + required: true + description: ID of the attachment to get. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + file_download: + example: attachment_1.txt + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/id/{device-id}/attachments/{id}/': + delete: + operationId: deleteDevicesAttachment + summary: Delete device attachment + description: Delete a file attachment for a specific device using device ID and the attachment ID + tags: + - Devices + parameters: + - name: device-id + type: integer + in: formData + required: true + - name: id + type: integer + in: path + required: true + description: ID of the attachment to delete. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + attachment_id: + example: 34 + success: + example: 'true' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/{id}/': + get: + operationId: getDevices_id + description: Retrieve detailed information about a specific device + summary: Get specific device + tags: + - Devices + parameters: + - name: id + type: integer + in: path + required: true + description: The ID of the device to retrieve + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Assets' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteDevicesId + summary: Delete + description: >- + This API is used to delete a device with the device id supplied as the + required argument + tags: + - Devices + parameters: + - name: id + type: integer + in: path + required: true + description: Device id + - name: delete_vms + type: string + in: formData + enum: + - 'yes' + - 'no' + description: If deleting a host, also delete VMs on the host - yes/no. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + admin: + example: + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/: + post: + operationId: postDevice + summary: Create/update + description: >- + This API is used to create a new device with the name supplied as the + required argument or update an existing device that has the name, serial + # or uuid of the required argument. For information purposes, this is + also the API that is used by the Device42 autodiscovery tool. + tags: + - Devices + parameters: + - name: name + type: string + description: >- + Device name. If device with name already exists - the existing + device is updated. If an existing device based on serial # or uuid + are found - name is ignored. In that case existing name is not + changed and you can use new_name if you wish to change the name. + in: formData + - name: new_name + type: string + description: >- + As mentioned above, this can be used to change the name of an + existing device + in: formData + - name: serial_no + type: string + description: >- + the serial # of the device. If a device with matching serial # is + found - that device is updated. Serial # with less than 3 characters + in length are ignored. Also, certain generic serial #s like + 123456789 or ‘not specified’ are ignored. + in: formData + - name: uuid + type: string + in: formData + description: >- + The uuid of the device. If a device with a matching uuid is found - + that device is updated. + - name: asset_no + type: string + in: formData + description: 'the asset # of the device.' + - name: manufacturer + type: string + in: formData + description: the hardware manufacturer for the device. + - name: hardware + type: string + in: formData + description: >- + the name of the hardware model for the device. Use in conjunction + with the manufacturer argument. However, an update will only occur + if no hardware model is previously assigned to the device. + - name: new_hardware + type: string + in: formData + description: >- + If you want to change the hardware model for a device. If the device + is rack mounted, it will unmount the device before changing hardware + model and attempt to mount it back to same rack location (Changed in + v6.3.2) + - name: is_it_switch + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a network switch + - name: is_it_virtual_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a virtual host + - name: is_it_blade_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a blade host + - name: in_service + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + ‘yes’ indicates if device is in service, ‘no’ indicates not in + service + - name: type + type: string + in: formData + enum: + - unknown + - physical + - virtual + - blade + - cluster + - other + description: >- + is the type for device. Valid values are ‘unknown’, ‘physical’, ‘virtual’, + ‘blade’, ‘cluster’, or ‘other’. + - name: service_level + type: string + in: formData + description: >- + the service level name for the device. The service level must be + pre-defined in the device42 appliance before it can be referenced in + an api call. + - name: virtual_host + type: string + in: formData + description: >- + Is the name for the host of the virtual machine. Two conditions must + be met for this value to successfully update: 1. The device must be + a virtual machine. 2. The virtual host must already exist in the + device42 application and must be already marked as a virtual host. + - name: blade_host + type: string + in: formData + description: >- + the name of the host for the blade machine. Two conditions must be + met for this value to successfully update: 1. The device must be a + blade type. 2. The blade host must already exist and must already be + marked as a blade host. + - name: slot_no + type: integer + in: formData + description: 'slot # for blade device.' + - name: storage_room_id + type: integer + in: formData + description: ID of the room to assign device to storage room. Added in v5.5.0 + - name: storage_room + type: string + in: formData + description: >- + name of the room to assign device to, only used if the room name is + unique. Added in v5.5.0 + - name: os + type: string + in: formData + description: >- + the name of the operating system (os needs to be provided if updating + osver or osverno, case insensitive, gets capitalized upon update/creation) + - name: osver + in: formData + type: string + description: >- + the version of the operating system (os needs to be provided if updating + osver or osverno, case insensitive, gets capitalized upon update/creation). + Use d42null to clear field. + - name: osarch + type: string + in: formData + description: The architecture of the operating system (32 or 64) + - name: osverno + type: integer + in: formData + description: >- + the version # or build # of the operating system (os needs to be provided if updating + osver or osverno, case insensitive, gets capitalized upon update/creation) + - name: memory + type: string + in: formData + description: the total memory(RAM) in MB. Just numbers. + - name: cpucount + type: integer + in: formData + description: 'total # of CPUs. (If updating, cpupower and cpucore required)' + - name: cpupower + type: string + in: formData + description: >- + CPU speed in MHz, just numbers. (If updating, cpucount and cpucore + required) + - name: cpucore + type: string + in: formData + description: >- + number of cores/CPU. Integer. (If updating, cpupower and cpucount + required) + - name: hddcount + type: integer + in: formData + description: >- + total # of HDD (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddsize + type: string + in: formData + description: >- + HDD Size in GB (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid + type: string + in: formData + enum: + - none + - software + - hardware + description: >- + Raid. Possible values: software or hardware. none to clear. (none + added in v9.1.0) (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid_type + type: string + in: formData + enum: + - none + - raid 0 + - raid 1 + - raid 3 + - raid 5 + - raid 6 + - raid 10 + - raid 50 + - raidz + - raidz2 + description: >- + Raid Type. (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: macaddress + type: string + in: formData + description: >- + the mac address value. Use multiple POST/PUT to add multiple mac + addresses. + - name: devices_in_cluster + type: string + in: formData + description: >- + comma separated device names for devices in cluster. Only valid for + device type cluster. + - name: appcomps + type: string + in: formData + description: comma separated application component names on this device. + - name: customer + type: string + in: formData + description: Name of the Customer. Customer record must already exist. Using this will override all existing customer associations. + - name: customer_id + type: string + in: formData + description: ID of the Customer record. Customer record must already exist. Using this will override all existing customer associations. + - name: contract_id + type: integer + in: formData + description: >- + ID for the contract. Available via GET /api/api/1.0/contracts/ – + DEPRECATED in v550. + - name: contract + type: string + in: formData + description: >- + Name of the contract. Used only if contract name is unique. – + DEPRECATED in v550. + - name: aliases + type: string + in: formData + description: >- + optional. Comma separated aliases for the device. Must not exist, + ignored otherwise. + - name: subtype + type: string + in: formData + description: Only for device type other. Must exist internally first. + - name: blade_host_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: clear blade host for device + - name: virtual_subtype + type: string + in: formData + default: internal VM + enum: + - Internal VM + - Amazon EC2 Instance + - Azure Cloud Service + - Azure SQL Server + - Azure Storage + - Other + - Outscale Instance + - Linode Instance + - DigitalOcean Instance + - Azure Virtual Machine + - VMWare + - Citrix/Xen + - KVM + - Hyper-V + - Docker Container + - LXC Container + - Rackspace VM + - Softlayer VM + - QEMU + - Joyent Instance + - VirtualBox + - Oracle VM + - OpenStack + - Xen + - LPAR + - GCE + - Amazon Service + - Context + - Alibaba Cloud Instance + - Oracle Cloud Instance + - Kubernetes Container + - AIX VIOS + description: Only for device type virtual. Default is internal VM. + - name: notes + type: string + in: formData + - name: tags + type: string + in: formData + description: comma separated tags (Added in v5.9.2) + - name: virtual_host_clear + type: string + in: formData + description: yes to clear virtual host for a VM (added in v9.1.0) + - name: tags_remove + type: string + in: formData + description: comma separated tags to remove (added in v9.1.0) + - name: aliases_remove + type: string + in: formData + description: comma separated aliases to remove + - name: devices_in_cluster_remove + type: string + in: formData + description: >- + comma separated device names for removing devices in cluster. Only + valid for device type cluster. (added in v9.2.0) + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + - name: bios_version + type: string + in: formData + description: Basic Input/Output system version + - name: bios_release_date + type: string + in: formData + description: Basic Input/Output system release date + - name: bios_revision + type: string + in: formData + - name: bios_firmware_revision + type: string + in: formData + - name: bios_vendor + type: string + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/deviceName' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putDevice + description: >- + Update Device by Name, ID, Serial or Asset. Requires one of the + following parameters: name, serial, asset, device_id + summary: Update + tags: + - Devices + parameters: + - name: name + type: string + in: formData + description: >- + Updates the device found with that name. Otherwise returns “device + not found" + - name: serial + type: string + in: formData + description: >- + If the serial number is provided, it must be a unique serial number + or a “device not found” error will result. If it is a unique serial + number, then the device that has that serial number will be updated. + - name: asset + type: string + in: formData + description: >- + If the asset number is provided, it must be a unique asset number or + a “device not found” error will result. If it is a unique asset + number, then the device that has that asset number will be updated. + - name: device_id + type: string + in: formData + description: update the device by Device42 ID + - name: new_name + type: string + description: >- + As mentioned above, this can be used to change the name of an + existing device + in: formData + - name: serial_no + type: string + description: >- + the serial # of the device. If a device with matching serial # is + found - that device is updated. Serial # with less than 3 characters + in length are ignored. Also, certain generic serial #s like + 123456789 or ‘not specified’ are ignored. + in: formData + - name: uuid + type: string + in: formData + description: >- + the uuid of the device. If a device with matching uuid is found - + that device is updated. + - name: asset_no + type: string + in: formData + description: 'the asset # of the device.' + - name: manufacturer + type: string + in: formData + description: the hardware manufacturer for the device. + - name: hardware + type: string + in: formData + description: >- + the name of the hardware model for the device. Use in conjunction + with the manufacturer argument. However, an update will only occur + if no hardware model is previously assigned to the device. + - name: new_hardware + type: string + in: formData + description: >- + If you want to change the hardware model for a device. If the device + is rack mounted, it will unmount the device before changing hardware + model and attempt to mount it back to same rack location (Changed in + v6.3.2) + - name: is_it_switch + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a network switch + - name: is_it_virtual_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a virtual host + - name: is_it_blade_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a blade host + - name: in_service + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + ‘yes’ indicates if device is in service, ‘no’ indicates not in + service + - name: type + type: string + in: formData + enum: + - physical + - virtual + - blade + - cluster + - other + description: type of the device + - name: service_level + type: string + in: formData + description: >- + the service level name for the device. The service level must be + pre-defined in the device42 appliance before it can be referenced in + an api call. + - name: virtual_host + type: string + in: formData + description: >- + Is the name for the host of the virtual machine. Two conditions must + be met for this value to successfully update: 1. The device must be + a virtual machine. 2. The virtual host must already exist in the + device42 application and must be already marked as a virtual host. + - name: blade_host + type: string + in: formData + description: >- + the name of the host for the blade machine. Two conditions must be + met for this value to successfully update: 1. The device must be a + blade type. 2. The blade host must already exist and must already be + marked as a blade host. + - name: slot_no + type: integer + in: formData + description: 'slot # for blade device.' + - name: storage_room_id + type: integer + in: formData + description: ID of the room to assign device to storage room. Added in v5.5.0 + - name: storage_room + type: string + in: formData + description: >- + name of the room to assign device to, only used if the room name is + unique. Added in v5.5.0 + - name: os + type: string + in: formData + description: >- + the name of the operating system (os needs to be provided if updating + osver or osverno, case insensitive, gets capitalized upon update/creation) + - name: osver + in: formData + type: string + description: >- + the version of the operating system (os needs to be provided if updating + osver or osverno). Use d42null to clear field. + - name: osarch + type: string + in: formData + description: The architecture of the operating system (32 or 64) + - name: osverno + type: integer + in: formData + description: >- + the version # or build # of the operating system (os needs to be provided if + updating osver or osverno) + - name: memory + type: string + in: formData + description: the total memory(RAM) in MB. Just numbers. + - name: cpucount + type: integer + in: formData + description: 'total # of CPUs. (If updating, cpupower and cpucore required)' + - name: cpupower + type: string + in: formData + description: >- + CPU speed in MHz, just numbers. (If updating, cpucount and cpucore + required) + - name: cpucore + type: string + in: formData + description: >- + number of cores/CPU. Integer. (If updating, cpupower and cpucount + required) + - name: hddcount + type: integer + in: formData + description: >- + total # of HDD (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddsize + type: string + in: formData + description: >- + HDD Size in GB (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid + type: string + in: formData + enum: + - none + - software + - hardware + description: >- + Raid. Possible values: software or hardware. none to clear. (none + added in v9.1.0) (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid_type + type: string + in: formData + enum: + - none + - raid 0 + - raid 1 + - raid 3 + - raid 5 + - raid 6 + - raid 10 + - raid 50 + - raidz + - raidz2 + description: >- + Raid Type. (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: macaddress + type: string + in: formData + description: >- + the mac address value. Use multiple POST/PUT to add multiple mac + addresses. + - name: devices_in_cluster + type: string + in: formData + description: >- + comma separated device names for devices in cluster. Only valid for + device type cluster. + - name: appcomps + type: string + in: formData + description: comma separated application component names on this device. + - name: customer + type: string + in: formData + description: Name of the Customer. Customer record must already exist. Using this will override all existing customer associations. + - name: customer_id + type: string + in: formData + description: ID of the Customer record. Customer record must already exist. Using this will override all existing customer associations. + - name: contract_id + type: integer + in: formData + description: >- + ID for the contract. Available via GET /api/api/1.0/contracts/ – + DEPRECATED in v550. + - name: contract + type: string + in: formData + description: >- + Name of the contract. Used only if contract name is unique. – + DEPRECATED in v550. + - name: aliases + type: string + in: formData + description: >- + optional. Comma separated aliases for the device. Must not exist, + ignored otherwise. + - name: subtype + type: string + in: formData + description: Only for device type other. Must exist internally first. + - name: blade_host_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: clear blade host for device + - name: virtual_subtype + type: string + in: formData + default: internal VM + enum: + - internal VM + - ec2 + - azure_vm + - azure_sql + - azure_storage + - other + - outscale + - linode + - digitalOcean + - vmware + - citrix + - kvm + - hyperv + - docker + - lxc + - rackspace_vm + - softlayer_vm + - ovirt + - joyent_vm + - virtualbox + description: Only for device type virtual. Default is internal VM. + - name: notes + type: string + in: formData + - name: tags + type: string + in: formData + description: comma separated tags (Added in v5.9.2) + - name: virtual_host_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes to clear virtual host for a VM (added in v9.1.0) + - name: tags_remove + type: string + in: formData + description: comma separated tags to remove (added in v9.1.0) + - name: aliases_remove + type: string + in: formData + description: comma separated aliases to remove + - name: devices_in_cluster_remove + type: string + in: formData + description: >- + comma separated device names for removing devices in cluster. Only + valid for device type cluster. (added in v9.2.0) + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/deviceName' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/device/: + put: + operationId: putCustom_Field_Devices + summary: Custom fields + description: Create or update a custom field for a device. The device_id parameter is required to identify the device. + tags: + - Devices + parameters: + - name: device_id + in: formData + description: D42 ID of the device. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/include_in_context_popups' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 8 + - Business Unit + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/multiserials/: + post: + operationId: postMultiSerialDevice + summary: Create/update multi-serial device by name + description: >- + This API is used to create a new device with the name supplied as the + required argument or update an existing device that with that name. This + is similar to /api/1.0/devices/ POST call - but you can add + duplicate serial numbers and UUIDs for high density servers that share + the same serial # and/or UUID + tags: + - Devices + parameters: + - name: name + type: string + description: >- + Device name. If device with name already exists - the existing + device is updated. If an existing device based on serial # or uuid + are found - name is ignored. In that case existing name is not + changed and you can use new_name if you wish to change the name. + in: formData + - name: new_name + type: string + description: >- + As mentioned above, this can be used to change the name of an + existing device + in: formData + - name: serial_no + type: string + description: >- + the serial # of the device. If a device with matching serial # is + found - that device is updated. Serial # with less than 3 characters + in length are ignored. Also, certain generic serial #s like + 123456789 or ‘not specified’ are ignored. + in: formData + - name: uuid + type: string + in: formData + description: >- + the uuid of the device. If a device with matching uuid is found - + that device is updated. + - name: asset_no + type: string + in: formData + description: 'the asset # of the device.' + - name: manufacturer + type: string + in: formData + description: the hardware manufacturer for the device. + - name: hardware + type: string + in: formData + description: >- + the name of the hardware model for the device. Use in conjunction + with the manufacturer argument. However, an update will only occur + if no hardware model is previously assigned to the device. + - name: new_hardware + type: string + in: formData + description: >- + If you want to change the hardware model for a device. If the device + is rack mounted, it will unmount the device before changing hardware + model and attempt to mount it back to same rack location (Changed in + v6.3.2) + - name: is_it_switch + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a network switch + - name: is_it_virtual_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a virtual host + - name: is_it_blade_host + type: string + in: formData + description: ‘yes’ indicates if device is a blade host + - name: in_service + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + ‘yes’ indicates if device is in service, ‘no’ indicates not in + service + - name: type + type: string + in: formData + enum: + - physical + - virtual + - blade + - cluster + - other + description: >- + is the type for device. Valid values are ‘physical’, ‘virtual’, + ‘blade’, ‘cluster’, or ‘other’. + - name: service_level + type: string + in: formData + description: >- + the service level name for the device. The service level must be + pre-defined in the device42 appliance before it can be referenced in + an api call. + - name: virtual_host + type: string + in: formData + description: >- + Is the name for the host of the virtual machine. Two conditions must + be met for this value to successfully update: 1. The device must be + a virtual machine. 2. The virtual host must already exist in the + device42 application and must be already marked as a virtual host. + - name: blade_host + type: string + in: formData + description: >- + the name of the host for the blade machine. Two conditions must be + met for this value to successfully update: 1. The device must be a + blade type. 2. The blade host must already exist and must already be + marked as a blade host. + - name: slot_no + type: integer + in: formData + description: 'slot # for blade device.' + - name: storage_room_id + type: integer + in: formData + description: ID of the room to assign device to storage room. Added in v5.5.0 + - name: storage_room + type: string + in: formData + description: >- + name of the room to assign device to, only used if the room name is + unique. Added in v5.5.0 + - name: os + type: string + in: formData + description: >- + the name of the operating system (os, osver, and osverno all + required if updating any of the three). + - name: osver + in: formData + type: string + description: >- + the version of the operating system (os, osver, and osverno all + required if updating any of the three) + - name: osarch + type: string + in: formData + description: The architecture of the operating system (32 or 64) + - name: osverno + type: integer + in: formData + description: >- + the version # or build # of the operating system (os, osver, and + osverno all required if updating any of the three) + - name: memory + type: string + in: formData + description: the total memory(RAM) in MB. Just numbers. + - name: cpucount + type: integer + in: formData + description: 'total # of CPUs. (If updating, cpupower and cpucore required)' + - name: cpupower + type: string + in: formData + description: >- + CPU speed in MHz, just numbers. (If updating, cpucount and cpucore + required) + - name: cpucore + type: string + in: formData + description: >- + number of cores/CPU. Integer. (If updating, cpupower and cpucount + required) + - name: hddcount + type: integer + in: formData + description: >- + total # of HDD (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddsize + type: string + in: formData + description: >- + HDD Size in GB (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid + type: string + in: formData + enum: + - none + - software + - hardware + description: >- + Raid. Possible values: software or hardware. none to clear. (none + added in v9.1.0) (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid_type + type: string + in: formData + enum: + - none + - raid 0 + - raid 1 + - raid 3 + - raid 5 + - raid 6 + - raid 10 + - raid 50 + - raidz + - raidz2 + description: >- + Raid Type. (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: macaddress + type: string + in: formData + description: >- + the mac address value. Use multiple POST/PUT to add multiple mac + addresses. + - name: devices_in_cluster + type: string + in: formData + description: >- + comma separated device names for devices in cluster. Only valid for + device type cluster. + - name: appcomps + type: string + in: formData + description: comma separated application component names on this device. + - name: customer + type: string + in: formData + description: Name of the Customer. Customer record must already exist. Using this will override all existing customer associations. + - name: customer_id + type: string + in: formData + description: ID of the Customer record. Customer record must already exist. Using this will override all existing customer associations. + - name: contract_id + type: integer + in: formData + description: >- + ID for the contract. Available via GET /api/api/1.0/contracts/ – + DEPRECATED in v550. + - name: contract + type: string + in: formData + description: >- + Name of the contract. Used only if contract name is unique. – + DEPRECATED in v550. + - name: aliases + type: string + in: formData + description: >- + optional. Comma separated aliases for the device. Must not exist, + ignored otherwise. + - name: subtype + type: string + in: formData + description: Only for device type other. Must exist internally first. + - name: blade_host_clear + type: string + in: formData + description: clear blade host for device + - name: virtual_subtype + type: string + in: formData + default: internal VM + enum: + - internal VM + - ec2 + - azure_vm + - azure_sql + - azure_storage + - other + - outscale + - linode + - digitalOcean + - vmware + - citrix + - kvm + - hyperv + - docker + - lxc + - rackspace_vm + - softlayer_vm + - ovirt + - joyent_vm + - virtualbox + description: Only for device type virtual. Default is internal VM. + - name: notes + type: string + in: formData + - name: tags + type: string + in: formData + description: comma separated tags (Added in v5.9.2) + - name: virtual_host_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes to clear virtual host for a VM (added in v9.1.0) + - name: tags_remove + type: string + in: formData + description: comma separated tags to remove (added in v9.1.0) + - name: aliases_remove + type: string + in: formData + description: comma separated aliases to remove + - name: devices_in_cluster_remove + type: string + in: formData + description: >- + comma separated device names for removing devices in cluster. Only + valid for device type cluster. (added in v9.2.0) + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/deviceName' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/multinodes/: + post: + operationId: postMultiNodeDevice + summary: Create/update multi-node device by name + description: >- + This API is used to create a new device with the name supplied as the + required argument or update an existing device that with that name. This + is similar to /api/1.0/devices/ POST call - but you can add + duplicate serial #s and UUID for high density servers that share the + same serial # and/or UUID + tags: + - Devices + parameters: + - name: name + type: string + description: >- + Device name. If device with name already exists - the existing + device is updated. If an existing device based on serial # or uuid + are found - name is ignored. In that case existing name is not + changed and you can use new_name if you wish to change the name. + in: formData + - name: new_name + type: string + description: >- + As mentioned above, this can be used to change the name of an + existing device + in: formData + - name: serial_no + type: string + description: >- + the serial # of the device. If a device with matching serial # is + found - that device is updated. Serial # with less than 3 characters + in length are ignored. Also, certain generic serial #s like + 123456789 or ‘not specified’ are ignored. + in: formData + - name: uuid + type: integer + in: formData + description: >- + the uuid of the device. If a device with matching uuid is found - + that device is updated. + - name: asset_no + type: string + in: formData + description: 'the asset # of the device.' + - name: manufacturer + type: string + in: formData + description: the hardware manufacturer for the device. + - name: hardware + type: string + in: formData + description: >- + the name of the hardware model for the device. Use in conjunction + with the manufacturer argument. However, an update will only occur + if no hardware model is previously assigned to the device. + - name: new_hardware + type: string + in: formData + description: >- + If you want to change the hardware model for a device. If the device + is rack mounted, it will unmount the device before changing hardware + model and attempt to mount it back to same rack location (Changed in + v6.3.2) + - name: is_it_switch + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a network switch + - name: is_it_virtual_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a virtual host + - name: is_it_blade_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a blade host + - name: in_service + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + ‘yes’ indicates if device is in service, ‘no’ indicates not in + service + - name: type + type: string + in: formData + enum: + - physical + - virtual + - blade + - cluster + - other + description: the type of the device + - name: service_level + type: string + in: formData + description: >- + the service level name for the device. The service level must be + pre-defined in the device42 appliance before it can be referenced in + an api call. + - name: virtual_host + type: string + in: formData + description: >- + Is the name for the host of the virtual machine. Two conditions must + be met for this value to successfully update: 1. The device must be + a virtual machine. 2. The virtual host must already exist in the + device42 application and must be already marked as a virtual host. + - name: blade_host + type: string + in: formData + description: >- + the name of the host for the blade machine. Two conditions must be + met for this value to successfully update: 1. The device must be a + blade type. 2. The blade host must already exist and must already be + marked as a blade host. + - name: slot_no + type: integer + in: formData + description: 'slot # for blade device.' + - name: storage_room_id + type: integer + in: formData + description: ID of the room to assign device to storage room. Added in v5.5.0 + - name: storage_room + type: string + in: formData + description: >- + name of the room to assign device to, only used if the room name is + unique. Added in v5.5.0 + - name: os + type: string + in: formData + description: >- + the name of the operating system (os, osver, and osverno all + required if updating any of the three). + - name: osver + in: formData + type: string + description: >- + the version of the operating system (os, osver, and osverno all + required if updating any of the three) + - name: osarch + type: string + in: formData + description: The architecture of the operating system (32 or 64) + - name: osverno + type: integer + in: formData + description: >- + the version # or build # of the operating system (os, osver, and + osverno all required if updating any of the three) + - name: memory + type: string + in: formData + description: the total memory(RAM) in MB. Just numbers. + - name: cpucount + type: integer + in: formData + description: 'total # of CPUs. (If updating, cpupower and cpucore required)' + - name: cpupower + type: string + in: formData + description: >- + CPU speed in MHz, just numbers. (If updating, cpucount and cpucore + required) + - name: cpucore + type: string + in: formData + description: >- + number of cores/CPU. Integer. (If updating, cpupower and cpucount + required) + - name: hddcount + type: integer + in: formData + description: >- + total # of HDD (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddsize + type: string + in: formData + description: >- + HDD Size in GB (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid + type: string + in: formData + enum: + - none + - software + - hardware + description: >- + Raid. Possible values: software or hardware. none to clear. (none + added in v9.1.0) (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid_type + type: string + in: formData + enum: + - none + - raid 0 + - raid 1 + - raid 3 + - raid 5 + - raid 6 + - raid 10 + - raid 50 + - raidz + - raidz2 + description: >- + Raid Type. (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: macaddress + type: string + in: formData + description: >- + the mac address value. Use multiple POST/PUT to add multiple mac + addresses. + - name: devices_in_cluster + type: string + in: formData + description: >- + comma separated device names for devices in cluster. Only valid for + device type cluster. + - name: appcomps + type: string + in: formData + description: comma separated application component names on this device. + - name: customer + type: string + in: formData + description: Name of the Customer. Customer record must already exist. Using this will override all existing customer associations. + - name: customer_id + type: string + in: formData + description: ID of the Customer record. Customer record must already exist. Using this will override all existing customer associations. + - name: contract_id + type: integer + in: formData + description: >- + ID for the contract. Available via GET /api/api/1.0/contracts/ – + DEPRECATED in v550. + - name: contract + type: string + in: formData + description: >- + Name of the contract. Used only if contract name is unique. – + DEPRECATED in v550. + - name: aliases + type: string + in: formData + description: >- + optional. Comma separated aliases for the device. Must not exist, + ignored otherwise. + - name: subtype + type: string + in: formData + description: Only for device type other. Must exist internally first. + - name: blade_host_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: clear blade host for device + - name: virtual_subtype + type: string + in: formData + default: internal VM + enum: + - internal VM + - ec2 + - azure_vm + - azure_sql + - azure_storage + - other + - outscale + - linode + - digitalOcean + - vmware + - citrix + - kvm + - hyperv + - docker + - lxc + - rackspace_vm + - softlayer_vm + - ovirt + - joyent_vm + - virtualbox + description: Only for device type virtual. Default is internal VM. + - name: notes + type: string + in: formData + - name: tags + type: string + in: formData + description: comma separated tags (Added in v5.9.2) + - name: virtual_host_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes to clear virtual host for a VM (added in v9.1.0) + - name: tags_remove + type: string + in: formData + description: comma separated tags to remove (added in v9.1.0) + - name: aliases_remove + type: string + in: formData + description: comma separated aliases to remove + - name: devices_in_cluster_remove + type: string + in: formData + description: >- + comma separated device names for removing devices in cluster. Only + valid for device type cluster. (added in v9.2.0) + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/deviceName' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/physical_subtypes/: + get: + operationId: getPhysicalSubtypes + description: This API retrieves all device physical subtypes + summary: Get all physical subtypes + tags: + - Devices + parameters: + - name: physical_subtype_id + type: integer + in: query + description: Filter by physical subtype ID. + - name: name + type: string + in: query + description: Filter by physical subtype name. + - name: storage_room + type: string + in: query + enum: + - 'yes' + - 'no' + description: Filter if subtype is a storage room. + - name: server_room + type: string + in: query + enum: + - 'yes' + - 'no' + description: Filter if subtype is a server room. + - name: building + type: string + in: query + enum: + - 'yes' + - 'no' + description: Filter if subtype is a building. + - name: rack + type: string + in: query + enum: + - 'yes' + - 'no' + description: Filter if subtype is a rack. + - name: blade_chassis + type: string + in: query + enum: + - 'yes' + - 'no' + description: Filter if subtype is a blade chassis. + - name: system_generated_subtype + type: string + in: query + enum: + - 'yes' + - 'no' + description: Filter if subtype is system generated. + - name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example, ?include_cols=name, subtype_id will only result in name, subtype_id. + All column names above can be part of include_cols + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + total_count: + example: 11 + limit: + example: 50 + physical_subtypes: + type: array + items: + type: object + properties: + building: + example: 'true' + system_generated_subtype: + example: 'true' + name: + example: 'Rackable' + subtype_id: + example: 4 + server_room: + example: 'false' + blade_chassis: + example: 'false' + rack: + example: 'true' + storage_room: + example: 'false' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPhysicalSubtypes + description: Create/update physical subtypes. Note that you cannot modify system-generated subtypes + summary: Creates/update a physical subtype + tags: + - Devices + parameters: + - name: name + type: string + in: formData + description: Physical subtype name. + - name: physical_subtype_id + type: integer + in: formData + description: Physical subtype ID; use instead of name. + - name: storage_room + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes if subtype is a storage room. + - name: server_room + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes if subtype is a server room. + - name: building + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes if subtype is a building. + - name: rack + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes if subtype is a rack. + - name: blade_chassis + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes if subtype is a blade chassis. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - physical_subtype added/updated + - 11 + - Warehouse + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/physical_subtypes/{id}/: + get: + operationId: getPhysicalSubtypes_ID + description: This API retrieves a physical subtype by ID + summary: Get physical subtype by ID + tags: + - Devices + parameters: + - name: id + type: integer + in: path + description: Physical Subtype ID. + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + building: + example: 'true' + system_generated_subtype: + example: 'true' + name: + example: 'Rackable' + physical_subtype_id: + example: 4 + server_room: + example: 'false' + blade_chassis: + example: 'false' + rack: + example: 'true' + storage_room: + example: 'false' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deletePhysicalSubtypes + summary: Delete physical subtype + description: >- + This API is used to delete the physical subtype with ID + supplied as the required argument. + tags: + - Devices + parameters: + - name: id + in: path + required: true + description: Physical Subtype ID + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/cloud_instance/: + post: + operationId: postCloudInstanceDevice + summary: Create/update device cloud instance + description: >- + Update cloud instance information for devices. Requires either device or + device_id + tags: + - Devices + parameters: + - name: device + in: formData + description: Device name + type: string + - name: device_id + in: formData + description: Device ID + type: integer + - $ref: '#/parameters/instance_id' + - $ref: '#/parameters/vendor_post' + - $ref: '#/parameters/status' + - name: region + in: formData + description: Region for cloud instance. + type: string + - $ref: '#/parameters/location' + - $ref: '#/parameters/notes_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + description: 'The above command returns results like this:' + properties: + devices: + $ref: '#/definitions/devices' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/hdd/: + post: + operationId: postHDD_field + summary: Create/update Device HDD + description: >- + This call will add/update HDD in a Device + tags: + - Devices + parameters: + - name: device + in: formData + description: name of the existing device + type: string + required: true + - name: hd_id + in: formData + description: HDD ID; required if size is not provided + type: integer + - name: size + type: integer + in: formData + description: The size of the HDD (in GB); required if hd_id is not provided. + - name: part_no + type: integer + in: formData + description: part number + - name: manufacturer + in: formData + description: >- + manufacturer name of the hardware model + type: string + - name: type + in: formData + description: >- + Type of HDD. + type: number + format: float + - name: rpm + in: formData + type: string + - name: raid_type + in: formData + description: >- + type of raid. + type: string + - name: raid_group + in: formData + description: >- + RAID group name + type: string + - name: count + in: formData + type: string + - name: description + in: formData + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + description: 'The above command returns results like this:' + properties: + msg: + example: + - "device hd successfully added/updated" + - 47 + - "Hard Disk" + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/custom_field/: + put: + operationId: putCustom_Field + summary: Custom fields + description: >- + Create/update custom fields for a device. One of the following parameters is required: name, id, asset, or serial + tags: + - Devices + parameters: + - name: name + in: formData + description: 'name of the device, or' + type: string + - name: device_id + type: integer + description: ID of the device + in: formData + - name: asset + in: formData + description: >- + if there is more than 1 device with the same asset #, this will + return “device not found”, or + type: string + - name: serial + in: formData + description: >- + if there is more than 1 device with the same serial #, this will + return “device not found” + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/include_in_context_popups' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 8 + - nh-switch-01 + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/device/impactlist/{device-id}/': + get: + operationId: getDevicesImpactlist + description: This API endpoint retrieves the device impact list by ID + summary: Get device impact list + tags: + - Devices + parameters: + - name: device-id + type: integer + in: path + required: true + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + children: + $ref: '#/definitions/devicesImpactList' + name: + example: Dependant Apps + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/mountpoints/: + get: + operationId: getDeviceMountpoints + description: Get device mountpoints - introduced in version 10.5.0 + summary: Get device mountpoints + tags: + - Devices + parameters: + - name: device_id + in: query + description: id of the device + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + mountpoint_details: + type: array + items: + type: object + properties: + capacity: + example: 238504 + device: + example: greg-ws + filesystem: + example: '' + free_capacity: + example: 77187.07 + fstype: + example: NTFS + id: + example: 25 + label: + example: 'C:' + last_updated: + example: '2016-09-16T15:17:19.110Z' + mountpoint: + example: 'C:' + total_count: + example: 2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDeviceMountpoints + description: Create/update device mountpoints - introduced in version 10.5.0 + summary: Create/update mountpoints + tags: + - Devices + deprecated: true + parameters: + - name: mountpoint + in: formData + description: path of the mountpoint + required: true + type: string + - name: device + in: formData + description: device mountpoint is assigned to + required: true + type: string + - $ref: '#/parameters/filesytem' + - $ref: '#/parameters/fstype' + - $ref: '#/parameters/capacity' + - $ref: '#/parameters/free_capacity' + - $ref: '#/parameters/label_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - mount point added/updated + - 521 + - /home/user + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/device/mountpoints/{id}/': + delete: + operationId: deleteDeviceMountpoints + description: Delete Device Mountpoints by ID + summary: Delete device mountpoint + tags: + - Devices + deprecated: true + parameters: + - name: id + in: path + description: id of the mountpoint to delete + required: true + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '123' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/device/mountpoints/: + get: + operationId: getDeviceMountpoints + description: Get device mountpoints. API v2.0 uses resource model to support all mountpoints + summary: Get device mountpoints + tags: + - Devices + parameters: + - name: device_id + in: query + description: ID of the device + type: string + - name: filesystem + in: query + type: string + description: Filesystem name + - name: fstype + in: query + type: string + description: Filesystem type + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + mountpoint_details: + type: array + items: + type: object + properties: + capacity: + example: 238504 + device: + example: greg-ws + filesystem: + example: '' + free_capacity: + example: 77187.07 + fstype: + example: NTFS + id: + example: 25 + label: + example: 'C:' + last_updated: + example: '2016-09-16T15:17:19.110Z' + mountpoint: + example: 'C:' + total_count: + example: 2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDeviceMountpoints + description: Create/update device mountpoints. API v2.0 uses resource model to support all mountpoints + summary: Create/update mountpoints + tags: + - Devices + parameters: + - name: mountpoint + in: formData + description: Path of the mountpoint + type: string + required: true + - name: device + in: formData + description: device or device_id is required if not using fstype/unique_uuid. Device mountpoint is assigned to + type: string + - name: device_id + in: formData + description: device or device_id is required if not using fstype/unique_uuid. Device ID + type: string + - name: fstype + in: formData + type: string + description: Required if not using device or device_id. Mountpoint filesystem type + - name: unique_uuid + in: formData + type: string + description: Required if not using device or device_id. Unique identifier for mountpoint + - $ref: '#/parameters/filesytem' + - $ref: '#/parameters/capacity' + - $ref: '#/parameters/free_capacity' + - $ref: '#/parameters/label_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - mount point added/updated + - 521 + - /home/user + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/device/mountpoints/{id}/': + delete: + operationId: deleteDeviceMountpoints + description: Delete Device Mountpoints by ID + summary: Delete device mountpoint + tags: + - Devices + parameters: + - name: id + in: path + description: id of the mountpoint to delete + required: true + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '123' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/url/: + get: + operationId: getDeviceUrl + description: Get device URLs - introduced in version 7.0.0 + summary: Get device URLs + tags: + - Devices + parameters: + - name: device + in: query + description: name of the device + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + device_weblinks: + type: array + items: + type: object + properties: + device: + example: NHCTWS001 + host: + example: ' /v:{{device.name}}' + id: + example: 2 + notes: + example: TESTSERVER NHCT + port: + example: '' + type: + example: rdp + url_suffix: + example: ' /f /restrictedadmin' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDeviceUrl + description: >- + Use this API to associate a URL (e.g. an http, https, or telnet url) + with a device. + summary: Add URL to device + tags: + - Devices + parameters: + - name: type + in: formData + description: >- + the url type (e.g. http, https, telnet). This must be an existing + url type in device42. + type: string + required: true + - name: device + in: formData + description: name of the device to which this url belongs (required parameter) + type: string + required: true + - name: host + in: formData + description: >- + fqdn portion of the url. e.g. for http://www.device42.com/awesome, + host is www.device42.com + type: string + - name: port + in: formData + description: port number if any + type: string + - name: url_suffix + in: formData + description: >- + url suffix if any. e.g. it is “awesome” based on example given + above. + type: string + - name: notes + in: formData + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Device url saved succesfully. + - 2 + - 'http://www.device42.com:8080/awesome' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putDeviceUrl + summary: Update device URL + description: >- + Use this API to update and existing URL (e.g. an http, https, or telnet + url) with a device. Type and device are required if no ID is provided + tags: + - Devices + parameters: + - name: id + in: formData + description: ID of the URL + type: string + - name: type + in: formData + description: >- + the url type (e.g. http, https, telnet). This must be an existing + url type in device42. (required if no ID) + type: string + - name: device + in: formData + description: name of the device to which this url belongs (required if no ID) + type: string + - name: host + in: formData + description: >- + fqdn portion of the url. e.g. for https://example.com/awesome, host + is example.com + type: string + - name: port + in: formData + description: port number if any + type: string + - name: url_suffix + in: formData + description: >- + url suffix if any. e.g. it is “awesome” based on example given + above. + type: string + - name: notes + in: formData + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Device url updated + - 2 + - 'http://www.example.com:8080/awesome' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/device/url/{id}/': + delete: + operationId: deleteDeviceUrl + summary: Delete a device URL + description: This API call will delete a device URL (Introduced in v7.0.0) + tags: + - Devices + parameters: + - name: id + in: path + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '142' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/rack/: + post: + operationId: postDeviceRack + summary: Add/update device in rack + description: >- + This API will add a new or existing device to a rack or will update an + existing device that is already in the rack. (Introduced in v321)
    + Required parameters:
    • device OR device_id OR + serial_no OR asset_no
    • rack_id OR rack (with + building, room, or row to identify unique rack)
    • start_at
    • + tags: + - Devices + parameters: + - name: device + in: formData + description: name of the new or existing device + type: string + - name: device_id + in: formData + description: Device ID of existing device + type: integer + - name: serial_no + type: string + in: formData + description: 'serial # of the existing device' + - name: asset_no + type: string + in: formData + description: 'asset # of the existing device' + - name: hw_model + in: formData + description: >- + If the hw_model doesn’t exist or doesn’t have a type, we will add it + as type “regular (rack mountable)” (changed in v6.6.0) + type: string + - name: size + in: formData + description: >- + size of the hardware model, only for new hardware model or if + hardware model doesn’t have size. required for new hardware model + (added in v6.6.0) + type: number + format: float + - name: manufacturer + in: formData + description: >- + manufacturer of the hardware model. Only for new hardware model + being added(added in v6.6.0) + type: string + - name: rack_id + in: formData + description: >- + required if building name, room name or rack name are not provided. + This is the id of the rack. It can be obtained from Tools > Import > + Import Racked Devices. + type: integer + - name: building + in: formData + description: >- + building is building name, room is room name, rack is rack name and + row is optional. This is used if rack_id is not provided and a + unique rack is found with that combination. This could be just rack + for rack name, if the rack name is unique. Otherwise add row, room + or building to identify a unique rack. + type: string + - name: room + in: formData + type: string + - name: rack + in: formData + type: string + - name: row + in: formData + type: string + - name: start_at + in: formData + description: >- + This is the starting U location for the device in the rack. Starting + with v535, you can use “auto” as value to automatically mount the + device in next available slot. + type: string + required: true + - name: where + in: formData + description: >- + location in rack, one of ‘above’, ‘below’, ‘left’, ‘right’, + ‘mounted’. Note: If mounted a size must be provided or available + from the hardware model. + type: string + - name: x_pos + in: formData + description: >- + A number between 0 and 2520 representing the position within the u + slot. 0 is flush left. 2520 is flush right. + type: string + - name: orientation + in: formData + type: string + description: >- + Device mount orientation on rack. By default devices are mounted in front. + enum: + - front + - back + - name: depth + in: formData + type: string + enum: + - half + - full + description: Depth of device on rack + - name: reversed + in: formData + type: string + enum: + - 'yes' + - 'no' + deescription: Is the device reversed on the rack? + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - device added or updated in the rack + - 2 + - '[2.0] - RA1 -1st floor' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/device/rack/{device_id}/': + delete: + operationId: deleteDeviceRackDevice_Id + summary: Delete from rack + description: >- + This API call will remove/delete a device from a rack (Introduced in + v6.3.2) + tags: + - Devices + parameters: + - name: device_id + in: path + description: ID of the device to be removed from the rack + required: true + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '142' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/cpu/: + post: + operationId: postDeviceCPU + summary: Add/update cpu for a device + description: >- + This API will add or update CPU for a device +

      Required parameters:
      • cpu_id or cores or speed
      • device
      + tags: + - Devices + parameters: + - name: name + type: string + in: formData + description: Name of the device CPU. + - name: description + type: string + in: formData + description: Description of device CPU + - name: threads + in: formData + description: number of threads + type: string + - name: cores + type: string + in: formData + description: >- + Number of cores/CPU. + - name: speed + in: formData + type: string + description: 'CPU Speed enter in MHZ, e.g.: 3.5 GHZ use 3500' + - name: cpu_id + type: string + description: Use for updating existing CPU + in: formData + - name: device + in: formData + description: name of the new or existing device + type: string + required: true + - name: manufacturer + in: formData + description: 'Manufacturer' + type: string + - name: count + in: formData + type: string + description: 'Count #' + - name: part_no + in: formData + type: string + description: 'Part #' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - device cpu successfully added/updated + - 28 + - 'cpu1 : Hard Disk sda 10 GB, storage' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/layout/{id}/: + get: + operationId: getDeviceLayout + description: Retrieve information on Device Layout + summary: Get specific + tags: + - Devices + parameters: + - name: ID + type: integer + description: filter by device ID + in: path + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + name: + example: Physical Device Test + is_blade: + example: false + is_blade_chassis: + example: true + is_switch: + example: false + parts: + example: [] + direct_ports: + example: [] + id: + example: 12 + blades: + example: [] + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/device_ignore_rules/: + get: + operationId: getDevice_Ignore_Rules + description: This call will get all device ignore rules + summary: Get all + tags: + - Device Ignore Rules + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 1 + limit: + example: 1000 + DeviceIgnoreRules: + type: array + items: + type: object + properties: + id: + example: 1 + text: + example: macad-test + option_type: + example: 3 + device_type_id: + example: 2 + device_type: + example: physical + physicalsubtype_id: + example: 1009 + physicalsubtype: + example: ats + virtualsubtype_id: + example: 2 + virtualsubtype: + example: Amazon EC2 Instance + last_discovery: + example: 2020-05-21 14:42 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationID: postDevice_Ignore_Rules + description: This call creates or updates a device ignore rule + summary: Create/update + tags: + - Device Ignore Rules + parameters: + - name: id + type: string + in: formData + description: Required to update an existing ignore rule - the D42 ID of the rule. + - name: text + type: string + in: formData + description: Text for the ignore rule - in UI, 'Ignored text contains'. + - name: option_type + type: string + in: formData + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + required: true + description: >- + Type of ignore rule for the device - in UI, 'Ignore device based on'.
      + 1 = Device name
      + 2 = OS name
      + 3 = Mac address prefix
      + 4 = Hardware model
      + 5 = Tag
      + 6 = Device type + - name: text_length_match_type + type: string + in: formData + enum: + - '1' + - '2' + - '3' + - '4' + description: >- + Exact, partial or prefix/suffix matching for length of ignore rule text.
      + 1 = Partial match
      + 2 = Exact match
      + 3 = Begins with
      + 4 = Ends with + - name: text_case_match_type + type: string + in: formData + enum: + - '1' + - '2' + description: >- + Case sensitivity match for ignore rule text.
      + 1 = Case insensitive
      + 2 = Case sensitive + - name: device_type_id + type: string + in: formData + enum: + - '1' + - '2' + - '3' + - '4' + description: Device type ID
      1. unknown 2. physical
      3. virtual 4. cluster + - name: device_type + type: string + in: formData + enum: + - 'unknown' + - 'physical' + - 'virtual' + - 'cluster' + description: Device type by name. + - name: physicalsubtype_id + type: string + in: formData + description: >- + Used to set the device subtype - the device must be physical or unknown.
      + 1. Generic 2. Rackable 3. Blade 4. PDU 5. Access Point 6. CRAC 7. UPS 8. TAP 9. Branch Circuit Power Meter 10. Power Unit 11. WorkStation 12. ThinClient 13. Network Printer 14. Laptop 15. Environment Monitor
      OR D42 ID of user-generated subtype + - name: physicalsubtype + type: string + in: formData + description: >- + Either a system-generated subtype name or a user-generated subtype name. + - $ref: '#/parameters/virtualsubtype_id' + - name: virtualsubtype + type: string + in: formData + enum: + - 'Internal VM' + - 'Amazon EC2 Instance' + - 'Azure Cloud Service' + - 'Azure SQL Server' + - 'Azure Storage' + - 'Other' + - 'Outscale Instance' + - 'Linode Instance' + - 'DigitalOcean Instance' + - 'Azure Virtual Machine' + - 'VMWare' + - 'Citrix/Xen' + - 'KVM' + - 'Hyper-V' + - 'Docker Container' + - 'LXC Container' + - 'Rackspace VM' + - 'Softlayer VM' + - 'QEMU' + - 'Joyent Instance' + - 'VirtualBox' + - 'Oracle VM' + - 'OpenStack' + - 'Xen' + - 'LPAR' + - 'GCE' + - 'Amazon Service' + - 'Context' + - 'Alibaba Cloud Instance' + - 'Oracle Cloud Instance' + - 'Kubernetes Container' + - 'AIX VIOS' + description: Virtual subtype name. Use instead of virtualsubtype_id. Only for virtual device type. + - name: last_discovery + type: string + in: formData + description: The last time this rule was applied to ignore a device during discovery (YYYY-MM-DD HH:MM). + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Device ignore rule added/updated + - 11 + - dtm-device-2 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/device_ignore_rules/{id}/: + delete: + operationId: deleteDevice_Ignore_Rules + summary: Delete + description: >- + Used to delete a device ignore rule with the rule ID as the required argument + tags: + - Device Ignore Rules + parameters: + - name: id + in: path + required: true + description: D42 ID of the ignore rule to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device_name_profile/: + get: + operationId: getdevice_name_profile + description: This call will get all device name profiles + summary: Get all + tags: + - Device Name Profile + parameters: + - name: name + type: string + in: formData + description: Used to easily identify different profiles for generating device names. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 1 + limit: + example: 1000 + device_name_profiles: + type: array + items: + type: object + properties: + start_number: + example: 1 + last_used: + example: 0 + suffix: + example: SuffixOne + number_length: + example: 4 + prefix: + example: PrefixOne + id: + example: 9 + name: + example: DevNameProfile-One + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationID: postdevice_name_profile + description: This call creates or updates a device name profile + summary: Create/update + tags: + - Device Name Profile + parameters: + - name: name + type: string + in: formData + required: true + description: Used to easily identify different profiles for generating device names. + - name: number_length + type: integer + in: formData + required: true + description: Number length between 2 and 7. For numbers up to 9999, it would be 4. Default is 4. + - name: start_number + type: integer + in: formData + required: true + description: Starting number, where you want device numbers to start from. Default is 1. + - name: last_used + type: integer + in: formData + required: true + description: DO NOT CHANGE, unless you know what it is used for :). Default is 0. + - name: prefix + type: string + in: formData + description: Prefix for the generated name number; e.g., SecretDC-Server in SecretDC-Server0042. + - name: suffix + type: string + in: formData + description: Suffix for the generated name number; e.g., .domain.pvt in SecretDC-Server0042.domain.pvt. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - device_name_profile added/updated + - 11 + - DevNameProfile-Five + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device_name_profile/{id}/: + delete: + operationId: deletedevice_name_profile + summary: Delete + description: >- + This API is used to delete a device name profile with the device name profile id + supplied as the required argument + tags: + - Device Name Profile + parameters: + - name: id + in: path + required: true + description: device name profile id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/object_categories/: + get: + operationId: getObject_categories + description: This call will get information about object categories + summary: Get all + tags: + - Object Categories + parameters: + - $ref: '#/parameters/name' + - name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example:id,name,description,groups + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 1000 + object_categories: + type: array + items: + $ref: '#/definitions/object_categories' + offset: + example: 0 + total_count: + example: 3 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postObject_categories + description: This call will create/update information about object categories + summary: Create/update + tags: + - Object Categories + parameters: + - name: name + in: formData + description: Name of object category to create/update + type: string + required: true + - name: description + in: formData + description: Description of object category + type: string + - name: groups + type: string + in: formData + description: >- + List of admin groups separated by commas to add. + - name: groups_remove + type: string + in: formData + description: >- + List of admin groups separated by commas to remove. The asterisk(*) removes all groups. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Object category added/updated successfully + - 4 + - Web Apps + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/object_categories/{id}/: + delete: + operationId: deleteObject_categories + summary: Delete + description: >- + This API is used to delete an object category with the D42 object category ID + supplied as the required argument. + tags: + - Object Categories + parameters: + - name: id + in: path + required: true + description: D42 Object Category ID + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/hardwares/: + get: + operationId: getHardwares + description: This call will get information about hardware models + summary: Get all + tags: + - Hardware Models + parameters: + - $ref: '#/parameters/name' + - name: type + type: string + in: query + description: 'could be physical, blade, or other' + - name: size + type: string + in: query + description: filter by exact size + - name: depth + type: string + in: query + description: could be half or full + - $ref: '#/parameters/part_no' + - $ref: '#/parameters/watts_get' + - $ref: '#/parameters/manufacturer' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - name: blade_size + type: string + in: query + enum: + - 'full' + - 'half' + - 'double half' + - 'double full' + - 'quarter' + description: Blade size + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + models: + type: array + items: + $ref: '#/definitions/HardwareModels' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postHardwares + description: This call will create/update information about hardware models + summary: Create/update + tags: + - Hardware Models + parameters: + - name: name + type: string + required: true + in: formData + description: >- + if similar hardware name already exists, first matching entry is + updated + - $ref: '#/parameters/new_name' + - name: type + type: integer + in: formData + enum: + - 1 + - 2 + - 3 + description: '1 = Regular, 2 = Blade, 3 = Other' + - name: device_subtype + type: string + in: formData + description: Subtype of "other" type devices + - name: size + type: string + in: formData + description: Size in U for hardware type regular + - $ref: '#/parameters/width_ratio_post' + - name: depth + type: string + in: formData + enum: + - half + - full + description: 'half by default, full to override' + - $ref: '#/parameters/blade_size' + - $ref: '#/parameters/part_no_post' + - $ref: '#/parameters/watts' + - $ref: '#/parameters/spec_url' + - $ref: '#/parameters/manufacturer_post' + - $ref: '#/parameters/front_image_id' + - $ref: '#/parameters/front_image' + - $ref: '#/parameters/back_image_id' + - $ref: '#/parameters/back_image' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/max_blades_per_row' + - $ref: '#/parameters/slot_numbering' + - $ref: '#/parameters/module_pos' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - hardware model added or updated + - 1 + - PE 1950 + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/hardwares/{id}/': + delete: + operationId: deleteHardwares + summary: Delete + description: >- + This API is used to delete the hardware model with the hardware model id + supplied as the required argument + tags: + - Hardware Models + parameters: + - name: id + in: path + required: true + description: hardware model id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/hardware/blade_slot/: + get: + operationId: getBlade_slot + description: Get hardware model blade slots + summary: Get blade slots + tags: + - Hardware Models + parameters: + - name: hardware_id + type: integer + in: path + description: Filter by hardware ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + hardware: + example: Manual Hardware Model + orientation: + example: 1 + x_pos: + example: 11 + hardware_id: + example: 190 + slot_no: + example: 1 + slot_size: + example: 1 + y_pos: + example: 4 + id: + example: 1 + location: + example: 1 + width: + example: 1 + height: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postBlade_slot + description: This call adds a blade slot to a hardware model + summary: Add blade slot + tags: + - Hardware Models + parameters: + - name: hardware + type: string + in: formData + description: >- + Hardware model name. + - name: hardware_id + type: integer + in: formData + description: Hardware model ID. + - name: id + type: integer + in: formData + description: Slot ID. + - name: slot_no + type: string + in: formData + description: Slot number. + - name: orientation + type: string + in: formData + description: Slot orientation. + - name: location + type: string + in: formData + description: Slot location. + - name: slot_size + type: string + in: formData + description: Slot size. + - name: width + type: string + in: formData + description: Slot width. + - name: height + type: string + in: formData + description: Slot height. + - name: x_pos + type: string + in: formData + description: Slot X position. + - name: y_pos + type: string + in: formData + description: Slot Y position. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - blade slot added/updated + - 1 + - test + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/hardware/blade_slot/{id}/': + get: + operationId: getBlade_slot_id + description: Get hardware model blade slot by ID + summary: Get Blade Slot + tags: + - Hardware Models + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + chassis_blade_slot: + type: object + properties: + hardware: + example: Manual Hardware Model + orientation: + example: 1 + x_pos: + example: 11 + hardware_id: + example: 190 + slot_no: + example: 1 + slot_size: + example: 1 + y_pos: + example: 4 + id: + example: 1 + location: + example: 1 + width: + example: 1 + height: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteBlade_slot + summary: Delete hardware model blade slot + description: >- + This API is used to delete a hardware model blade slot by Slot ID + tags: + - Hardware Models + parameters: + - name: ID + type: integer + in: path + required: true + description: Slot ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/hardware/port/: + get: + operationId: getDirect_port + description: Get hardware model direct ports + summary: Get direct ports + tags: + - Hardware Models + parameters: + - name: hardware_id + type: integer + in: path + description: Filter by hardware ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + hardware: + example: Manual Hardware Model + orientation: + example: 1 + x_pos: + example: 11 + hardware_id: + example: 190 + port_type_id: + example: 1 + port_name: + example: P2 + port_type: + example: Manual + y_pos: + example: 4 + id: + example: 1 + location: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDirect_port + description: This call adds direct port to a hardware model + summary: Add direct port + tags: + - Hardware Models + parameters: + - name: hardware + type: string + in: formData + description: >- + Hardware model name. + - name: id + type: integer + in: formData + description: Hardware model ID. + - name: port_name + type: string + in: formData + description: Direct port name. + - name: port_type_id + type: string + in: formData + description: Direct port type ID. + - name: location + type: string + in: formData + description: Direct port location. + - name: x_pos + type: string + in: formData + description: Direct port X position. + - name: y_pos + type: string + in: formData + description: Direct port Y position. + - name: orientation + type: string + in: formData + description: Options 1 for "Horizontal" and 2 for "Vertical" + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - direct port added/updated + - 1 + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/hardware/port/{id}/': + get: + operationId: getDirect_port_id + description: Get hardware model direct port by ID + summary: Get Direct Port + tags: + - Hardware Models + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + direct_port: + type: object + properties: + hardware: + example: Manual Hardware Model + orientation: + example: 1 + x_pos: + example: 11 + hardware_id: + example: 190 + port_type_id: + example: 1 + port_name: + example: P2 + port_type: + example: Manual + y_pos: + example: 4 + id: + example: 1 + location: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteDirect_port + summary: Delete hardware model direct port + description: >- + This API is used to delete a hardware model direct port by hardware ID + tags: + - Hardware Models + parameters: + - name: ID + type: integer + in: path + required: true + description: Hardware ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/hardware/part_slot/: + get: + operationId: getPart_slot + description: Get hardware model part slots + summary: Get part slots + tags: + - Hardware Models + parameters: + - name: hardware_id + type: integer + in: path + description: Filter by hardware ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + hardware: + example: Manual Hardware Model + orientation: + example: 1 + x_pos: + example: 11 + hardware_id: + example: 190 + partmodel: + example: Core i7-3770 + partmodel_id: + example: 1 + y_pos: + example: 4 + id: + example: 1 + slot_no: + example: 1 + location: + example: 1 + width: + example: 1 + height: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPart_slot + description: This call adds a part slot to a hardware model + summary: Add part slot + tags: + - Hardware Models + parameters: + - name: hardware + type: string + in: formData + description: >- + Hardware model name. + - name: hardware_id + type: integer + in: formData + description: Hardware model ID. + - name: id + type: integer + in: formData + description: Part slot ID. + - name: slot_no + type: string + in: formData + description: Part slot number. + - name: orientation + type: string + in: formData + description: Part slot orientation. + - name: location + type: string + in: formData + description: Part slot location. + - name: partmodel + type: string + in: formData + description: Part slot model. + - name: partmodel_id + type: string + in: formData + description: Part slot model ID. + - name: width + type: string + in: formData + description: Part slot width. + - name: height + type: string + in: formData + description: Part slot height. + - name: x_pos + type: string + in: formData + description: Part slot X position. + - name: y_pos + type: string + in: formData + description: Part slot Y position. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - part slot added/updated + - 1 + - test + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/hardware/part_slot/{id}/': + get: + operationId: getPart_slot_id + description: Get hardware model part slot by ID + summary: Get Part Slot + tags: + - Hardware Models + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + part_slot: + type: object + properties: + hardware: + example: Manual Hardware Model + orientation: + example: 1 + x_pos: + example: 11 + hardware_id: + example: 190 + partmodel: + example: Core i7-3770 + partmodel_id: + example: 1 + y_pos: + example: 4 + id: + example: 1 + slot_no: + example: 1 + location: + example: 1 + width: + example: 1 + height: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deletePart_slot + summary: Delete hardware model part slot + description: >- + This API is used to delete a hardware model part slot by ID + tags: + - Hardware Models + parameters: + - name: ID + type: integer + in: path + required: true + description: Part Slot ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/hardware/: + put: + operationId: putCustomfield_hardware + description: This call adds a custom field to a hardware model + summary: Custom fields + tags: + - Hardware Models + parameters: + - name: id + required: true + type: integer + description: Hardware model ID. + in: formData + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 4 + - Skynet + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/hardwares/: + get: + operationId: getHardwares_2 + description: This call gets information about hardware models + summary: Get all + tags: + - Hardware Models + parameters: + - name: hardware_id + type: integer + in: query + description: Hardware model ID. + - $ref: '#/parameters/name' + - name: physicalsubtype_id + type: integer + in: query + description: Physical subtype ID. + - name: physicalsubtype + type: string + in: query + description: Physical subtype name. + - name: size + type: string + in: query + description: filter by exact size + - name: blade_size_id + type: integer + in: query + description: >- + Blade size ID.
      1 Full Height | 2 Half Height | 3 Double Half Height | 4 Double Full Height | 5 Quarter Height + - name: blade_size + type: string + in: query + enum: + - 'full' + - 'half' + - 'double half' + - 'double full' + - 'quarter' + description: Blade size + - name: depth_id + type: integer + in: query + description: 1 Full Depth | 2 Half Depth + - name: depth + type: string + in: query + description: half OR full + - name: width_ratio_id + type: integer + in: query + enum: + - '2520' + - '1260' + - '840' + - '630' + - '504' + - '420' + - '360' + - '315' + - '280' + - '252' + - '126' + description: Width ratio ID. + - $ref: '#/parameters/width_ratio_get' + - $ref: '#/parameters/part_no' + - name: network_device + type: string + in: query + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a network switch. + - name: blade_host + type: string + in: query + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a blade host. + - name: watts + type: integer + in: query + description: Filter by exact watts per PSU. + - name: vendor_id + type: integer + in: query + description: Hardware model vendor ID. + - name: vendor + type: string + in: query + description: Hardware model vendor name. + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - name: device_id + type: integer + in: query + description: Filter by device ID. + - name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example, ?include_cols=name, hardware_id will only result in name, hardware_id. + The following column names can be part of include_cols: hardware_id, name, type, part_number, watts, + specification_url, notes, blade_host, network_device, end_of_life_date, end_of_support_date, + add_ports_when_creating_device, last_changed, vendor, vendor_id, + front_image_id, front_image, back_image_id, back_image, size, depth, depth_id, + width_ratio, width_ratio_id, blade_size, blade_size_id, custom_fields + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + hardware_models: + type: array + items: + $ref: '#/definitions/HardwareModels' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postHardwares_2 + description: This call creates/updates information about hardware models + summary: Create/update + tags: + - Hardware Models + parameters: + - name: name + type: string + in: formData + description: >- + The hardware model name. If hardware model with the name already exists, the existing hardware model is updated. If an existing hardware model based on hardware_id is found, the name will be updated. + - name: hardware_id + type: integer + in: formData + description: Hardware model ID. + - name: physicalsubtype_id + type: integer + in: formData + description: Hardware model type ID. + - name: physicalsubtype + type: string + in: formData + description: Hardware model type name. Use instead of physicalsubtype_id. + - name: size + type: string + in: formData + description: Size (in U, for non blade models). + - name: depth_id + type: integer + in: formData + description: 1 Full Depth | 2 Half Depth + - name: depth + type: string + in: formData + description: half OR full + - name: width_ratio_id + type: integer + in: formData + enum: + - '2520' + - '1260' + - '840' + - '630' + - '504' + - '420' + - '360' + - '315' + - '280' + - '252' + - '126' + description: Width ratio ID. + - $ref: '#/parameters/width_ratio_post' + - name: blade_size_id + type: integer + in: formData + description: >- + Blade size ID.
      1 Full Height | 2 Half Height | 3 Double Half Height | 4 Double Full Height | 5 Quarter Height + - name: blade_size + type: string + in: formData + enum: + - 'full' + - 'half' + - 'double half' + - 'double full' + - 'quarter' + description: Blade size. + - name: vendor_id + type: integer + in: formData + description: Hardware model vendor ID. + - name: vendor + type: string + in: formData + description: Hardware model vendor name. Use instead of vendor_id. + - $ref: '#/parameters/front_image_id' + - $ref: '#/parameters/front_image' + - $ref: '#/parameters/back_image_id' + - $ref: '#/parameters/back_image' + - name: network_device + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a network switch. + - name: blade_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a blade host. + - name: add_ports_when_creating_device + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes if you want ports to be automatically created when a device is created from UI or API. + - name: part_number + type: string + in: formData + description: Part number. + - name: watts + type: integer + in: formData + description: Watts per PSU. + - name: specification_url + type: string + in: formData + description: Specification URL for the hardware model. + - name: end_of_life_date + type: string + in: formData + description: End of life date. YYYY-MM-DD format. + - name: end_of_support_date + type: string + in: formData + description: End of support date. YYYY-MM-DD format. + - name: notes + type: string + in: formData + description: Any notes about the hardware model. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + example: + - hardware model added or updated + - 1 + - hardware_model + - true + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/hardwares/{id}/: + get: + operationId: getHardwares_2_ID + description: This call will get information about hardware models by the model ID + summary: Get model by ID + tags: + - Hardware Models + parameters: + - name: hardware_id + type: integer + in: path + description: Hardware model ID. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + models: + type: array + items: + $ref: '#/definitions/HardwareModels' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteHardwares_2 + summary: Delete hardware model + description: >- + This API is used to delete the hardware model with the hardware model ID + supplied as the required argument + tags: + - Hardware Models + parameters: + - name: id + in: path + required: true + description: Hardware Model ID + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/operatingsystems/: + get: + operationId: getOperatingSystems + description: This call will get information about operating systems + summary: Get all + tags: + - Operating Systems + parameters: + - name: name + type: string + in: query + description: 'Filter by OS name' + - name: manufacturer + type: string + in: query + description: 'Filter by OS manufacturer' + - name: category + type: string + in: query + description: 'Filter by OS category (ie: Linux, Windows)' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + operatingsystems: + type: array + items: + $ref: '#/definitions/OperatingSystems' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postOperatingSystems + description: This call will create/update information about operating systems + summary: Create/update + tags: + - Operating Systems + parameters: + - name: name + type: string + description: name of the OS + in: formData + - $ref: '#/parameters/manufacturer_post' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/category_post' + - $ref: '#/parameters/licensed_count_post' + - $ref: '#/parameters/licensing_model' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Operating System added/updated + - 77 + - ESX6.0 + - false + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/operatingsystems/{id}/': + get: + operationId: getOperatingSystemsID + summary: Get specific + description: >- + Retrieve detailed information about a specific OS by os id. + tags: + - Operating Systems + parameters: + - name: id + type: integer + in: path + required: true + description: The ID of the OS to retrieve + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + operatingsystems: + type: array + items: + $ref: '#/definitions/OperatingSystems' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteOperatingSystems + summary: Delete + description: >- + This API is used to delete the operating system with the operating + system id supplied as the required argument + tags: + - Operating Systems + parameters: + - name: id + in: path + required: true + description: opearting system id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device_os/: + get: + operationId: getDevice_os + summary: Get by devices + description: >- + This call will get information about operating systems and the devices + they're discovered on. This call will also return device os Data Normalization results, if available. + tags: + - Operating Systems + parameters: + - name: id + type: integer + in: query + description: ID of Device OS to retrieve + - $ref: '#/parameters/os' + - $ref: '#/parameters/os_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 598 + device_os: + type: array + items: + $ref: '#/definitions/Device_os' + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDevice_os + description: >- + This call will create or update operating systems and assign them to a device + summary: Create/Update on device + tags: + - Operating Systems + parameters: + - name: device_os_id + type: string + in: formData + description: >- + ID of specific operating system.

      Use this parameter to change an existing device OS - or - use the device_id parameter AND the os parameter.

      Do not use this parameter to create a new device OS. + - name: device_id + type: string + in: formData + description: ID of the device the OS is assigned to.

      Use this parameter AND the os parameter to create a new device OS. + - name: device + type: string + in: formData + description: Name of device the OS is assigned to. + - name: os_id + type: string + in: formData + description: ID of OS + - $ref: '#/parameters/os_post' + - $ref: '#/parameters/osver' + - $ref: '#/parameters/osverno' + - $ref: '#/parameters/license_key' + - $ref: '#/parameters/count_in_licensing' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - device_os added/updated + - 9 + - Production-server (Ubuntu Linux 16.04 (64-bit)) + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/device_os/{device_os_id}/': + get: + operationId: getDevice_osID + summary: Get specific + description: >- + Retrieve detailed information about a specific Device OS by device os id. + tags: + - Operating Systems + parameters: + - name: device_os_id + type: integer + in: path + required: true + description: The ID of the Device OS to retrieve + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + total_count: + example: 1 + device_os: + type: array + items: + type: object + properties: + discovered_license_key: + example: '' + os_id: + example: 2 + osver: + example: '' + dont_change_via_api: + example: 'no' + device: + example: 'NHCTS003' + device_os_id: + example: 2 + license_key: + example: '' + osverno: + example: '' + os: + example: Microsoft Windows Server 2008 STD + id: + example: 2 + count_in_licensing: + example: 'yes' + device_id: + example: 120 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteDevice_os + summary: Delete + description: >- + This API is used to delete the operating system with the operating + system id supplied as the required argument + tags: + - Operating Systems + parameters: + - name: device_os_id + in: path + description: ID of specific operating system + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 9 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/os_eoleos/: + get: + operationId: getOS_eol_eos + summary: Get OS EOL/EOS + description: Get Operating Systems End of Life / End of Support Information + tags: + - Operating Systems + parameters: + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + values: + type: array + items: + type: object + properties: + version: + example: 4.4.0-53-generic + id: + example: 1 + os_id: + example: 21 + end_of_life: + example: '2017-11-15' + end_of_support: + example: '2017-11-30' + os: + example: Ubuntu + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postOS_eol_eos + description: >- + This call will create or update an Operating Systems End of Life / End of Support + summary: Create/Update OS EOL/EOS + tags: + - Operating Systems + parameters: + - name: os + in: formData + type: string + description: Name of Operating System. 'os' or 'os_id' is REQUIRED when creating a new OS EOL/EOS. + - name: os_id + in: formData + type: integer + description: ID of Operating System. 'os' or 'os_id' is REQUIRED when creating a new OS EOL/EOS. + - name: version + in: formData + type: string + description: Version of OS + - name: end_of_life_date + in: formData + type: string + description: End of Life date. Format is YYYY-MM-DD + - name: end_of_support_date + in: formData + type: string + description: End of Support date. Format is YYYY-MM-DD + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + example: + - O/S EOL/EOS successfully added/updated + - 9 + - Ubuntu / None + - true + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/os_eoleos/{ID}/': + delete: + operationId: deleteOS_eol_eos + summary: Delete OS EOL/EOS + description: >- + This API is used to delete the an Operating Systems End of Life / End of Support + tags: + - Operating Systems + parameters: + - name: id + in: path + type: integer + description: ID of OS EOS/EOL + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 9 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/pdu_models/: + get: + operationId: getPdu_models + description: Get method retrieves all PDU models + summary: Get all models + tags: + - PDU + parameters: + - name: name + type: string + in: query + description: filter by model name + - name: pdu_model_id + type: integer + in: query + description: filter by pdu model id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + pdu_models: + type: array + items: + $ref: '#/definitions/Pdu_models' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPdu_models + description: Create/update PDU model + summary: Create/update model + tags: + - PDU + parameters: + - $ref: '#/parameters/pdu_model_id' + - name: name + in: formData + description: Name of the PDU model you want to create or update + type: string + - $ref: '#/parameters/manufacturer_post' + - $ref: '#/parameters/size' + - $ref: '#/parameters/sequential_numbering_for_ports' + - $ref: '#/parameters/depth' + - $ref: '#/parameters/imgfile_id' + - $ref: '#/parameters/imgfile' + - $ref: '#/parameters/back_image_id' + - $ref: '#/parameters/back_image' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/width_ratio_post' + - $ref: '#/parameters/post_power_units_type' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU Model added/updated + - 16 + - APC24G + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/pdu_models/{ID}: + delete: + operationId: deletePDU_model + summary: Delete a PDU model + description: This API is used to delete the PDU model with the PDU model id supplied as the required argument + tags: + - PDU + parameters: + - name: id + in: path + type: integer + description: ID of the PDU model + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 9 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/power_unit_models/: + $ref: '#/paths/~1api~11.0~1pdu_models~1' + /api/1.0/power_unit_models/{id}: + $ref: '#/paths/~1api~11.0~1pdu_models~1{ID}' + /api/1.0/pdu_models/ports/: + post: + operationId: postPdu_modelsPorts + description: >- + Create PDU model ports. Required parameters:
      • pdu_model_id + OR pdu_model_name
      • count
      • type
      + summary: Create ports + tags: + - PDU + parameters: + - $ref: '#/parameters/pdu_model_id' + - $ref: '#/parameters/pdu_model_name' + - name: count + type: integer + description: number of ports + required: true + in: formData + - name: type + type: string + required: true + description: >- + Type of the port. If not already existing, a new port type is + created. + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU Model updated + - 16 + - APC24G + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.1/power_unit_models/ports/: + get: + operationId: getPdu_models_ports + description: Get all ports in a given power unit model + summary: Get model ports + tags: + - PDU + parameters: + - name: power_unit_model_id + type: integer + description: id of the power unit model + in: query + responses: + '200': + description: Returns the list of ports in the given power unit model + schema: + type: array + items: + $ref: '#/definitions/PowerUnitModelPort' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPdu_modelsSinglePort + description: >- + Create/Update a single PDU Model Port.

      Required parameters:
      • power_unit_model_id
      • +
      • port_name
      • port_type
      + summary: Create/Update a model port + tags: + - PDU + parameters: + - name: power_unit_model_id + type: integer + description: PDU ID + in: formData + required: true + - name: id + type: integer + description: >- + id of the power unit model port, setting this will try to update the port with this id. + An error will be thrown if no port exists with the given id. + in: formData + - name: port_name + type: string + description: >- + Port name. If a port with this name already exists then it'll be updated, + else a new port will be created. + required: true + in: formData + - name: port_type + type: string + required: true + description: >- + Type of port. If the type does not already exist, a new port type is + created. + in: formData + - name: x_pos + type: integer + description: X Position of port + in: formData + - name: y_pos + type: integer + description: Y Position of port + in: formData + - name: orientation + type: integer + enum: + - 1 + - 2 + description: >- + Orientation of the port. +
        +
      • 1 - Horizontal
      • +
      • 2 - Vertical
      • +
      + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Power Unit Model Port added/updated + - 16 + - APC24G + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.1/power_unit_models/ports/{id}/: + delete: + operationId: deletePdu_models_ports + description: Delete the power unit model port with the given id + summary: Delete a model port + tags: + - PDU + parameters: + - name: id + type: integer + description: id of the power unit model port + in: path + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/general_delete_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/pdus/: + get: + operationId: getPDUs + description: Get method to retrieve all PDUs + summary: Get all PDUs + tags: + - PDU + parameters: + - $ref: '#/parameters/get_power_units_id' + - $ref: '#/parameters/get_power_units_name' + - $ref: '#/parameters/get_power_units_type' + - $ref: '#/parameters/get_power_units_pdu_model_id' + - $ref: '#/parameters/get_power_units_pdu_model' + - $ref: '#/parameters/get_power_units_building_id' + - $ref: '#/parameters/get_power_units_room_id' + - $ref: '#/parameters/get_power_units_rack_id' + - $ref: '#/parameters/get_power_units_serial_no' + - $ref: '#/parameters/get_power_units_device_id' + - $ref: '#/parameters/get_power_units_gateway_pdu_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/get_power_unit_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPDUs + description: This call will create a PDU + summary: Create PDU + tags: + - PDU + parameters: + - $ref: '#/parameters/post_power_units_name' + - $ref: '#/parameters/post_power_units_type' + - $ref: '#/parameters/post_power_units_pdu_model_id' + - $ref: '#/parameters/post_power_units_pdu_model' + - $ref: '#/parameters/post_power_units_notes' + - $ref: '#/parameters/post_power_units_rated_power' + - $ref: '#/parameters/post_power_units_outlet_name' + - $ref: '#/parameters/post_power_units_pdu_serial_no' + - $ref: '#/parameters/post_power_units_device' + - $ref: '#/parameters/post_power_units_serial_no' + - $ref: '#/parameters/post_power_units_asset_no' + - $ref: '#/parameters/post_power_units_storage_room_id' + - $ref: '#/parameters/post_power_units_storage_room' + - $ref: '#/parameters/post_power_units_object_category' + - $ref: '#/parameters/post_power_units_new_object_category' + - $ref: '#/parameters/post_power_units_gateway_pdu_id' + - $ref: '#/parameters/post_power_units_gateway_pdu' + - $ref: '#/parameters/post_power_units_tags' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/post_power_unit_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putPDUs + summary: Update PDU + description: Put method to update a Power Unit. Either 'name' or 'pdu_id' is REQUIRED. + tags: + - PDU + parameters: + - $ref: '#/parameters/put_power_units_name' + - $ref: '#/parameters/put_power_units_pdu_id' + - $ref: '#/parameters/put_power_units_new_name' + - $ref: '#/parameters/post_power_units_type' + - $ref: '#/parameters/post_power_units_pdu_model_id' + - $ref: '#/parameters/post_power_units_pdu_model' + - $ref: '#/parameters/post_power_units_notes' + - $ref: '#/parameters/post_power_units_rated_power' + - $ref: '#/parameters/post_power_units_outlet_name' + - $ref: '#/parameters/post_power_units_pdu_serial_no' + - $ref: '#/parameters/post_power_units_device' + - $ref: '#/parameters/post_power_units_serial_no' + - $ref: '#/parameters/post_power_units_asset_no' + - $ref: '#/parameters/post_power_units_storage_room_id' + - $ref: '#/parameters/post_power_units_storage_room' + - $ref: '#/parameters/post_power_units_object_category' + - $ref: '#/parameters/post_power_units_new_object_category' + - $ref: '#/parameters/post_power_units_gateway_pdu_id' + - $ref: '#/parameters/post_power_units_gateway_pdu' + - $ref: '#/parameters/post_power_units_tags' + - $ref: '#/parameters/put_power_units_tags_remove' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/put_power_unit_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/pdus/{ID}/': + get: + operationId: getPDUsID + summary: Get specific PDU + description: >- + Retrieve detailed information about a specific PDU by PDU ID. This also + includes end point connections + tags: + - PDU + parameters: + - name: ID + in: path + required: true + description: The ID of the PDU to retrieve + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/get_power_unit_return_single' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deletePDUs + summary: Delete a PDU + description: >- + This API is used to delete the pdu with the pdu id supplied as the + required argument + tags: + - PDU + parameters: + - $ref: '#/parameters/delete_power_units_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/general_delete_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/pdus/rack/: + post: + operationId: postPdusRack + description: This call will add/update PDUs in or around a Rack + summary: Add/update in rack + tags: + - PDU + parameters: + - $ref: '#/parameters/pdu_id' + - $ref: '#/parameters/pdu' + - name: rack_id + type: integer + description: >- + This is the ID of the rack. It can be obtained from from Infrastructure > DataCenter > Racks + in: formData + - $ref: '#/parameters/building_post' + - $ref: '#/parameters/where' + - $ref: '#/parameters/start_at' + - $ref: '#/parameters/orientation_pdu' + - $ref: '#/parameters/x_pos' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU Rack Info successfully added/edited. + - 19 + - a3cpdu001 + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/pdus/rack/{id}/': + delete: + operationId: deletePdusRack + summary: Delete from rack + description: >- + This API is used to delete the power unit from the rack it's in. + (The power unit itself is not deleted) + tags: + - PDU + parameters: + - name: id + in: path + format: query + required: true + description: ID of Power Unit in rack + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: true + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/pdus/ports/: + post: + operationId: postPdusPorts + summary: Update ports w/ no names + description: >- + Assign a name and/or an object (see below) objects to a pdu port. It + will pick the lowest port id # available (or first available port in + order created) + tags: + - PDU + parameters: + - $ref: '#/parameters/parent_pdu_id' + - $ref: '#/parameters/parent_pdu' + - name: port_type + type: string + description: Verbose name of the port type. Must exist already. + in: formData + required: true + - name: device + type: string + in: formData + description: Name of the device the port points to. + - name: device_id + type: string + in: formData + description: ID of the device the port points to + - name: pdu_id + type: string + in: formData + description: ID of the PDU the port points to + - name: asset_id + type: string + in: formData + description: ID of the asset the port points to + - name: name + type: string + in: formData + description: 'PDU port name, typically the PDU port number when autodiscovered.' + - $ref: '#/parameters/outlet_name' + - $ref: '#/parameters/watts' + - $ref: '#/parameters/psu_label' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU port detailed added successfully.'365' test + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putPdusPorts + summary: Update ports w/ names + description: >- + This call requires the name of an existing pdu port and enables you to + add new or edit existing values for that particular PDU port. Requires + parent_pdu_id or parent_pdu + tags: + - PDU + parameters: + - $ref: '#/parameters/parent_pdu_id' + - $ref: '#/parameters/parent_pdu' + - name: name + required: true + description: name of the existing PDU port + in: formData + type: string + - $ref: '#/parameters/outlet_name' + - name: device + type: string + in: formData + description: Name of the device the port points to. + - name: device_id + type: string + in: formData + description: ID of the device the port points to + - name: pdu_id + type: string + in: formData + description: ID of the PDU the port points to + - name: asset_id + type: string + in: formData + description: ID of the asset the port points to + - $ref: '#/parameters/watts' + - $ref: '#/parameters/psu_label' + - name: clear + type: string + in: formData + enum: + - yes + - no + description: Dissociate objects (device, asset, pdu) from the pdu port. yes/no + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU port detailed edited successfully.'366'2' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/power_units/: + get: + operationId: getPower_units + description: Get method to retrieve all Power Units + summary: Get all Power Units + tags: + - PDU + parameters: + - $ref: '#/parameters/get_power_units_id' + - $ref: '#/parameters/get_power_units_name' + - $ref: '#/parameters/get_power_units_type' + - $ref: '#/parameters/get_power_units_pdu_model_id' + - $ref: '#/parameters/get_power_units_pdu_model' + - $ref: '#/parameters/get_power_units_building_id' + - $ref: '#/parameters/get_power_units_room_id' + - $ref: '#/parameters/get_power_units_rack_id' + - $ref: '#/parameters/get_power_units_serial_no' + - $ref: '#/parameters/get_power_units_device_id' + - $ref: '#/parameters/get_power_units_gateway_pdu_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/get_power_unit_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPdu_models + description: Create Power Units + summary: Create Power Unit + tags: + - PDU + parameters: + - $ref: '#/parameters/post_power_units_name' + - $ref: '#/parameters/post_power_units_type' + - $ref: '#/parameters/post_power_units_pdu_model_id' + - $ref: '#/parameters/post_power_units_pdu_model' + - $ref: '#/parameters/post_power_units_notes' + - $ref: '#/parameters/post_power_units_rated_power' + - $ref: '#/parameters/post_power_units_outlet_name' + - $ref: '#/parameters/post_power_units_pdu_serial_no' + - $ref: '#/parameters/post_power_units_device' + - $ref: '#/parameters/post_power_units_serial_no' + - $ref: '#/parameters/post_power_units_asset_no' + - $ref: '#/parameters/post_power_units_storage_room_id' + - $ref: '#/parameters/post_power_units_storage_room' + - $ref: '#/parameters/post_power_units_object_category' + - $ref: '#/parameters/post_power_units_new_object_category' + - $ref: '#/parameters/post_power_units_gateway_pdu_id' + - $ref: '#/parameters/post_power_units_gateway_pdu' + - $ref: '#/parameters/post_power_units_tags' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/post_power_unit_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putPower_units + description: Put method to update a Power Unit. Either 'name' or 'pdu_id' is REQUIRED. + summary: Update Power Unit + tags: + - PDU + parameters: + - $ref: '#/parameters/put_power_units_name' + - $ref: '#/parameters/put_power_units_pdu_id' + - $ref: '#/parameters/put_power_units_new_name' + - $ref: '#/parameters/post_power_units_type' + - $ref: '#/parameters/post_power_units_pdu_model_id' + - $ref: '#/parameters/post_power_units_pdu_model' + - $ref: '#/parameters/post_power_units_notes' + - $ref: '#/parameters/post_power_units_rated_power' + - $ref: '#/parameters/post_power_units_outlet_name' + - $ref: '#/parameters/post_power_units_pdu_serial_no' + - $ref: '#/parameters/post_power_units_device' + - $ref: '#/parameters/post_power_units_serial_no' + - $ref: '#/parameters/post_power_units_asset_no' + - $ref: '#/parameters/post_power_units_storage_room_id' + - $ref: '#/parameters/post_power_units_storage_room' + - $ref: '#/parameters/post_power_units_object_category' + - $ref: '#/parameters/post_power_units_new_object_category' + - $ref: '#/parameters/post_power_units_gateway_pdu_id' + - $ref: '#/parameters/post_power_units_gateway_pdu' + - $ref: '#/parameters/post_power_units_tags' + - $ref: '#/parameters/put_power_units_tags_remove' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/put_power_unit_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/power_units/{id}/': + get: + operationId: getPower_unitsID + summary: Get specific Power Unit + description: >- + Retrieve detailed information about a specific Power Unit by ID. This also + includes end point connections + tags: + - PDU + parameters: + - name: ID + in: path + required: true + description: The ID of the Power Unit to retrieve + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/get_power_unit_return_single' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deletePower_units + description: Delete method to delete a Power Unit + summary: Delete a Power Unit + tags: + - PDU + parameters: + - $ref: '#/parameters/delete_power_units_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/general_delete_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/power_units/ports/: + post: + operationId: postPower_unitsPorts + summary: Update ports w/ no names + description: >- + Assign a name and/or an object (see below) objects to a power unit port. It + will pick the lowest port id # available (or first available port in + order created) + tags: + - PDU + parameters: + - $ref: '#/parameters/parent_pdu_id' + - $ref: '#/parameters/parent_pdu' + - name: port_type + type: string + description: Verbose name of the port type. Must exist already. + in: formData + required: true + - name: device + type: string + in: formData + description: Name of the device the port points to. + - name: device_id + type: string + in: formData + description: ID of the device the port points to + - name: pdu_id + type: string + in: formData + description: ID of the PDU the port points to + - name: asset_id + type: string + in: formData + description: ID of the asset the port points to + - name: name + type: string + in: formData + description: 'PDU port name, typically the PDU port number when autodiscovered.' + - $ref: '#/parameters/outlet_name' + - $ref: '#/parameters/watts' + - $ref: '#/parameters/psu_label' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU port detailed added successfully.'365' test + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putPower_unitsPorts + summary: Update ports w/ names + description: >- + This call requires the name of an existing pdu port and enables you to + add new or edit existing values for that particular Power Unit port. Requires + parent_pdu_id or parent_pdu + tags: + - PDU + parameters: + - $ref: '#/parameters/parent_pdu_id' + - $ref: '#/parameters/parent_pdu' + - name: name + required: true + description: name of the existing PDU port + in: formData + type: string + - $ref: '#/parameters/outlet_name' + - name: device + type: string + in: formData + description: Name of the device the port points to. + - name: device_id + type: string + in: formData + description: ID of the device the port points to + - name: pdu_id + type: string + in: formData + description: ID of the PDU the port points to + - name: asset_id + type: string + in: formData + description: ID of the asset the port points to + - $ref: '#/parameters/watts' + - $ref: '#/parameters/psu_label' + - name: clear + type: string + in: formData + enum: + - yes + - no + description: Dissociate objects (device, asset, pdu) from the Power Unit port. yes/no + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU port detailed edited successfully.'366'2' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/power_units/rack/: + post: + operationId: postPower_unitsRack + description: This call will add/update Power Units in or around a Rack + summary: Add/update in rack + tags: + - PDU + parameters: + - $ref: '#/parameters/pdu_id' + - $ref: '#/parameters/pdu' + - name: rack_id + type: integer + description: >- + This is the ID of the rack. It can be obtained from from Infrastructure > DataCenter > Racks + in: formData + - $ref: '#/parameters/building_post' + - $ref: '#/parameters/where' + - $ref: '#/parameters/start_at' + - $ref: '#/parameters/orientation_pdu' + - $ref: '#/parameters/x_pos' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Power Unit Rack Info successfully added/edited. + - 19 + - a3cpdu001 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/power_units/rack/{ID}/': + delete: + operationId: deletePdusRack + summary: Delete from rack + description: >- + This API is used to delete the power unit from the rack it's in. + (The power unit itself is not deleted) + tags: + - PDU + parameters: + - name: id + in: path + format: query + required: true + description: ID of Power Unit in rack + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: true + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/pdu_infeeds/: + get: + operationId: getPduInfeeds + description: Get method to retrieve all PDU Infeeds + summary: Get all PDU Infeeds + tags: + - PDU + parameters: + - name: pdu_id + in: query + description: Retrieve all PDU Infeeds for PDU with specified pdu_id + type: integer + - name: id + in: query + description: Retrieve PDU Infeed with specified ID + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + total_count: + example: 1 + offset: + example: 0 + limit: + example: 1000 + pdu_infeeds: + type: array + items: + type: object + properties: + name: + example: 'phase 1' + active_power: + example: '70 Watts' + id: + example: 8 + voltage: + example: '210 Volts' + power_draw: + example: '0.50 Amps' + pdu_id: + example: 7 + power_factor: + example: '0.63' + rated_power: + example: '16.00 Amps' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putPduInfeed + description: Update rated power and rated power units information for an existing PDU Infeed + summary: Update PDU Infeed + tags: + - PDU + parameters: + - name: id + type: integer + in: formData + required: true + description: ID of the PDU Infeed + - name: rated_power + type: number + format: float + in: formData + description: Rated power for the PDU Infeed. Must also supply rated_power_units when updating this value. + - name: rated_power_units + type: string + in: formData + description: Rated power units for the PDU Infeed. Supported values are - amps, A, watts, W. Must also supply rated_power when updating this value. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - 'PDU Infeed updated successfully' + - 4 + - 'source1' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/pdu_infeeds/{ID}/': + put: + operationId: putPduInfeedID + description: Update rated power and rated power units information for an existing PDU Infeed + summary: Update PDU Infeed + tags: + - PDU + parameters: + - name: id + type: integer + in: path + required: true + description: id of the PDU Infeed + - name: rated_power + type: number + format: float + in: formData + description: Rated power for the PDU Infeed. Must also supply rated_power_units when updating this value. + - name: rated_power_units + type: string + in: formData + description: Rated power units for the PDU Infeed. Supported values are - amps, A, watts, W. Must also supply rated_power when updating this value. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - 'PDU Infeed updated successfully' + - 4 + - 'source1' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/patch_panel/{ID}/': + get: + operationId: getPatch_panelID + summary: Get specific + description: >- + Retrieve detailed information about a specific Patch Panel by Patch + Panel ID. This also includes end point connections + tags: + - Patch Panels + parameters: + - name: ID + in: path + required: true + description: The ID of the Patch Panel to retrieve + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Patch_panel' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + + '/api/1.0/patch_panel_port/{ID}': + get: + operationId: getPatchPanelPortInfo + summary: Get specific + description: >- + Retrieve detailed information about a specific Patch Panel port by patch panel port ID. + tags: + - Patch Panels + parameters: + - name: port_id + in: path + description: ID of the port + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Patch_panel_port' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/patch_panel_ports/{patch_panel_id}/': + get: + operationId: getPatch_panel_portsPatch_panel_id + description: Retrieves patch panel ports for specified patch panel + summary: Get all ports + tags: + - Patch Panels + parameters: + - name: patch_panel_id + in: path + required: true + description: Patch panel id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + properties: + name: + example: 1 + ppport_id: + example: 481 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/patch_panel_ports/: + post: + operationId: postPatch_panel_portsPatch_panel_id + summary: Update ports + description: >- + Update Patch Panel Ports. Requires the following parameters: +
      • patch_panel_id OR patch_panel
      • number
      • + tags: + - Patch Panels + parameters: + - name: patch_panel_id + in: formData + description: Patch panel id + type: string + - $ref: '#/parameters/patch_panel' + - name: number + in: formData + required: true + description: Port number for the patch panel + type: string + - $ref: '#/parameters/module_slot' + - $ref: '#/parameters/mac_id' + - name: mac_address + in: formData + type: string + description: mac_address or hwaddress + - $ref: '#/parameters/switchport_id' + - name: switch + in: formData + type: string + description: Must be used with switchport if switchport_id is not used. + - name: switchport + in: formData + type: string + description: Must be used with switch if switchport_id is not used. + - name: patch_panel_port_id + in: formData + type: string + description: Or use front_patch_panel and front_port combination + - $ref: '#/parameters/front_patch_panel_id' + - $ref: '#/parameters/front_patch_panel' + - $ref: '#/parameters/front_port' + - $ref: '#/parameters/label_post' + - $ref: '#/parameters/obj_label1' + - $ref: '#/parameters/obj_label2' + - $ref: '#/parameters/back_connection_id' + - $ref: '#/parameters/back_switchport_id' + - $ref: '#/parameters/back_switch' + - name: back_switchport + in: formData + type: string + description: >- + Use if back connection type is switch - use in combination with + back_switch. + - $ref: '#/parameters/back_patch_panel_id' + - $ref: '#/parameters/back_patch_panel' + - $ref: '#/parameters/back_port' + - $ref: '#/parameters/clear_front' + - $ref: '#/parameters/clear_back' + - $ref: '#/parameters/cable_type' + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + properties: + msg: + example: + - patch port details edited successfully. + - 490 + - 'DC1R1PP1 : 10 (testtest)' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/patch_panel_models/: + get: + operationId: getPatch_panel_models + description: Retrieves all patch panel models + summary: Get all models + parameters: + - name: name + type: string + in: query + description: filter by name + tags: + - Patch Panels + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + properties: + module_position: + example: horizontal + name: + example: m1 + numbering_direction: + example: left-right + numbering_start_location: + example: top-left + patch_panel_model_id: + example: 1 + type: + example: Modular + type_id: + example: 2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPatch_panel_models + description: >- + Create/update patch panel model. Required parameters: +
        • patch_panel_model_id OR name
        • + summary: Create model + tags: + - Patch Panels + parameters: + - $ref: '#/parameters/patch_panel_model_id' + - name: name + in: formData + description: Name of the patch panel model you want to edit or create. + type: string + - $ref: '#/parameters/manufacturer_post' + - name: type + type: string + in: formData + enum: + - singluar + - modular + default: singluar + - name: port_type + description: name of the port type. created if it doesn't exist already + in: formData + type: string + - $ref: '#/parameters/paired_ports' + - $ref: '#/parameters/imgfile_id' + - $ref: '#/parameters/imgfile' + - $ref: '#/parameters/number_of_ports' + - $ref: '#/parameters/number_of_ports_in_row' + - $ref: '#/parameters/module_position' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Patch Panel Model added/updated + - 12 + - 48-port-ethernet + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/patch_panel_module_models/: + get: + operationId: getPatch_panel_module_models + description: Retrieves all patch panel module models + summary: Get all module models + tags: + - Patch Panels + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + properties: + name: + example: r1 + number_of_ports: + example: 12 + number_of_ports_in_row: + example: 6 + patch_panel_module_model_id: + example: 1 + port_type: + example: Fiber LC + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPatch_panel_module_models + description: >- + Create/update patch panel module model. Required parameters: +
          • patch_panel_module_model_id OR name
          • + summary: Create/update module model + tags: + - Patch Panels + parameters: + - $ref: '#/parameters/patch_panel_module_model_id' + - name: name + in: formData + description: Name of the patch panel module model you want to edit or create. + type: string + - name: port_type + description: name of the port type. created if it doesn't exist already + in: formData + type: string + - $ref: '#/parameters/paired_ports' + - $ref: '#/parameters/number_of_ports' + - $ref: '#/parameters/number_of_ports_in_row' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Patch Panel Module Model added/updated + - 2 + - 6-port-module + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/parts/: + get: + operationId: getParts + description: Get all parts - introduced in version 5.7.2 + summary: Get all + tags: + - Parts Management + parameters: + - name: type + type: string + description: >- + type of the partmodel, cpu, mem, hdd for CPU, memory, and Harddisk. + For others it must match the type name for part model + in: query + - name: device + type: string + description: name of the device where part is checked out to + in: query + - name: device_id + type: string + description: id of the device where part is checked out to + in: query + - $ref: '#/parameters/device_serial' + - name: room + type: string + description: name of the room where part is checked out to + in: query + - name: room_id + type: string + description: id of the room where part is checked out to + in: query + - $ref: '#/parameters/part_id' + - $ref: '#/parameters/partmodel_id' + - name: serial_no + type: string + description: serial number of the part + in: query + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - name: rack_id + type: string + description: id of the rack where part is checked out to + in: query + - name: rack + type: string + description: name of the rack where part is checked out to + in: query + - name: asset_id + type: string + description: id of the asset where part is checked out to + in: query + - $ref: '#/parameters/asset_no' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - $ref: '#/parameters/tags' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + parts: + type: array + items: + $ref: '#/definitions/Parts' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postParts + description: Create/update parts - introduced in version 5.7.2 + summary: Create/update + tags: + - Parts Management + parameters: + - name: type + type: string + description: >- + Part type - new or existing. Must be hdd or harddisk to update HDD + model parameters (hddsize, hddtype, etc) + in: formData + - name: name + type: string + description: name of part model - new or existing + in: formData + - name: count + type: integer + description: number of parts + in: formData + - name: part_id + type: string + description: Use for updating existing part + in: formData + - name: partmodel_id + type: string + in: formData + - name: serial_no + type: string + in: formData + description: >- + Use for updating existing part. Caution: will update first matching + serial if multiple parts with same serial exist. Use part_id or + partmodel_id to uniquely identify. + - $ref: '#/parameters/firmware' + - $ref: '#/parameters/assignment' + - name: room + in: formData + type: string + description: Room name - required if assigned to room + - name: device + in: formData + type: string + description: Room name - required if assigned to device + - name: asset_id + in: formData + type: integer + description: Asset name - required if assigned to asset + - $ref: '#/parameters/date_changed' + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/cores' + - $ref: '#/parameters/cpuspeed' + - $ref: '#/parameters/threads' + - $ref: '#/parameters/ramsize' + - $ref: '#/parameters/ramtype' + - $ref: '#/parameters/ramspeed' + - $ref: '#/parameters/hddsize' + - $ref: '#/parameters/hddtype' + - $ref: '#/parameters/hddrpm' + - $ref: '#/parameters/raid_type' + - $ref: '#/parameters/raid_group' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Part added/updated + - 24 + - 'Hard Disk WesternDigitalRe250, wd250abyz, PN: wdre250s' + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/parts/{id}/': + delete: + operationId: deleteParts + summary: Delete + description: >- + This API is used to delete the part with the part id supplied as the + required argument + tags: + - Parts Management + parameters: + - name: id + in: path + required: true + description: part id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/partmodels/: + get: + operationId: getPartmodels + description: Get all part models - introduced in version 5.7.2 + summary: Get all models + tags: + - Parts Management + parameters: + - $ref: '#/parameters/name' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Partmodels' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPartmodels + description: Create/update part models - introduced in version 5.7.2 + summary: Create/update models + tags: + - Parts Management + parameters: + - name: type + type: string + description: >- + Part type - new or existing. Must be hdd or harddisk to update HDD + model parameters (hddsize, hddtype, etc) + in: formData + - name: name + type: string + description: name of part model - new or existing + in: formData + - $ref: '#/parameters/description_post' + - name: partmodel_id + type: string + in: formData + description: use for updating existing part model + - $ref: '#/parameters/modelno' + - $ref: '#/parameters/partno' + - $ref: '#/parameters/manufacturer_post' + - $ref: '#/parameters/media_type' + - $ref: '#/parameters/connector_type' + - $ref: '#/parameters/length' + - $ref: '#/parameters/connectivity' + - name: total_count + in: formData + type: string + - $ref: '#/parameters/location' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/cores' + - $ref: '#/parameters/cpuspeed' + - $ref: '#/parameters/threads' + - $ref: '#/parameters/ramsize' + - $ref: '#/parameters/ramtype' + - $ref: '#/parameters/ramspeed' + - $ref: '#/parameters/hddsize' + - $ref: '#/parameters/hddtype' + - $ref: '#/parameters/hddrpm' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PartModel added/updated + - 17 + - 'Riser Card intel 123456, PN: 123456' + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/partmodels/{id}/': + delete: + operationId: deletePartmodels + summary: Delete model + description: >- + This API is used to delete the part model with the part model id + supplied as the required argument + tags: + - Parts Management + parameters: + - name: id + in: path + required: true + description: part model id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/part/: + put: + operationId: putCustom_FieldPart + description: Create/update custom fields for parts + summary: Custom fields + tags: + - Parts Management + parameters: + - name: id + in: formData + description: ID of part. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'CPU NA, PN: 1000base-lx-sfp' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/partmodel/: + put: + operationId: putCustom_FieldPartmodel + description: Create/update custom fields for Part Models + summary: Custom fields for models + tags: + - Parts Management + parameters: + - name: id + in: query + description: ID of part. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 12 + - '42' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/purchases/: + get: + operationId: getPurchases + description: Get method retrieves all purchases + summary: Get all + tags: + - Purchasing + parameters: + - $ref: '#/parameters/purchase_id' + - $ref: '#/parameters/order_no' + - name: vendor + type: string + description: Vendor name + in: query + - $ref: '#/parameters/cost_center' + - name: building + type: string + description: Associated building + in: query + - $ref: '#/parameters/completed' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Purchases' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPurchases + summary: Create/update + description: >- + Create/update purchases. Required parameters:
            • order_no + OR purchase_id
            • + tags: + - Purchasing + parameters: + - name: order_no + in: formData + type: string + description: order number / name for the purchase. Can be new or existing. + - name: purchase_id + type: string + in: formData + description: Can be used instead of order_no to update existing purchase + - $ref: '#/parameters/line_type' + - $ref: '#/parameters/line_no' + - $ref: '#/parameters/vendor_post' + - $ref: '#/parameters/cost' + - $ref: '#/parameters/po_date' + - name: cost_center + type: string + in: formData + - name: building + type: string + in: formData + description: Associated building + - name: completed + enum: + - 'yes' + - 'no' + type: string + in: formData + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/line_name' + - $ref: '#/parameters/line_quantity' + - $ref: '#/parameters/line_cost' + - $ref: '#/parameters/line_cost_center' + - $ref: '#/parameters/line_customer' + - $ref: '#/parameters/line_item_type' + - $ref: '#/parameters/line_asset_ids' + - $ref: '#/parameters/line_start_date' + - $ref: '#/parameters/line_end_date' + - $ref: '#/parameters/line_frequency' + - $ref: '#/parameters/line_renew_date' + - $ref: '#/parameters/line_cancel_policy' + - $ref: '#/parameters/line_contract_type' + - $ref: '#/parameters/line_service_type' + - $ref: '#/parameters/line_contract_id' + - $ref: '#/parameters/line_notes' + - $ref: '#/parameters/line_completed' + - $ref: '#/parameters/line_devices' + - $ref: '#/parameters/line_device_serial_nos' + - $ref: '#/parameters/line_device_asset_nos' + - $ref: '#/parameters/line_circuits' + - $ref: '#/parameters/line_circuit_ids' + - $ref: '#/parameters/line_building_ids' + - $ref: '#/parameters/line_certificate_ids' + - $ref: '#/parameters/line_software_ids' + - $ref: '#/parameters/line_room_ids' + - $ref: '#/parameters/line_rack_ids' + - $ref: '#/parameters/line_part_ids' + - $ref: '#/parameters/line_device_os_ids' + - $ref: '#/parameters/line_devices_remove' + - $ref: '#/parameters/groups_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - purchase updated successfully + - 11 + - thisisatest + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/purchases/{id}/': + delete: + operationId: deletePurchases + summary: Delete + description: >- + This API is used to delete the purchase order with the purchase order id + supplied as the required argument + tags: + - Purchasing + parameters: + - name: id + in: path + required: true + description: purchase id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/purchases/{purchase-id}/attachments/': + get: + operationId: getAllPurchaseAttachments + summary: Get attachments by purchase ID + description: >- + Retrieve all file attachments for a specific purchase using purchase id.
              + Returns a zip file of all the attachments associated with the purchase with the specified ID in URL.
              + Note that this implementation of Swagger does not support file download - use another mechanism such as CURL.
              +
              cURL example:
              + curl -X GET \
              + URL/api/1.0/purchases/3/attachments \
              + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI=' + tags: + - Purchasing + parameters: + - name: purchase-id + type: integer + in: formData + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + file_download: + example: attachments_archive.6646-2020-01-24.zip + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/purchase/: + put: + operationId: putCustom_FieldPurchases + description: Create/update custom fields for purchases + summary: Custom fields + tags: + - Purchasing + parameters: + - name: order_no + in: formData + type: string + description: order number / name for the purchase. Can be new or existing. + required: true + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 623 + - PO1234 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/lifecycle_event/: + get: + operationId: getLifecycle_event + description: Retrieve Life Cycle Events using filters - introduced in version 5.5.7 + summary: Get All + tags: + - Asset-Device Life Cycle + parameters: + - name: type + type: string + description: filter by existing event type + in: query + - name: device + type: string + description: filter by device name + in: query + - name: asset + type: string + description: filter by asset name + in: query + - name: asset_id + type: string + in : query + description: filter by asset ID + - $ref: '#/parameters/enduser' + - $ref: '#/parameters/date_gt' + - $ref: '#/parameters/date_lt' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + lifecycle_events: + type: array + items: + properties: + date: + example: '2013-09-05T04:00:00Z' + asset_id: + example: 224 + asset_name: + example: heart of gold + enduser: + example: H. Dent + notes: + example: R&D Dev Server + type: + example: Purchased + id: + example: 4 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putLifecycle_event + summary: Create/Update + description: >- + Use this API to create/update life cycle events for devices or assets. Use + device, device_id, asset_no, serial_no, or asset_id to indicate the + device or asset the event is to be created for + tags: + - Asset-Device Life Cycle + parameters: + - name: id + type: string + in: formData + description: ID of lifecycle event. Required if updating an existing lifecycle event. + - name: date + type: string + description: in YYYY-MM-DD or
              YYYY-MM-DD HH:MM format. + in: formData + required: true + - name: new_date + type: string + in: formData + description: New date to overwrite current date of lifecycle event. + - name: type + type: string + required: true + in: formData + description: must be defined already in device42. + - name: device + type: string + in: formData + description: Name of the device that the event is for + - name: device_id + type: string + in: formData + description: ID of the device that the event is for + - name: asset_no + type: string + in: formData + description: Asset number of the device that the event is for + - name: serial_no + type: string + in: formData + description: Serial number of the device that the event is for + - name: asset_id + type: string + in: formData + description: ID of the asset that the event is for + - name: fully_qualified_username + type: string + in: formData + description: Fully Qualified Username + - name: tags + type: string + in: formData + description: Comma separated list of tags to add to a lifecycle event. + - name: tags_remove + type: string + in: formData + description: Comma separated tags to remove for a lifecycle event + - name: enduser_id + type: string + in: formData + description: ID of the enduser. If enduser_id is provided then user and fully_qualified_name parameters are ignored + - $ref: '#/parameters/user' + - $ref: '#/parameters/notes_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - lifecycle event added successfully. + - 3 + - 'Installed on 2013-02-02 17:15:00' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/lifecycle_event/{id}/: + get: + operationId: getLifecycle_eventID + description: Retrieve detailed information about a specific Lifecycle Event. + summary: Get Specific + tags: + - Asset-Device Life Cycle + parameters: + - name: ID + type: integer + in: path + required: true + description: The ID of the Lifecycle Event + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + lifecycle_event: + type: object + properties: + tags: + example: [] + notes: + example: "" + date: + example: "2021-11-15T20:37:32Z" + device: + example: "0013548C-4308-4929-AF43-06D6B25D1B8C/marco-vm-azure" + type: + example: "Inventoried" + id: + example: 1 + + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteLifecycle_event + summary: Delete + description: >- + This API is used to delete a specific Lifecycle Event + tags: + - Asset-Device Life Cycle + parameters: + - name: ID + in: path + required: true + description: The ID of the Lifecycle Event + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/vrfgroup/: + get: + operationId: getIPAMvrfgroup + description: Get method retrieves all VRF Groups + summary: Get all VRF groups + tags: + - IPAM + parameters: + - name: cloud_infra_id + type: id + description: id of the cloud account + in: query + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + total_count: + example: 84 + offset: + example: 0 + limit: + example: 1000 + vrfgroup: + type: array + items: + type: object + properties: + buildings: + example: [] + description: + example: Infrastructure + tags: + example: [] + groups: + example: '' + id: + example: 1 + cloud_infra_id: + example: 2 + custom_fields: + example: [] + name: + example: Infrastructure Services + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAMvrfgroup + description: Create/update VRF group + summary: Create/update VRF group + tags: + - IPAM + parameters: + - name: name + in: formData + required: true + description: Name of the VRF Group you want to add edit or create + type: string + - name: description + in: formData + type: string + - name: groups + in: formData + description: >- + If multitenancy is on, admin groups that have access to this object + are specified here, e.g. Prod_East:no,Corp:yes specifies that the + admin groups for this object are Prod_East with view only permission + and Corp with change permission. If this parameter is present with + no value, all groups are deleted. + type: string + - name: buildings + in: formData + description: list of building names for the VRF Group + type: string + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + msg: + example: + - VRF Group added/updated + - 1 + - blue + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/vrfgroup/{id}/': + put: + operationId: putIPAMvrfgroup + description: Update a specific VRF group + summary: Update VRF group + tags: + - IPAM + parameters: + - name: id + in: path + required: true + description: VRF Group ID + type: string + - name: name + in: formData + description: Name of the VRF Group + type: string + - name: description + in: formData + type: string + - name: groups + in: formData + description: >- + If multitenancy is on, admin groups that have access to this object + are specified here, e.g. Prod_East:no,Corp:yes specifies that the + admin groups for this object are Prod_East with view only permission + and Corp with change permission. If this parameter is present with + no value, all groups are deleted. + type: string + - name: buildings + in: formData + description: list of building names for the VRF Group + type: string + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + msg: + example: + - VRF Group added/updated + - 3 + - green + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteIPAMvrfgroupId + summary: Delete VRF group + description: >- + This API is used to delete the vrf group with the vrf group id supplied + as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + required: true + description: VRF Group ID + type: string + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/vrfgroup/: + put: + operationId: putIPAMCustomFIvrfgroup + summary: VRF group custom fields + description: >- + Create/update custom fields for VRF groups. Required parameters: +
              • name OR ID
              • key
              • + tags: + - IPAM + parameters: + - name: name + type: string + in: formData + description: Required if ID not present + - name: id + type: string + in: formData + description: Required if name not present + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 1 + - test + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/subnet/: + put: + operationId: putIPAMCustomFIsubnet + description: Create/update custom fields for subnets + summary: Subnet custom fields + tags: + - IPAM + parameters: + - name: network + type: string + in: formData + description: Network IP + required: true + - name: mask_bits + type: string + in: formData + required: true + - name: vrf_group + type: string + in: formData + description: VRF group name + required: true + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2681 + - 9.0.0.0/8 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/ip_address/: + put: + operationId: putIPAMCustomFIip_address + description: Create/update custom fields for IP addresses + summary: IP address custom fields + tags: + - IPAM + parameters: + - name: ip_address + type: string + in: formData + description: IP address + required: true + - name: subnet_id + type: string + in: formData + description: Subnet ID + required: true + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 13545 + - 9.0.0.1 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/switchport/: + put: + operationId: putIPAMCustomFIswitchport + summary: Switch port custom fields + description: >- + Create/update switch port custom fields. + Required parameters:
                • id OR port AND + device_name
                • key
                • + tags: + - IPAM + parameters: + - name: id + type: string + in: formData + description: ID of the switchport + - name: port + type: string + in: formData + description: required if ID is not used + - $ref: '#/parameters/device_name' + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 4 + - '1027' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/subnet_category/: + get: + operationId: getIPAMsubnetcategory + description: Get method retrieves all subnet categories + summary: Get all subnet categories + tags: + - IPAM + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + description: + example: '' + id: + example: 1 + groups: + example: 'AccessToBlue:yes' + name: + example: East Region + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAMsubnetcategory + summary: Create subnet category + description: Create subnet category + tags: + - IPAM + parameters: + - name: name + in: formData + required: true + description: Name of the Subnet Category you want to add edit or create + type: string + - name: description + in: formData + type: string + - name: is_it_default + in: formData + type: string + enum: + - 'yes' + - 'no' + description: >- + Defaults to no. Only one category can be yes. If yes, this is the + subnet category to use if none specified in an API or autodiscovery + update. + - name: groups + in: formData + description: >- + If multitenancy is on, admin groups that have access to this object + are specified here, e.g. Prod_East:no,Corp:yes specifies that the + admin groups for this object are Prod_East with view only permission + and Corp with change permission. If this parameter is present with + no value, all groups are deleted. + type: string + responses: + '200': + description: 'The above command returns JSON structured like this:' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putIPAMsubnetcategory + description: Update a specific subnet category + summary: Update subnet category + tags: + - IPAM + parameters: + - name: name + in: formData + required: true + description: Name of the Subnet Category + type: string + - name: description + in: formData + type: string + - name: is_it_default + in: formData + description: >- + yes or no. Defaults to no. Only one category can be yes. If yes, + this is the subnet category to use if none specified in an API or + autodiscovery update. + type: string + enum: + - 'yes' + - 'no' + - name: groups + in: formData + description: >- + If multitenancy is on, admin groups that have access to this object + are specified here, e.g. Prod_East:no,Corp:yes specifies that the + admin groups for this object are Prod_East with view only permission + and Corp with change permission. If this parameter is present with + no value, all groups are deleted. + type: string + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + msg: + example: + - Subnet category added/updated + - 3 + - blue + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/subnet_category/{id}/': + delete: + operationId: deleteIPAMsubnetcategory + summary: Delete subnet category + description: >- + This API is used to delete the subnet category with the subnet category + id supplied as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + required: true + description: Subnet category id + type: integer + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/subnets/: + get: + operationId: getIPAMsubnets + description: Get all subnets - Filter parameters are below + summary: Get all subnets + tags: + - IPAM + parameters: + - name: name + type: string + description: name of the subnet + in: query + - $ref: '#/parameters/vrf_group_id' + - $ref: '#/parameters/vrf_group' + - $ref: '#/parameters/parent_subnet_id_get' + - $ref: '#/parameters/parent_subnet' + - $ref: '#/parameters/customer_id_get' + - $ref: '#/parameters/customer' + - $ref: '#/parameters/subnet_id' + - name: mask_bits + in: query + description: mask bits + type: string + - $ref: '#/parameters/mask_bits_lt' + - $ref: '#/parameters/mask_bits_gt' + - $ref: '#/parameters/description' + - $ref: '#/parameters/range_begin' + - $ref: '#/parameters/range_end' + - $ref: '#/parameters/gateway' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - $ref: '#/parameters/service_level' + - $ref: '#/parameters/category' + - $ref: '#/parameters/category_id' + - $ref: '#/parameters/vlan_id' + - name: network + description: Optional + type: string + in: query + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + limit: + example: 2 + offset: + example: 0 + subnets: + type: array + items: + $ref: '#/definitions/IPAMsubnets' + total_count: + example: 32 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAMsubnets + description: Create/update subnets + summary: Create/update subnet + tags: + - IPAM + parameters: + - name: network + in: formData + type: string + description: 'Required for creation, cannot be modified after subnet creation.' + required: true + - name: mask_bits + in: formData + description: Cannot be modified after subnet creation + required: true + type: string + - $ref: '#/parameters/vrf_group_id_post' + - $ref: '#/parameters/vrf_group_post' + - name: name + in: formData + type: string + - name: type + type: string + in: formData + enum: + - Static + - DHCP + - Reserved + - name: type_id + in: formData + type: integer + enum: + - 1 + - 2 + - 3 + - name: service_level + in: formData + type: string + description: The service level name for the subnet. + - name: service_level_id + in: formData + type: integer + description: Service level ID for the subnet. + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/gateway_post' + - $ref: '#/parameters/range_begin_post' + - $ref: '#/parameters/range_end_post' + - $ref: '#/parameters/parent_vlan_id' + - $ref: '#/parameters/parent_subnet_id' + - $ref: '#/parameters/customer_id' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/subnets_type' + - $ref: '#/parameters/assigned' + - $ref: '#/parameters/allocated' + - $ref: '#/parameters/auto_add_ips' + - $ref: '#/parameters/category_post' + - name: category + in: formData + type: string + description: The name of an subnet category to assign to the subnet. Use for initial insert. + - name: new_category + in: formData + description: Use new_category to update/replace an existing subnet category. + type: string + - name: category_id + in: formData + type: string + description: ID of the subnet category to assign to the subnet. Use for initial insert. + - name: new_category_id + in: formData + description: Use new_category_id to update/replace an existing subnet category ID. + type: string + - $ref: '#/parameters/parent_subnet_name' + - $ref: '#/parameters/parent_subnet_with_mask' + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + msg: + example: + - >- + subnet successfully + added/updated'5'NetComm-10.1.2.0/24(Infrastructure Services) + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putIPAMsubnets + description: Create/update specific subnet + summary: Create/update specific subnet + tags: + - IPAM + parameters: + - name: id + in: formData + type: integer + description: 'ID of the subnet.' + required: true + - $ref: '#/parameters/vrf_group_id_post' + - $ref: '#/parameters/vrf_group_post' + - name: name + in: formData + type: string + - name: type + type: string + in: formData + enum: + - Static + - DHCP + - Reserved + - name: type_id + in: formData + type: integer + enum: + - 1 + - 2 + - 3 + - name: service_level + in: formData + type: string + description: The service level name for the subnet. + - name: service_level_id + in: formData + type: integer + description: Service level ID for the subnet. + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/gateway_post' + - $ref: '#/parameters/range_begin_post' + - $ref: '#/parameters/range_end_post' + - $ref: '#/parameters/parent_vlan_id' + - $ref: '#/parameters/parent_subnet_id' + - $ref: '#/parameters/customer_id' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/subnets_type' + - $ref: '#/parameters/assigned' + - $ref: '#/parameters/allocated' + - $ref: '#/parameters/auto_add_ips' + - $ref: '#/parameters/category_post' + - $ref: '#/parameters/category_id_post' + - $ref: '#/parameters/parent_subnet_name' + - $ref: '#/parameters/parent_subnet_with_mask' + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + msg: + example: + - subnet successfully added/updated + - 345 + - Finance Group PCs-3.3.3.0/24 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/subnets/{subnet_id}/': + get: + operationId: getIPAM_subnet_id + summary: Get subnet by ID + description: Get method retrieves subnet with the specified subnet id + tags: + - IPAM + parameters: + - name: subnet_id + type: integer + in: path + required: true + description: Subnet Id + responses: + '200': + description: The above command returns the same output as Get All Subnets above + schema: + $ref: '#/definitions/IPAMsubnets' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteIPAMsubnets + summary: Delete subnet + description: >- + This API is used to delete the subnet with the subnet id supplied as the + required argument + tags: + - IPAM + parameters: + - name: subnet_id + in: path + description: subnet id + type: integer + required: true + - name: merge_associated + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes/no
                  If the subnet has a parent, merge child subnets and IPs into the parent.
                  IPs without a parent subnet are deleted. + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/subnets/customer_id/{customer_id}/': + get: + operationId: getIPAM_customer_id + description: Get method retrieves all subnets by customer ID + summary: Get all subnets by customer + tags: + - IPAM + parameters: + - name: customer_id + type: integer + in: path + required: true + description: Customer Id + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + mask_bits: + example: 24 + name: + example: NetComm + network: + example: 10.1.2.0 + subnet_id: + example: 5 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/subnets/create_child/: + post: + operationId: postIPAM_subnets_create_child + description: >- + Create child subnet. Required parameters:
                  • mask_bits
                  • +
                  • parent_subnet_id OR vrf_group OR vrf_group_id
                  • + summary: Create child subnet + tags: + - IPAM + parameters: + - name: mask_bits + required: true + in: formData + description: e.g. 24 + type: string + - name: parent_subnet_id + in: formData + type: string + description: >- + ID of the parent subnet. Can be obtained via /api/api/1.0/subnets/ + or Tools > Export > Subnet. Required if vrf_group and vrf_group_id + are not present. + - name: vrf_group + description: >- + Name of the VRF group. Required if parent_subnet_id or vrf_group_id + are not present. + type: string + in: formData + - name: vrf_group_id + type: string + in: formData + description: >- + ID of the VRF group. Required if parent_subnet_id or vrf_group are + not present. + - $ref: '#/parameters/parent_mask_bits' + - name: ipv6 + in: formData + description: Required if creating an ipv6 subnet + type: string + - name: network + in: formData + type: string + - name: subnet_id + in: formData + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + subnet_id: + example: 14 + mask_bits: + example: '25' + network: + example: 10.1.2.128 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/vlans/: + get: + operationId: getIPAMvlans + description: Get method retrieves all VLANs + summary: Get all VLANs + tags: + - IPAM + parameters: + - $ref: '#/parameters/vlan_id' + - $ref: '#/parameters/number' + - name: name + type: string + in: query + description: filter vlan with the provided name + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + - name: description + type: string + in: query + description: vlans with provide description (case insensitive exact match) + - name: switch_ids + type: string + in: query + description: csv list of switch ids to filter vlans by + - name: switches + type: string + in: query + description: csv list of switch names to filter vlans by + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + vlans: + type: array + items: + $ref: '#/definitions/IPAMvlans' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAMvlans + description: Create VLANs + summary: Create VLANs + tags: + - IPAM + parameters: + - name: number + required: true + in: formData + description: VLAN + type: integer + - name: name + type: string + in: formData + description: >- + If left blank, name will be created as VLANxxxx, e.g. VLAN# 342 will + be named VLAN0342 + - $ref: '#/parameters/description_post' + - name: switch_ids + type: string + in: formData + description: Comma separated values for switch id's + - name: switches + type: string + in: formData + description: Comma separated values for switch names. + - name: tags + type: string + in: formData + description: Add or update tags to a VLAN + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/groups_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - vlan successfully added + - 22 + - test + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putIPAMvlans + description: Create/update specific VLAN + summary: Update VLAN + tags: + - IPAM + parameters: + - name: id + in: formData + type: integer + - $ref: '#/parameters/number_post' + - name: name + type: string + in: formData + description: >- + If left blank, name will be created as VLANxxxx, e.g. VLAN# 342 will + be named VLAN0342 + - name: switch_ids + type: string + in: formData + description: Comma separated values for switch id's + - name: switches + type: string + in: formData + description: Comma separated values for switch names. + - $ref: '#/parameters/clear_switches' + - $ref: '#/parameters/clear_switch_ids' + - name: tags + type: string + in: formData + description: Add or update tags to a VLAN + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/groups_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - vlan successfully updated'20'342 + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/vlans/{id}/': + get: + operationId: getIPAMvlans_id + summary: Get VLAN by ID + description: Get method retrieves VLAN by specific VLAN ID + tags: + - IPAM + parameters: + - name: id + in: path + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/IPAMvlans' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putIPAMvlans + description: Update VLANs by ID in URL + summary: Update VLANs + tags: + - IPAM + parameters: + - name: id + in: path + required: true + type: integer + - $ref: '#/parameters/number_post' + - name: name + type: string + in: formData + description: >- + If left blank, name will be created as VLANxxxx, e.g. VLAN# 342 will + be named VLAN0342 + - name: switch_ids + type: string + in: formData + description: Comma separated values for switch id's + - name: switches + type: string + in: formData + description: Comma separated list of switches for VLAN + - name: tags + type: string + in: formData + description: Add or update tags to a VLAN + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/groups_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - vlan successfully updated'20'342 + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteIPAMvlans + summary: Delete VLAN + description: >- + This API is used to delete the VLAN with the VLAN ID supplied as the + required argument + tags: + - IPAM + parameters: + - name: id + in: path + description: vlan id (This is Device42 ID of the VLAN) + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/vlans/smart_merge_all/: + post: + operationId: postIPAMvlans_smart_merge_all + description: Merge VLANs by number, name and switch_ids + summary: Smart merge VLANs + tags: + - IPAM + parameters: + - $ref: '#/parameters/number_post' + - name: name + type: string + in: formData + description: Only vlans with these names will be merged + - $ref: '#/parameters/switch_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - all vlans merged successfully + - '' + - '' + - false + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/ips/: + get: + operationId: getIPAM_ips + summary: Get all IPs + description: >- + Get method retrieves all IPs. (Added in v5.9.3) By default the limit is + maximum 1000 IPs per call. Use total_count and offset if over 1000 IPs + tags: + - IPAM + parameters: + - $ref: '#/parameters/offset' + - $ref: '#/parameters/limit' + - $ref: '#/parameters/subnet_id' + - $ref: '#/parameters/subnet' + - $ref: '#/parameters/device' + - $ref: '#/parameters/mac' + - $ref: '#/parameters/available' + - name: type + type: string + enum: + - static + - dhcp + - reserved + in: query + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/ip' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + - $ref: '#/parameters/ip_id' + - $ref: '#/parameters/label' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - $ref: '#/parameters/total_count' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + ips: + type: array + items: + $ref: '#/definitions/IPAMips_1' + limit: + example: 4 + offset: + example: 0 + total_count: + example: 1004 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_ips + description: Create/update IP addresses + summary: Create/update IP Address + tags: + - IPAM + parameters: + - $ref: '#/parameters/ipaddress' + - name: label + type: string + in: formData + description: >- + label for the interface (tag still works for backward compatibility) + Use the value 'd42_null' to clear up the content of the IP label. + - name: subnet + type: string + in: formData + description: >- + name of the subnet you want to add the IP to. Must be unique. The + reason it must be unique is to handle overlapping subnet ranges. The + unique name enable selection of the correct subnet. Ignored if + vrf_group_id or vrf_group is present in the arguments. Works only + when adding a new IP. For existing IPs, use VRF group parameters. + - $ref: '#/parameters/macaddress' + - name: device + type: string + in: formData + description: 'device name, can be new or existing' + - name: resource_identifier + type: string + in: formData + description: Identifier of an element (resource) to be added to the IP. + - name: type + type: string + in: formData + enum: + - static + - dhcp + - reserved + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/vrf_group_id_post' + - $ref: '#/parameters/vrf_group_post' + - name: available + in: formData + enum: + - 'yes' + - 'no' + type: string + - $ref: '#/parameters/clear_all' + - name: tags + type: string + in: formData + description: >- + Update IP address tags (note, different than the antiquated tag + endpoint. See label parameter above) + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - ip added or updated'76'192.168.1.1 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/ips/: + get: + operationId: getIPAM_ips + summary: Get all IPs (API 2.0) + description: >- + Get method retrieves all IPs. API 2.0 version. By default the limit is + maximum 1000 IPs per call. Use total_count and offset if over 1000 IPs + tags: + - IPAM + parameters: + - $ref: '#/parameters/offset' + - $ref: '#/parameters/limit' + - $ref: '#/parameters/subnet_id' + - $ref: '#/parameters/subnet' + - $ref: '#/parameters/device' + - $ref: '#/parameters/mac' + - $ref: '#/parameters/available' + - name: type + type: string + enum: + - static + - dhcp + - reserved + in: query + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/ip' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + - $ref: '#/parameters/ip_id' + - $ref: '#/parameters/label' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - $ref: '#/parameters/total_count' + - name: is_shared + type: string + in: query + enum: + - yes + - no + description: filter by shared devices, will return all devices this IP is shared on. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + ips: + type: array + items: + - $ref: '#/definitions/IPAMips_2_device' + - $ref: '#/definitions/IPAMips_2_resource' + limit: + example: 4 + offset: + example: 0 + total_count: + example: 1004 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_ips + description: Create/update IP addresses (API 2.0) + summary: Create/update IP Address (API 2.0) + tags: + - IPAM + parameters: + - $ref: '#/parameters/ipaddress' + - name: label + type: string + in: formData + description: label for the interface + - name: subnet + type: string + in: formData + description: >- + name of the subnet you want to add the IP to. Must be unique. The + reason it must be unique is to handle overlapping subnet ranges. The + unique name enable selection of the correct subnet. Ignored if + vrf_group_id or vrf_group is present in the arguments. Works only + when adding a new IP. For existing IPs, use VRF group parameters. + - $ref: '#/parameters/macaddress' + - name: type + type: string + in: formData + enum: + - static + - dhcp + - reserved + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/vrf_group_id_post' + - $ref: '#/parameters/vrf_group_post' + - name: available + in: formData + enum: + - 'yes' + - 'no' + type: string + - $ref: '#/parameters/clear_all' + - name: tags + type: string + in: formData + description: >- + Update IP address tags + - name: devices + type: string + in: formData + description: >- + A comma-separated list of device name(s) to be added + to the IP/Device mapping list of devices sharing this IP. + - name: device_ids + type: string + in: formData + description: >- + A comma-separated list of device id(s) to be added + to the IP/Device mapping list of devices sharing this IP. + - name: remove_devices + type: string + in: formData + description: >- + A comma-separated list of device name(s) to be removed + from the IP/Device mapping list of devices sharing this IP. + A wildcard '*' can be specified to remove all device associations + from this IP. + - name: remove_device_ids + type: string + in: formData + description: >- + A comma-separated list of device ID(s) to be removed + from the IP/Device mapping list of devices sharing this IP. + A wildcard '*' can be specified to remove all device associations + from this IP. + - name: locked + type: string + enum: + - 'yes' + - 'no' + in: formData + description: >- + Lock/unlock the IP/Device mapping for the passed in device_ids or devices. If no devices are passed, this will take no action. If this value is not passed, it will default to No for new IP/Device mappings. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - ip added or updated'76'192.168.1.1 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/ips/{id}/': + delete: + operationId: deleteIPAM_ips + summary: Delete IP address + description: >- + This API is used to delete an IP Address with the IP Address ID supplied + as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + description: IP Address id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/clear_ip/': + post: + operationId: getIPAM_clearIp + summary: Clear IP address + description: >- + This API is used to clear an IP Address attached to the devices with the IP Address ID supplied + as the required argument + tags: + - IPAM + parameters: + - name: ip_id + in: formData + description: D42 ID of the IP + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + cleared: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/ips/subnet_id/{subnet_id}/': + get: + operationId: getIPAM_ips_subnet_id + description: Get method retrieves all IPs by Subnet ID + summary: Get all IPs in subnet + tags: + - IPAM + parameters: + - name: subnet_id + in: path + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + ips: + type: array + items: + type: object + properties: + available: + example: 'No' + device: + example: USNHCTVH001 + ip: + example: 10.1.10.5 + label: + example: '' + type: + example: Reserved + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/search/: + get: + operationId: getIPAM_search + description: Find a specific IP Address + summary: Find specific IP address + tags: + - IPAM + parameters: + - name: query + in: query + description: enter “ip” + type: string + required: true + - name: string + in: query + description: the IP address to search for + type: string + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + ips: + type: array + items: + type: object + properties: + available: + example: 'No' + device: + example: openstack-dev2 + ip: + example: 10.0.0.3 + label: + example: br100 + mac_address: + example: '00:30:48:63:41:b6' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/suggest_subnet/{id}/': + get: + operationId: getIPAM_suggest_subnet_Id + description: Suggest next available subnet + summary: Suggest next available subnet + tags: + - IPAM + parameters: + - name: id + in: path + description: ID of the parent subnet + type: integer + required: true + - $ref: '#/parameters/mask_bits' + - $ref: '#/parameters/subnet' + - $ref: '#/parameters/subnet_id' + - $ref: '#/parameters/vrf_group_id' + - $ref: '#/parameters/vrf_group' + - $ref: '#/parameters/name' + - $ref: '#/parameters/if_parent_assigned' + - $ref: '#/parameters/if_parent_allocated' + - $ref: '#/parameters/direct_suggestion_only' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + ip: + example: 10.16.0.0 + mask: + example: 24 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/suggest_ip/: + get: + operationId: getIPAM_suggest_ip + description: Suggest next available IP Address. Can be IPv4 or IPv6 + summary: Suggest next available IP + tags: + - IPAM + parameters: + - $ref: '#/parameters/subnet_id' + - $ref: '#/parameters/subnet' + - $ref: '#/parameters/name' + - $ref: '#/parameters/vrf_group_id' + - $ref: '#/parameters/vrf_group' + - $ref: '#/parameters/reserve_ip' + - $ref: '#/parameters/number' + - name: mask_bits + in: query + description: mask bits + type: string + - name: start_range + in: query + type: string + description: Will return an IP that is greater or equal to the value provided. If both start_range and end_range are used then this will only return IP's within this range. + - name: end_range + in: query + type: string + description: Will return an IP that is less or equal to the value provided. If both start_range and end_range are used then this will only return IP's within this range. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + ip: + example: 192.168.1.4 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/macs/: + get: + operationId: getIPAM_macs + description: Get method retrieves all MAC Addresses + summary: Get all MAC addresses + tags: + - IPAM + parameters: + - $ref: '#/parameters/mac' + - $ref: '#/parameters/device' + - name: device_id + in: query + description: Device ID + type: string + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 3 + macaddresses: + type: array + items: + $ref: '#/definitions/IPAMmacs' + offset: + example: 0 + total_count: + example: 159 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_macs + description: >- + Create/update MAC addresses. Deprecated since v12.0. Please use + /switchports/ for more detailed information. + summary: Create/update MAC address + tags: + - IPAM + parameters: + - $ref: '#/parameters/macaddress' + - $ref: '#/parameters/port_name' + - $ref: '#/parameters/override' + - $ref: '#/parameters/vlan_id_post' + - name: device + type: string + in: formData + description: name of the device + - name: port_id + type: string + in: formData + description: >- + Use this parameter or a combination of port and switch to specify + the port. + - name: port + type: string + in: formData + description: >- + Refers to the switchport name (not the interface name) - Use with + parameter switch + - name: switch + type: string + in: formData + description: Refers to the device name of the switch + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - 'mac address successfully added/updated''41''00:14:bf:aa:46:18' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/macs/{id}/': + get: + operationId: getIPAM_macs_id + description: Get method retrieves MAC address by specific MAC ID + summary: Get MAC address by ID + tags: + - IPAM + parameters: + - name: id + in: path + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + device: + type: object + properties: + asset_no: + example: '' + device_id: + example: 365 + device_url: + example: /api/api/1.0/devices/id/365/ + name: + example: nh-win2k3r2-vm- + serial_no: + example: 6417-7755-9741-3863-0032-1151-91 + type: + example: virtual + uuid: + example: 8ED6DBA8-2FC0-DF4B-B35B-12999E9AA851 + macaddress: + example: '00:15:5d:0b:9e:02' + macaddress_id: + example: 61 + port: + $ref: '#/definitions/IPAMmacs_port' + port_name: + example: Microsoft Virtual Machine Bus N + vlan_id: + example: 14 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteIPAM_macs_id + summary: Delete MAC address + description: >- + This API is used to delete the MAC address with the MAC address id + supplied as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + type: integer + description: Mac address id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/switchports/: + get: + operationId: getIPAM_switchports + description: Get method retrieves all switch ports + summary: Get all switch ports + tags: + - IPAM + parameters: + - name: switch_id + description: ID of the network device port is on + type: string + in: query + - name: include_cols + type: string + in: query + description: >- + A comma separated list of attributes of the switchport that is only returnable when explicitly specified. + Options are primary_vlan, primary_vlan_id, speed, name, mtu, port_type, and full_path_list. + - $ref: '#/parameters/switch2_id' + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 3 + offset: + example: 0 + switchports: + type: array + items: + $ref: '#/definitions/IPAMmacs_port' + total_count: + example: 349 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_switchports + description: >- + Create/update switch ports. port or hwaddress are + required + summary: Create/update switch port + tags: + - IPAM + parameters: + - $ref: '#/parameters/port_post' + - name: port_id + type: integer + in: formData + description: ID of port + - $ref: '#/parameters/hwaddress' + - $ref: '#/parameters/new_port' + - $ref: '#/parameters/switch' + - $ref: '#/parameters/description_post' + - name: type + type: string + description: Must exist in device42 (add via UI) + in: formData + - $ref: '#/parameters/vlan_id_post' + - $ref: '#/parameters/vlan' + - $ref: '#/parameters/vlan_ids' + - $ref: '#/parameters/vlans' + - $ref: '#/parameters/clear_vlan_ids' + - $ref: '#/parameters/clear_vlans' + - $ref: '#/parameters/up' + - $ref: '#/parameters/up_admin' + - $ref: '#/parameters/count' + - $ref: '#/parameters/remote_port_id' + - $ref: '#/parameters/remote_device' + - $ref: '#/parameters/remote_port' + - $ref: '#/parameters/module' + - $ref: '#/parameters/device2' + - name: device + type: string + in: formData + description: >- + name of the direcly connected device (Added in v5.8.2) (used to + connect remote port for legacy support) + - $ref: '#/parameters/label_post' + - name: tags + in: formData + type: string + description: add or update tags to a switchport + - $ref: '#/parameters/tags_remove' + - $ref: '#/parameters/mtu' + - name: name + in: formData + type: string + description: add name of port + - $ref: '#/parameters/speed' + - $ref: '#/parameters/remote_port_clear' + - $ref: '#/parameters/parent_port' + - $ref: '#/parameters/parent_port_device' + - $ref: '#/parameters/slave_ports' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - switchport successfully added/updated + - 73685 + - child0 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/switchports/{id}/': + delete: + operationId: deleteIPAM_switchports + summary: Delete switch port + description: >- + This API is used to delete the switch port with the switch port id + supplied as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + type: integer + description: Switch port id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/switch_templates/: + get: + operationId: getIPAM_switch_templates + description: Get method retrieves all switch templates + summary: Get all switch templates + tags: + - IPAM + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + switch_type: + example: Modular/Distributed (Single) + template_id: + example: 2 + template_name: + example: m3 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/switches/: + post: + operationId: postIPAM_switches + description: >- + Create or update using Switch Templates. Required parameters: +
                    • device OR device_id
                    • switch_template_id
                    • + summary: Add switch/switch ports w/ templates + tags: + - IPAM + parameters: + - name: device + type: string + in: formData + description: >- + Name of new or existing device. Existing device must be a network + switch. If stacked switches, must be of type 'cluster' + - name: device_id + type: string + in: formData + description: >- + ID of existing device. Existing device must be a network switch. IF + stacked switches, must be of type 'cluster' + - $ref: '#/parameters/switch_template_id' + - $ref: '#/parameters/devices' + - $ref: '#/parameters/device_ids' + - $ref: '#/parameters/assets' + - $ref: '#/parameters/asset_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - switchports successfully added '337' oxctrouter + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/tap_ports/: + get: + operationId: getIPAM_tap_ports + description: Get method retrieves all TAP ports + summary: Get TAP ports + tags: + - IPAM + parameters: + - name: id + in: query + description: id of the tap port + type: integer + - name: tap_id + in: query + type: integer + description: TAP ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + tap_ports: + type: array + items: + $ref: '#/definitions/IPAMtap_ports' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_tap_ports + description: >- + Update TAP ports. Required parameters:
                      • id OR + name
                      • + summary: Update TAP port. + tags: + - IPAM + parameters: + - name: id + in: formData + description: Tap Port ID + type: integer + - name: name + in: formData + type: string + description: Name of Tap Port + - $ref: '#/parameters/label_post' + - $ref: '#/parameters/monitor_direction' + - $ref: '#/parameters/monitor_port_1_id' + - $ref: '#/parameters/monitor_port_2_id' + - $ref: '#/parameters/mirror_port_id' + - $ref: '#/parameters/netport_id' + - $ref: '#/parameters/patch_panel_port_id' + - $ref: '#/parameters/port_capability' + - $ref: '#/parameters/port_to_from_id' + - name: port_type + type: string + description: 'Port Type name - RJ45, RJ11, Fiber SC, Fiber FC' + in: formData + - $ref: '#/parameters/port_type_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - TAP Port added/updated + - 7 + - 1-Port 1 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/tap_module_models/: + get: + operationId: getIPAM_tap_module_models + description: Get method retrieves all TAP module models + summary: Get TAP Module Models + tags: + - IPAM + parameters: + - name: id + in: query + description: ID of Tap module model + type: integer + - name: name + in: query + type: string + description: Name of Tap module model + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + offset: + example: 0 + limit: + example: 1000 + tap_module_models: + type: array + items: + type: object + properties: + ports: + type: array + items: + type: object + properties: + id: + example: 1 + single_strand: + example: false + port_capability: + example: Device + port_to_from: + example: Next + label: + example: X + port_type: + example: Fiber LC + tap_module_model_id: + example: 1 + tap_module_model: + example: r1 + monitor_direction: + example: 'null' + port_type_id: + example: 3 + id: + example: 1 + name: + example: Module 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_tap_module_models + description: >- + Create/update TAP module models + summary: Create/update TAP Module Model + tags: + - IPAM + parameters: + - name: name + in: formData + type: string + description: Name of Tap module model + required: true + - name: id + in: formData + type: integer + description: ID of Tap module model. Used to update a Tap module model + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + type: array + items: + example: [TAP Module Model added/updated, 1, Module 1, true, true] + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/tap_module_models/{id}/': + delete: + operationId: deleteIPAM_tap_module_models + summary: Delete + description: >- + This API is used to delete the TAP module models with the ID supplied as the + required argument + tags: + - IPAM + parameters: + - name: id + in: path + description: ID of Tap module model + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '89' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/tap_module_model_ports/: + get: + operationId: getIPAM_tap_module_model_ports + description: Get method retrieves all TAP module model ports + summary: Get TAP Module Model Ports + tags: + - IPAM + parameters: + - name: id + in: query + description: ID of Tap module model port + type: integer + - name: tap_module_model_id + in: query + type: integer + description: ID of Tap module model + - name: tap_module_model + in: query + type: string + description: Name of Tap module model + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 1000 + tap_module_model_ports: + type: array + items: + type: object + properties: + port_to_from: + example: Next + port_type_id: + example: 1 + port_type: + example: RJ45 + tap_module_model: + example: Port1 + monitor_direction: + example: 2nd to 1st (Above 2 Device Capable Port) + id: + example: 1 + port_capability: + example: Device + single_strand: + example: false + tap_module_model_id: + example: 1 + label: + example: newPort + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_tap_module_model_port + description: >- + Create/update TAP module model port + summary: Create/update TAP Module Model Port + tags: + - IPAM + parameters: + - name: id + in: formData + type: integer + description: ID of Tap module model port. Required if editing an existing tap module model port + - name: tap_module_model_id + in: formData + type: integer + description: ID of Tap module model. Required if creating a new Tap module model port. + - name: port_type + in: formData + type: string + description: Port Type. 'port_type' or 'port_type_id' is required if creating a new Tap module model port. + - name: port_type_id + in: formData + type: integer + description: Port Type ID. 'port_type' or 'port_type_id' is required if creating a new Tap module model port. + - name: label + in: formData + type: string + description: Label of Tap Module model port + - name: single_strand + in: formData + type: string + enum: + - 'yes' + - 'no' + description: Is there a single strand between ports + - name: port_capability + in: formData + type: string + description: To determine if the capability of the port is with a 'Device' or 'Monitor' + enum: + - 'Device' + - 'Monitor' + - name: port_to_from + in: formData + type: string + description: To determine what position the port is in relation to another. + enum: + - 'Next' + - 'Above' + - name: monitor_direction + in: formData + type: string + description: >- + To determine the direction of the monitor. Options are as follows: + 1 = 1st to 2nd (Above 2 Device Capable Port) + 2 = 2nd to 1st (Above 2 Device Capable Port) + 3 = both ways (Above 2 Device Ports) + 4 = single strands each 1 way (Above 2 Device Ports) + enum: + - 1 + - 2 + - 3 + - 4 + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + type: array + items: + example: [TAP Module Model Port added/updated, 1, Port 1, true, true] + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/dns/records/: + get: + operationId: getIPAM_dns_records + description: Get method retrieves all DNS records. (Added in v6.5.0) + summary: Get DNS records + tags: + - IPAM + parameters: + - name: domain + type: string + description: name of the domain + in: query + - name: type + type: string + description: type of the record. e.g. AAAA + in: query + - name: content_contains + type: string + in: query + description: Returns all records where the content contains the parameter value. + - $ref: '#/parameters/name' + - $ref: '#/parameters/nameserver' + - $ref: '#/parameters/content' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + - $ref: '#/parameters/dns_zone' + - $ref: '#/parameters/ttl' + - $ref: '#/parameters/change_date' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 39 + records: + type: array + items: + $ref: '#/definitions/IPMdns_records' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_dns_records + description: Create/update DNS records + summary: Create DNS record + tags: + - IPAM + parameters: + - $ref: '#/parameters/domain' + - name: type + type: string + required: true + description: Type of record + in: formData + enum: + - SOA + - NS + - MX + - A + - AAAA + - CNAME + - PTR + - TXT + - SPF + - SRV + - CERT + - DNSKEY + - DS + - KEY + - NSEC + - RRSIG + - HINFO + - LOC + - NAPTR + - RP + - AFSDB + - SSHFP + - name: nameserver + type: string + description: >- + If you have overlapping domain names, this is required to + differentiate between the two + in: formData + - name: name + type: string + description: Record value (e.g. www) use @ for blank. + in: formData + - name: content + type: string + description: >- + Content of certificate. This parameter is used to find existing certificates to update. + If a certificate is found, you can use new_content to replace existing content. + If no certificate is found, this value will be used to create a new certificate. + Leading and trailing white spaces are ignored from this parameter. + in: formData + - name: content_raw + type: string + in: formData + description: >- + Similar to content parameter, but leading and trailing white spaces are not ignored. + This parameter is ignored if you use content parameter as well. + - name: new_content + type: string + in: formData + description: >- + This parameter is used to update the content of the certificate. + Any value provided here will always overwrite the existing content regardless of value passed in content or content_raw. + So, you can use content parameter for searching and new_content for updating. Leading and trailing white spaces are ignored from this parameter + - name: new_content_raw + type: string + in: formData + description: >- + Similar to new_content parameter, but leading and trailing white spaces are not ignored. + This parameter is ignored if you use new_content parameter as well. + - $ref: '#/parameters/prio' + - name: ttl + type: string + description: TTL Value + in: formData + - name: tags + in: formData + description: set tags for record + type: string + - name: tags_remove + type: string + description: remove tags for record + in: formData + - name: change_date + type: integer + in: formData + description: How many days it takes for DNS change to occur + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - DNS record added/updated successfully '37' oxrouter + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/dns/records/{id}/': + delete: + operationId: deleteIPAM_dns_records + summary: Delete DNS record + description: >- + This API is used to delete the DNS record with the DNS Record ID + supplied as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + description: DNS Record id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/dns_records/: + put: + operationId: putIPAMCustom_Fielddns_records + description: Create/updated custom fields for DNS records + summary: DNS record custom fields + tags: + - IPAM + parameters: + - name: id + in: formData + description: D42 ID of the DNS record. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'd42Test field' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/dns/zones/: + get: + operationId: getIPAM__dns_zones + description: Retrieves DNS zones + summary: Get DNS zones + tags: + - IPAM + parameters: + - name: cloud_infra_id + type: integer + in: query + description: Cloud infrastructure ID. + - name: domain + type: string + in: query + description: Name of dns domain. + - name: id + type: integer + in: query + description: ID of DNS Zone + - name: nameserver + type: string + in: query + description: IP Address or hostname of name server + - name: tags + type: string + in: query + description: Filter by tags + - $ref: '#/parameters/tags_and' + - name: include_cols + type: string + in: query + description: Do not return all columns just the ones specified. + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 1000 + total_count: + example: 4 + offset: + example: 0 + dns_zones: + type: array + items: + type: object + properties: + nameserver: + example: AWS Route53 + cloud_infra_id: + example: 1 + name: + example: lab.device42.net + custom_fields: + example: [] + date_added: + example: "2021-08-04T20:17:40.103283Z" + id: + example: 3 + vrf_group_name: + example: AWS + notes: + example: "" + vendor_custom_fields: + type: object + properties: + Owner: + example: D42 + Name: + example: TestTag + date_updated: + example: "2021-08-18T19:24:32.660317Z" + tags: + example: [m2m, no] + vrf_group_id: + example: 12 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_dns_zones + description: Create/update DNS zones + summary: Create DNS zone + tags: + - IPAM + parameters: + - name: name + type: string + required: true + in: formData + description: Name of DNS zone + - name: nameserver + type: string + required: true + in: formData + description: IP Address/hostname of name server + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/vrf_group_post' + - $ref: '#/parameters/vrf_group_id_post' + - name: tags + type: string + description: Tags for grouping zone entries + in: formData + - name: tags_remove + type: string + description: remove tags from grouping zone entries + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + example: + - DNS Zone added/updated successfully + - 5 + - DNS_host + - true + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/dns/zones/{id}/': + delete: + operationId: deleteIPAM_dns_zones + summary: Delete DNS zone + description: >- + This API is used to delete the DNS zone with the DNS zone ID + supplied as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + description: DNS zone id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/dns_zone/: + put: + operationId: putIPAMCustom_Fielddns_zone + description: Create/update custom fields for DNS zone + summary: DNS zone custom fields + tags: + - IPAM + parameters: + - name: id + in: formData + description: D42 ID of the DNS zone. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'd42Test field' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.1/dns/zones/: + post: + operationId: postIPAM_dns_zones + description: Create/update DNS Zones + summary: Create DNS Zone + tags: + - IPAM + parameters: + - name: name + type: string + required: true + in: formData + description: Name of DNS zone + - name: nameserver + type: string + required: true + in: formData + description: IP Address or hostname of name server + - name: new_nameserver + type: string + in: formData + description: Use to create a dns zone with new nameserver + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/vrf_group_post' + - $ref: '#/parameters/vrf_group_id_post' + - name: tags + type: string + description: Tags for grouping zone entries + in: formData + - name: tags_remove + type: string + description: remove tags from grouping zone entries + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + example: + - DNS Zone added/updated successfully + - 5 + - DNS_host + - true + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/ipnat/: + get: + operationId: getIPAM_ipnat + description: Get method retrieves all IP NAT records + summary: Get all IP NAT records + tags: + - IPAM + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + ipnats: + type: array + items: + type: object + properties: + id: + example: 1 + ip_address_from: + example: 10.1.2.1 + ip_address_to: + example: 42.42.42.42 + name: + example: test + notes: + example: '' + two_way_relation: + example: 'False' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_ipnat + description: Create IP NAT + summary: Create IP NAT + tags: + - IPAM + parameters: + - name: name + required: true + description: Name of the NAT IP entry + in: formData + type: string + - $ref: '#/parameters/ip_address_from' + - $ref: '#/parameters/ip_address_from_end' + - $ref: '#/parameters/source_port_start' + - $ref: '#/parameters/source_port_end' + - $ref: '#/parameters/ip_address_to' + - $ref: '#/parameters/ip_address_to_end' + - $ref: '#/parameters/target_port_start' + - $ref: '#/parameters/target_port_end' + - $ref: '#/parameters/two_way_relation' + - $ref: '#/parameters/protocol' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/vrf_group_from' + - $ref: '#/parameters/vrf_group_id_from' + - $ref: '#/parameters/vrf_group_to' + - $ref: '#/parameters/vrf_group_id_to' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - IP Nat added.'1'OX Global NAT + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putIPAM_ipnat + description: Update IP NAT (Added in v7.0.0) + summary: Update IP NAT + tags: + - IPAM + parameters: + - name: id + in: formData + description: ID of the NAT entry - Required if not in the URL + type: string + required: true + - name: name + description: Name of the NAT IP entry + in: formData + type: string + - name: ip_address_from + description: The external IP address + type: string + in: formData + - name: ip_address_to + type: string + description: The internal IP address + in: formData + - $ref: '#/parameters/two_way_relation' + - $ref: '#/parameters/notes_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - IP Nat updated.'1'OX Global NAT + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/ipnat/{id}': + delete: + operationId: deleteIPAM_ipnat + description: This API is used to delete the IP NAT + summary: Delete IP NAT + tags: + - IPAM + parameters: + - name: id + in: path + description: Name of Id + required: true + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/appcomps/: + get: + operationId: getAppcomps + description: Get Application Components + summary: Get all + tags: + - Application Components + parameters: + - name: device_id + type: string + description: filter by id of device + in: query + - $ref: '#/parameters/device' + - name: name + type: string + in: query + description: Partial name to filter application components by + - name: resource_id + type: string + in: query + description: Filter by id of resource + - name: category_id + type: string + in: query + description: Filter by application category id + - name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example: custs_affected, depends_on, depends_on_ids, dependent, dependent_ids, custom_fields, depend_device_id, device, device_preferred_alias, services, category_id, category, tags + - name: category + type: string + in: query + description: Filter by application category + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + appcomps: + type: array + items: + properties: + appcomp_id: + example: 33 + appcomp_url: + example: /api/api/1.0/appcomps/33/ + name: + example: Device42 Production + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAppcomps + description: Create/Update application components + summary: Create/update + tags: + - Application Components + parameters: + - name: name + required: true + type: string + in: formData + description: unique name for component + - name: device + required: false + type: string + in: formData + description: device (name) that this component is dependent on + - $ref: '#/parameters/group_owner' + - $ref: '#/parameters/what' + - $ref: '#/parameters/depends_on' + - $ref: '#/parameters/dependents' + - $ref: '#/parameters/groups_affected' + - $ref: '#/parameters/device_reason' + - $ref: '#/parameters/depends_on_reasons' + - $ref: '#/parameters/appcomp_category' + - $ref: '#/parameters/appcomp_categoryid' + - name: tags_remove + type: string + in: formData + description: Remove tags from application component + - name: customer + type: string + in: formData + description: Customer name + - name: notes + type: string + in: formData + description: Any additional notes + - name: service_detail_ids + type: string + in: formData + description: CSV list of Service Instances in the application component + - name: software_detail_ids + type: string + in: formData + description: CSV list of Software In Use ids in the application component + - name: tags + type: string + in: formData + description: Comma-separated list of tags for the app component. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Application Component added or updated.'35'Corp Wiki + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/appcomps/{appcomp_id}/': + get: + operationId: getAppcompsAppcomp_id + description: Get application components by ID + summary: Get specific + tags: + - Application Components + parameters: + - name: appcomp_id + in: path + format: uuid + description: Appcomp id + type: string + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + appcomp_id: + example: 15 + custom_fields: + type: array + items: + $ref: '#/definitions/Appcomps_Custom_fields' + dependent: + example: >- + mobileapp.com - prodserver-001, retailsite.com - + prodserver-031 + depends_on: + example: Apache Tomcat Server + device: + example: USNHCTVMWPROD + group_owner: + example: US Infrastructure Operations + groups_affected: + example: '' + name: + example: VMWare Farm + notes: + example: '' + what: + example: '' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteAppcomps + summary: Delete + description: >- + This API is used to delete the application component with the + application component id supplied as the required argument + tags: + - Application Components + parameters: + - name: appcomp_id + in: path + description: IP Address id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/appcomp/: + put: + operationId: putCustom_FieldAppcomp + description: >- + Custom fields for application components. + Required parameters:
                        • id OR name
                        • key
                        • + summary: Custom fields + tags: + - Application Components + parameters: + - name: id + description: ID of application component + type: string + in: formData + - name: name + description: name of application component + in: formData + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/show_on_chart' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated '35' Corp Wiki + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/appcomp_templates/': + get: + operationId: getAppCompTemplate + summary: Get templates + description: Get all application component templates + tags: + - Application Components + parameters: + - name: id + type: string + in: formData + description: Filter by Application component template ID. + - name: name + type: string + in: formData + description: Filter by Application component template name. + - name: enabled + type: string + in: formData + enum: + - "yes" + - "no" + description: Filter by the status application component template - yes/no + - name: rule_type + type: string + in: formData + enum: + - "Windows" + - "*Nix" + description: Filter by Target environment of the template.
                          Windows | *Nix + - name: rule_type_id + type: number + in: formData + enum: + - 0 + - 1 + description: Filter by rule type id + - name: service_id + type: string + in: formData + description: Filter by ID of the associated service. + - name: service_listening_port + type: string + in: formData + description: Filter the services listening on this port. + - name: app_name_pattern + type: string + in: formData + description: Filter by name pattern. Pattern can contain the following variables:
                          %(device_name)s (this variable is required), %(discovered_listening_ip)s, %(listening_port)s, %(app_template_name)s. When match_type is Regular Expression, up to 4 more variables are available. %(regex_name)s represents full string match, %(regex_name1)s, %(regex_name2)s, %(regex_name3)s - represent first three group matches (if available). + - name: related_services_listening_port + type: string + in: formData + description: Filter Related services listening on this port. + - name: config_file_location + type: string + in: formData + description: Filter by config file location + - name: traverse_subdirectories + type: string + in: formData + enum: + - "yes" + - "no" + description: Options yes/no + - name: filename_filter + type: string + in: formData + description: Filter by File name. + - name: application_category_id + type: string + in: formData + description: Filter by Application component category id. + - name: application_category_name + type: string + in: formData + enum: + - "Application Layer" + - "Database" + - "Load Balancer" + - "Other" + - "Web Server" + description: Filter by Application component category name. + - name: what + type: string + in: formData + description: What is impacted by the Application? + - name: customer_id + type: string + in: formData + description: Filter by ID of the responsible customer or department for the application. + - name: customer + type: string + in: formData + description: Filter by Name of the responsible customer or department for the application. + - name: last_changed_lt + type: string + in: query + description: Filter by last changed date less than (YYYY-MM-DD) + - name: last_changed_gt + type: string + in: query + description: Filter by last changed date greater than (YYYY-MM-DD) + - name: service_cmd_arg_match + type: string + in: formData + description: Filter service instances on Path Args values with provided value. Value can either be text or regular expression, based on match_type value. + - name: tags + type: string + in: formData + description: Filter by tags + - name: match_type + type: string + in: formData + enum: + - "Text" + - "Regular Expression" + description: Filter by type of match of command argument text.
                          Text | Regular Expression + - name: match_type_id + type: number + in: formData + enum: + - 0 + - 1 + description: Filter by match type id.
                          0 for Text | 1 for Regular Expression + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + app_component_templates: + type: array + items: + properties: + traverse_subdirectories: + example: yes + config_file_location: + example: /opt/atlassian/jira/conf/ + id: + example: 13 + application_category_id: + example: 2 + what: + example: Services + rule_type_id: + example: 1 + rule_type: + example: Windows + application_category_name: + example: Application Layer + related_services_ids: + example: 55, + service_listening_port: + example: 8080 + app_name_pattern: + example: "%(device_name)s - %(app_template_name)s" + customer: + example: ABC LLC + name: + example: App-Comp-Template-T2 + enabled: + example: yes + service_cmd_arg_match: + example: service + match_type: + example: Text + match_type_id: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAppCompTemplate + summary: Create/update template + description: Create/update an application component template + tags: + - Application Components + parameters: + - name: id + type: integer + in: formData + description: Application component template ID. Leave blank and provide a name to create a new template.
                          Use ID to update an existing template. + - name: name + type: string + in: formData + required: true + description: Application component template name. + - name: enabled + type: string + in: formData + enum: + - "yes" + - "no" + description: Enable the application component template - yes/no. + - name: rule_type + type: string + in: formData + enum: + - "Windows" + - "*Nix" + description: Target environment for the template.
                          Windows | *Nix
                          Provide either rule_type or rule_type_id. + - name: rule_type_id + type: number + in: formData + enum: + - 0 + - 1 + description: Target environment for the template.
                          0 - Windows | 1 - *Nix
                          Provide either rule_type or rule_type_id. + - name: service_id + type: integer + in: formData + description: ID of the associated service used by the template to create the app component. Provide either service_id or service. + - name: service + type: string + in: formData + description: Name of the associated service used by the template to create the app component. Provide either service_id or service. + - name: service_listening_port + type: string + in: formData + description: Find only services listening on this port. + - name: app_name_pattern + type: string + in: formData + description: Pattern can contain the following variables:
                          %(device_name)s (this variable is required), %(discovered_listening_ip)s, %(listening_port)s, %(app_template_name)s, %(regex_name)s, %(regex_name1)s, %(regex_name2)s, %(regex_name3)s. Regex variables will only be available if match_type is Regular Expression. regex_name will represent full match, regex_name1, regex_name2, regex_name3 will represent first 3 group matches (if available). + - name: related_services_listening_port + type: string + in: formData + description: Related services listening on this port. + - name: config_file_location + type: string + in: formData + description: Location to start search for configuration files based on pattern. + - name: traverse_subdirectories + type: string + in: formData + enum: + - "yes" + - "no" + description: Option to determine if discovery should traverse subdirectories when searching for configuration files. + - name: filename_filter + type: string + in: formData + description: File name pattern to use while searching for configuration files. + - name: application_category + type: string + in: formData + enum: + - "Application Layer" + - "Database" + - "Load Balancer" + - "Other" + - "Web Server" + description: Application component category. Provide either application_category or application_category_id. + - name: application_category_id + type: number + in: formData + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + description: Application component category id.
                          1 - Database | 2 - Application Layer | 3 - Web Server | 4 - Load Balancer | 5 - Other
                          Provide either application_category or application_category_id. + - name: customer_id + type: integer + in: formData + description: ID of the customer or department responsible for the application. Provide either customer_id or customer. + - name: customer + type: string + in: formData + description: Name of the customer or department responsible for the application. Provide either customer_id or customer. + - name: what + type: string + in: formData + description: What is impacted by the application? + - name: tags + type: string + in: formData + description: Comma-separated list of tags for the application template. + - name: tags_remove + type: string + in: formData + description: Comma-separated list of tags to remove from the application template. + - name: related_services_ids + type: string + in: formData + description: Comma-separated list of IDs of related services. + - name: related_services_ids_remove + type: string + in: formData + description: Comma-separated list of related service IDs to remove. + - name: related_software_ids + type: string + in: formData + description: Comma-separated list of IDs of related software. + - name: related_software_ids_remove + type: string + in: formData + description: Comma-separated list of related software IDs to remove. + - name: service_cmd_arg_match + type: string + in: formData + description: You can either use text matching or regular expression matching (regex). For text matching, only services containing the provided Command Argument text in path args will be matched. For regex matching, provided expression will be applied to path args. Only Python Regular Expression syntax is supported. When using regex, up to 4 new name variables will be available. regex_name will represent full match, regex_name1, regex_name2, regex_name3 will represent first 3 group matches (if available). Type of search will depend on match_type attribute. + - name: match_type + type: string + in: formData + enum: + - "Text" + - "Regular Expression" + description: Type of match of command argument text.
                          Text | Regular Expression
                          Provide either match_type or match_type_id. + - name: match_type_id + type: number + in: formData + enum: + - 0 + - 1 + description: ID of type of match of command argument text.
                          0 - Text | 1 - Regular Expression
                          Provide either match_type or match_type_id. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Application Component Template added or updated. App-Comp_Template-3 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/appcomp_templates/{id}/': + delete: + operationId: deleteAppCompTemplate + summary: Delete template + description: >- + This API is used to delete an application component template with the + template ID supplied as the required argument + tags: + - Application Components + parameters: + - name: id + in: path + description: D42 ID of the application component template. + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '4' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/app_group_calc_template/: + get: + operationId: getappgroupcalctemplate + description: This call will get all Application Group Calculation Templates + summary: Get all AG Calculation Templates + tags: + - Application Groups + parameters: + - name: name + type: string + in: query + description: Full or partial name of Application Group Calculation Templates + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 1 + limit: + example: 1000 + templates: + type: array + items: + $ref: '#/definitions/AppGroupCalcTemplateGet' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postappgroupcalctemplate + description: This call creates or updates an Application Group Calculation Templates + summary: Create/update Calculation Template + tags: + - Application Groups + parameters: + - in: body + name: body + description: Application Group Calculation Templates to create + required: true + schema: + $ref: '#/definitions/AppGroupCalcTemplate' + + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Application Group Calculation Logic Template added/updated + - 11 + - AG Template + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/app_group_calc_template/{id}/: + get: + operationId: getappgroupcalctemplate_by_id + description: This call will get a Application Group Calculation Templates by ID + summary: Get a single Calculation Template + tags: + - Application Groups + parameters: + - name: id + type: integer + in: path + description: Application Group Calculation Template id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/AppGroupCalcTemplateGet' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteappgroupcalctemplate_by_id + summary: Delete Calculation Template + description: >- + This API is used to delete the Application Group Calculation Template with the template id supplied as + the required argument + tags: + - Application Groups + parameters: + - name: id + type: integer + in: path + description: Application Group Calculation Template id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/application_group/{id}/items: + get: + operationId: getappgroupitems + description: This call will get the items associated with the provided Application Group ID + summary: Get Application Group items + tags: + - Application Groups + parameters: + - name: id + type: integer + in: path + required: true + description: ID of the Application Group + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + devices: + type: object + $ref: '#/definitions/groupItemDevice' + resources: + type: object + $ref: '#/definitions/groupItemResource' + appcomponents: + type: object + $ref: '#/definitions/groupItemappcomponents' + services: + type: object + $ref: '#/definitions/groupItemServices' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/app_group_calc_rule/: + get: + operationId: getappgroupcalcrule + description: This call will get all Application Group Calculation Rules + summary: Get all Application Group Calculation Rules + tags: + - Application Groups + parameters: + - name: name + type: string + in: query + description: Full or partial name of Application Group Calculation Rules + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 1 + limit: + example: 1000 + rules: + type: array + items: + $ref: '#/definitions/AppGroupCalcRuleGet' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postappgroupcalcrule + description: This call creates or updates an Application Group Calculation Rule + summary: Create/update Application Goup Calculation Rule + tags: + - Application Groups + parameters: + - in: body + name: body + description: Application Group Calculation Rule to create/update + required: true + schema: + $ref: '#/definitions/AppGroupCalcRulePost' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Application Group Calculation Rule added/updated + - 11 + - AG Rule + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/app_group_calc_rule/{id}/: + get: + operationId: getappgroupcalcrule_by_id + description: This call will get a Application Group Calculation Rule by ID + summary: Get a single Application Group Calculation Rule + tags: + - Application Groups + parameters: + - name: id + type: integer + in: path + description: Application Group Calculation Rule id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/AppGroupCalcRuleGet' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteappgroupcalcrule_by_id + summary: Delete Application Group Calculation Rule + description: >- + This API is used to delete the Application Group Calculation Rule with the rule id supplied as + the required argument + tags: + - Application Groups + parameters: + - name: id + type: integer + in: path + description: Application Group Calculation Rule id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/businessapps/: + get: + operationId: getbusinessApps + description: This call will get all business services + summary: Get all + tags: + - Business Services + parameters: + - name: vendor_id + type: integer + in: query + description: ID of Vendor + - name: name + type: string + in: query + description: Name of Business Service + - name: device_id + type: integer + in: query + description: ID of Device + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 9 + limit: + example: 1000 + businessapps: + type: array + items: + properties: + service_level_id: + example: 'null' + technical_app_owner: + example: 'null' + custom_fields: + example: '[]' + app_type: + example: Commercial Off the Shelf (COTS) + businessapp_id: + example: '16' + description: + example: '' + is_contains_pii: + example: 'false' + criticality: + example: 'null' + tags: + example: [] + vendor_id: + example: 1 + name: + example: Online Store + app_type_id: + example: 2 + dr_time_goal: + example: 'null' + is_internet_accessible: + example: 'y' + service_level: + example: '2' + business_app_owner: + example: 'Sales' + business_app_owner_id: + example: '3' + groups: + example: '' + cust_owner_id: + example: 'null' + migration_group: + example: 'ATSC' + created: + example: '2022-01-19T15:34:55.055Z' + cust_owner: + example: 'null' + migration_group_id: + example: 'null' + dr_point_goal: + example: 'null' + last_changed: + example: '2020-04-30T14:33:27.177Z' + notes: + example: 'null' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postbusinessApps + description: This call creates or updates a business service + summary: Create/update + tags: + - Business Services + parameters: + - name: id + type: integer + in: formData + description: ID of an existing Business Service. Do not enter an ID if you are creating a new application. + - name: vendor_id + type: integer + in: formData + description: ID of Vendor + - name: name + type: string + in: formData + description: Name of the Business Service. REQUIRED to create a new application. + - name: app_type + type: string + in: formData + description: Business Service type. Number or string from the following list.
                          1. Commercial Off the Shelf (COTS)
                          2. COTS with Customization
                          3. Custom + - name: technical_app_owner + type: string + in: formData + description: End user designated as the technical app owner. Use the value 'd42null' to clear up the content of the field. + - name: business_app_owner + type: string + in: formData + description: End user designated as the business service owner. Use the value 'd42null' to clear up the content of the field. + - name: description + type: string + in: formData + description: Description of Business service. Use the value 'd42null' to clear up the content of the field. + - name: app_type_id + type: integer + in: formData + description: ID of the application type + - name: business_app_owner_id + type: integer + in: formData + description: Business service owner ID + - name: technical_app_owner_id + type: integer + in: formData + description: Technical application owner ID + - name: cust_owner_id + type: integer + in: formData + description: Customer owner ID + - name: service_level_id + type: integer + in: formData + description: D42 ID of service level name. + - name: criticality_id + type: integer + in: formData + description: Criticality ID + - name: migration_group_id + type: integer + in: formData + description: ID of migration group + - name: tags + type: string + in: formData + description: Comma-separated list of tags for the Business service. + - name: tags_remove + type: string + in: formData + description: Remove tags from Business service + - name: dr_point_goal + type: string + in: formData + description: Disaster Recovery (DR) recovery point objective.
                          Please use the format 1w 2d 3h 4m 5s to denote 1 week, 2 days, 3 hours, 4 minutes, and 5 seconds. Individual terms are optional, and numbers must be integers. Use the value 'd42null' to clear up the content of the field. + - name: dr_time_goal + type: string + in: formData + description: Disaster Recovery (DR) recovery time objective.
                          Please use the format 1w 2d 3h 4m 5s to denote 1 week, 2 days, 3 hours, 4 minutes, and 5 seconds. Individual terms are optional, and numbers must be integers. Use the value 'd42null' to clear up the content of the field. + - name: cust_owner + type: string + in: formData + description: Customer owner name. Use the value 'd42null' to clear up the content of the field. + - name: service_level + type: string + in: formData + description: Service Level name. Use the value 'd42null' to clear up the content of the field. + - name: is_contains_pii + type: string + in: formData + enum: + - 'True' + - 'False' + description: Whether the application contains Personally Identifiable Information. + - name: is_internet_accessible + type: string + in: formData + enum: + - 'True' + - 'False' + description: Whether the application has internet access. + - name: migration_group + type: string + in: formData + description: Business service Migration Group name. Use the value 'd42null' to clear up the content of the field. + - name: criticality + type: string + in: formData + description: Business service Critically name. Use the value 'd42null' to clear up the content of the field. + - name: notes + type: string + in: formData + description: Any additional notes for the application. Use the value 'd42null' to clear up the content of the field. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - business_app added/updated + - 11 + - Sales Lead Gen + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/businessapps/{id}/: + get: + operationId: getbusinessApps_id + description: This call will get a business service by ID + summary: Get specific + tags: + - Business Services + parameters: + - name: id + in: path + description: Business Service ID. + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 9 + limit: + example: 1000 + businessapps: + type: array + items: + properties: + technical_app_owner: + example: 'null' + custom_fields: + example: '[]' + app_type: + example: Commercial Off the Shelf (COTS) + is_contains_pii: + example: 'null' + name: + example: Online Store + dr_time_goal: + example: 'null' + is_internet_accessible: + example: 'y' + service_level: + example: '2' + business_app_owner: + example: 'Sales' + migration_group: + example: 'ATSC' + last_changed: + example: '2020-04-30T14:33:27.177Z' + notes: + example: 'null' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deletebusinessApps + summary: Delete + description: >- + This API is used to delete the business service with the businessapp id supplied as + the required argument + tags: + - Business Services + parameters: + - name: id + type: integer + in: path + description: businessapp id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/businessapp/: + put: + operationId: putCustom_FieldbusinessApp + description: >- + Create or update custom fields for a Business Service. Required parameters -
                          • id OR name
                          • key
                          • + summary: Custom fields + tags: + - Business Services + parameters: + - name: id + description: ID of the Business Service + type: string + in: formData + - name: name + description: Name of the Business Service + in: formData + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/show_on_chart' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'App update target' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/businessapps/id/{businessservice-id}/attachments/': + get: + operationId: getAllBusinessAppAttachments + summary: Get attachments by business service ID + description: >- + Retrieve all file attachments for a specific business service using business service id.
                            + Returns a zip file of all the attachments associated with the business service with the specified ID in URL.
                            + Note that this implementation of Swagger does not support file download - use another mechanism such as CURL.
                            +
                            cURL example:
                            + curl -X GET \
                            + URL/api/1.0/businessapps/id/3/attachments \
                            + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI=' + tags: + - Business Services + parameters: + - name: businessservice-id + type: integer + in: formData + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + file_download: + example: attachments_archive.6646-2020-01-24.zip + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: uploadBusinessappAttachments + summary: Upload a business service attachment + description: >- + Uploads a file attachment for a specific business service using business service id and a selected file.
                            + Note that this implementation of Swagger does not support file upload - use another mechanism such as CURL.
                            +
                            cURL example:
                            + curl -X POST \
                            + URL/api/1.0/businessapps/id/3/attachments/17 \
                            + -H 'Accept-Encoding: gzip, deflate' \
                            + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI='
                            + -H 'Content-Type: multipart/form-data; boundary=--------------------------216746989913126372322897' \
                            + -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
                            + -F 'name=@/C:/path/to/attachment/testpdf.pdf' \
                            + -F 'file_attachment_details={"testpdf.pdf":"hello world! I'\''m a pdf description!"}' + tags: + - Business Services + parameters: + - name: businessservice-id + type: integer + in: formData + required: true + - name: name + type: string + in: formData + required: True + description: >- + The name of the file attachment you select for upload.
                            + This filename is also required for the file_attachment_details parameter. + - name: file_attachment_details + type: string + in: formData + required: true + description: >- + The name of the file to upload and a description.
                            Example: {"TEST_Attachment-3.txt": "test attachment-3"} + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + testpdf.pdf: + type: object + properties: + success: + type: boolean + example: true + attachment_id: + type: integer + example: 17 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/businessapps/id/{businessservice-id}/attachments/{attachment_id}/': + get: + operationId: getaBusinessAppAttachment + summary: Get a business service attachment + description: >- + Retrieves a specific file attachment for a specific business service using business service id and attachment id.
                            + Note that this implementation of Swagger does not support file download - use another mechanism such as CURL.
                            +
                            cURL example:
                            + curl -X GET \
                            + URL/api/1.0/businessapps/id/3/attachments/17 \
                            + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI=' + tags: + - Business Services + parameters: + - name: businessservice-id + type: integer + in: formData + required: true + - name: attachment_id + type: integer + in: formData + required: true + description: ID of the attachment to get. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + file_download: + example: attachment_1.txt + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/businessapps/id/{businessservice-id}/attachments/{id}/': + delete: + operationId: deleteBusinessAppAttachment + summary: Delete business service attachment + description: Delete a file attachment for a specific business service using business service ID and the attachment ID + tags: + - Business Services + parameters: + - name: businessservice-id + type: integer + in: formData + required: true + - name: id + type: integer + in: path + required: true + description: ID of the attachment to delete. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + attachment_id: + example: 34 + success: + example: 'true' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/businessapps/elements/{uuid}/: + get: + operationId: getbusinessAppsElements_uuid + description: This call will get a business service element + summary: Get an element + tags: + - Business Services + parameters: + - name: uuid + type: string + in: path + required: true + description: The UUID of the single element you are looking for. + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/businessapps_element' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: businessAppsElements_uuid + description: This call will delete a business service element + summary: Delete an element + tags: + - Business Services + parameters: + - name: uuid + type: string + in: path + required: true + description: The UUID of the single element to delete. + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/businessapps_element_delete' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/businessapps/elements/: + post: + operationId: postbusinessAppsElements + description: >- + Add elements (devices, resources, or appplication components) to a business service. +

                            To add a single element (device) to a Business Service, use the
                            + device_id OR device_name parameters. ID will be used before the name. +

                            To add multiple elements (devices) to a Business Service, use the
                            + device_ids OR device_names parameters. ID will be used before the name +

                            To add a single element (resource) to a Business Service, use the
                            + resource_id, resource_name, OR resource_identifier parameters. ID will be used before the name and identifier. +

                            To add multiple elements (resources) to a Business Service, use the
                            + resource_ids OR resource_names parameters. ID will be used before the name +

                            To add a single element (application component) to a Business Service, use the
                            + appcomp_id OR appcomp_name parameters. ID will be used before the name. +

                            To add multiple elements (application component) to a Business Service, use the
                            + appcomp_ids OR appcomp_names parameters. ID will be used before the name + summary: Add element + tags: + - Business Services + parameters: + - name: businessapp_id + required: truw + type: integer + in: formData + description: The ID of an existing Business Service to add elements (devices) to. + - name: device_id + type: integer + in: formData + description: ID of an element (device) to add to the business service. + - name: device_name + type: string + in: formData + description: Name of an element (device) to add to the business service. + - name: device_ids + type: string + in: formData + description: CSV list of the IDs of elements (devices) to add to the business service. + - name: device_names + type: string + in: formData + description: CSV list of names of the elements (devices) to add to the business service. + - name: resource_id + type: integer + in: formData + description: ID of an element (resource) to add to the business service. + - name: resource_name + type: string + in: formData + description: Name of an element (resource) to add to the business service. + - name: resource_identifier + type: string + in: formData + description: Identifier of an element (resource) to add to the business service. + - name: resource_ids + type: string + in: formData + description: CSV list of the IDs of elements (resources) to add to the business service. + - name: resource_names + type: string + in: formData + description: CSV list of names of the elements (resources) to add to the business service. + - name: resource_identifiers + type: string + in: formData + description: CSV list of identifiers of the elements (resources) to add to the business service. + - name: appcomp_id + type: integer + in: formData + description: ID of an element (application component) to add to the business service. + - name: appcomp_name + type: string + in: formData + description: Name of an element (application component) to add to the business service. + - name: appcomp_ids + type: string + in: formData + description: CSV list of the IDs of elements (application components) to add to the business service. + - name: appcomp_names + type: string + in: formData + description: CSV list of names of the elements (application components) to add to the business service. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - element(s) added to business_app CRM App + - 11 + - 1234, 5678 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deletebusinessAppsElements + summary: Delete element + description: >- + This API is used to delete the business service element + tags: + - Business Services + parameters: + - name: businessapp_id + type: integer + description: business service id + in: query + required: true + - name: device_id + type: integer + description: device id of business element + in: query + - name: resource_id + type: integer + description: resource id of business element + in: query + - name: appcomp_id + type: integer + description: appcomp id of business element + in: query + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + uuid: + example: '03b30f77-1638-4d34-911e-5c63da8de9d9' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + get: + operationId: getbusinessAppsElements + description: This call will get business service elements + summary: Get elements + tags: + - Business Services + parameters: + - name: name + type: string + in: query + description: The name (case-insensitive) of the element to seach for. + - name: businessapp_id + type: integer + in: query + description: The ID of the business service the element belongs to. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + businessapp_elements: + type: array + items: + properties: + businessapp_id: + example: 2 + businessapp_element_uuid: + example: '344316e2-409d-4bbf-b994-f4e3f152947a' + device_id: + example: 5 + name: + example: 'test device' + orphaned: + example: 'no' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/businessapps/connections/{uuid}/: + get: + operationId: getbusinessAppsConnections_uuid + description: This call will get a business service connection + summary: Get a connection + tags: + - Business Services + parameters: + - name: uuid + type: string + in: path + required: true + description: The UUID of the single connection you are looking for. + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/businessapps_connection' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/businessapps/connections/: + get: + operationId: getbusinessAppsConnections + description: This call will get business service connections + summary: Get connections + tags: + - Business Services + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + businessapp_connections: + type: array + items: + properties: + businessapp_connection_uuid: + example: '344316e2-409d-4bbf-b994-f4e3f152947a' + from_businessapp_element_uuid: + example: '344316e2-409d-4bbf-b994-f4e3f152947b' + to_businessapp_element_uuid: + example: '344316e2-409d-4bbf-b994-f4e3f152947c' + type: + example: 'test' + labels: + example: 'test' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/services/: + get: + operationId: getServices + description: Get services + summary: Get + tags: + - Services + parameters: + - name: service_id + in: query + description: D42 ID of the service + type: string + required: true + - $ref: '#/parameters/name' + - $ref: '#/parameters/category' + - $ref: '#/parameters/vendor' + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + services: + type: array + items: + $ref: '#/definitions/Services' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postServices + description: Create/update services + summary: Create/update + tags: + - Services + parameters: + - $ref: '#/parameters/name' + - $ref: '#/parameters/display_name' + - $ref: '#/parameters/category' + - $ref: '#/parameters/service_type' + - $ref: '#/parameters/vendor_post' + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/notes' + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service added/updated + - 2 + - DisplayLinkManager + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/services/{id}/': + delete: + operationId: deleteServices + summary: Delete + description: >- + This API is used to delete the service with the service id supplied as + the required argument. Note: You will only be able to delete the service + if the supplied username has the correct permissions + tags: + - Services + parameters: + - name: id + in: path + format: uuid + description: service id + type: string + required: true + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/service_details/: + get: + operationId: getService_details + description: Get service details + summary: Get service details + tags: + - Services + parameters: + - $ref: '#/parameters/device_id' + - $ref: '#/parameters/device' + - $ref: '#/parameters/service_id' + - $ref: '#/parameters/service_detail_id' + - $ref: '#/parameters/user_id' + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: '543' + service_details: + type: array + items: + $ref: '#/definitions/Service_details' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postService_details + description: Create/update service details + summary: Create/update service details + tags: + - Services + parameters: + - $ref: '#/parameters/service_name' + - $ref: '#/parameters/service_display_name' + - $ref: '#/parameters/vendor_post' + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/service_type' + - $ref: '#/parameters/category' + - $ref: '#/parameters/startmode' + - $ref: '#/parameters/state' + - $ref: '#/parameters/device' + - $ref: '#/parameters/user' + - $ref: '#/parameters/appcomp' + - $ref: '#/parameters/install_date' + - $ref: '#/parameters/status' + - $ref: '#/parameters/at_logon' + - $ref: '#/parameters/at_startup' + - $ref: '#/parameters/event_based' + - $ref: '#/parameters/idle_time' + - $ref: '#/parameters/other_trigger' + - $ref: '#/parameters/other_type' + - $ref: '#/parameters/minutes' + - $ref: '#/parameters/hours' + - $ref: '#/parameters/days' + - $ref: '#/parameters/weeks' + - $ref: '#/parameters/day_of_month' + - $ref: '#/parameters/month_of_year' + - $ref: '#/parameters/day_of_week' + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service_detail added/updated + - 1 + - Reddit Tracker + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/service_detail/{id}/': + delete: + operationId: deleteService_details + summary: Delete service details + description: >- + This API is used to delete the service details with the service details id + supplied as the required argument. Note: You will only be able to delete + the service if the supplied username has the correct permissions + tags: + - Services + parameters: + - name: id + in: path + format: uuid + description: service detail id + type: string + required: true + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/service_ports/: + get: + operationId: getService_ports + description: Get service ports + summary: Get service ports + tags: + - Services + parameters: + - name: id + in: query + description: filter by id of the service port + type: string + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: '565' + service_ports: + type: array + items: + $ref: '#/definitions/Service_ports' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postService_ports + description: Create/update service ports + summary: Create/update service port + tags: + - Services + parameters: + - $ref: '#/parameters/port' + - $ref: '#/parameters/device_name' + - $ref: '#/parameters/listening_ip' + - $ref: '#/parameters/description' + - $ref: '#/parameters/discovered_service' + - $ref: '#/parameters/discovered_process' + - $ref: '#/parameters/mapped_service' + - $ref: '#/parameters/remote_ips' + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service port added/updated + - 1 + - '0.0.0.0:80' + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/service_ports/{id}/': + delete: + operationId: deleteService_ports + summary: Delete service port + description: >- + This API is used to delete the service port with the service port id + supplied as the required argument. Note: You will only be able to delete + the service port if the supplied username has the correct permissions + tags: + - Services + parameters: + - name: id + in: path + format: uuid + description: service port id + type: string + required: true + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/listener_connection_stats/: + get: + operationId: getListener_connection_stats + description: Get listener connection statistics + summary: Get listener connection statistics + tags: + - Services + parameters: + - $ref: '#/parameters/listener_device_name' + - $ref: '#/parameters/port' + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + client_ips: + example: 76.127.207.96 + client_stats: + type: array + items: + $ref: '#/definitions/Client_stats' + description: + example: '' + id: + example: 2207 + listener_device_id: + example: 2440 + listener_device_name: + example: prod-retail-webfrontend + listener_service: + example: sshd + listening_ip: + example: 0.0.0.0 + port: + example: 22 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/network_shares/: + get: + operationId: getNetwork_shares + description: Get network shares + summary: Get network shares + tags: + - Services + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + networkshare_details: + type: array + items: + $ref: '#/definitions/Networkshare_details' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/listener_connection_stats/: + get: + operationId: getListenerConnectionStats + summary: Get listener connection statistics + description: Retrieve all listener connection statistics + tags: + - Services + parameters: + - name: port + in: query + description: child is optional assuming you have a parent created (see examples) + type: string + - name: device_name + in: query + description: the name of the device + type: string + - $ref: '#/parameters/listener_device_name' + - $ref: '#/parameters/discovered_service' + - $ref: '#/parameters/mapped_service' + - name: service_instance_id + in: query + description: filter by id of the service instance in use + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Listener_connection_stats' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/listener_connection_stats/{id}': + get: + operationId: getListenerConnectionStatsByID + summary: Get listener connection statistics by ID + description: Retrieve listener connection statistics by service port ID + tags: + - Services + parameters: + - name: id + in: path + description: service port id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Listener_connection_stats_id' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/scheduled_tasks/: + get: + operationId: getScheduledTasks + summary: Get scheduled tasks + description: Retreive information about all scheduled tasks + tags: + - Services + parameters: + - name: id + in: query + description: filter results by Service schedule ID + type: integer + - name: device_id + in: query + description: device id + type: integer + - name: device + in: query + description: device + type: string + - name: user_id + in: query + description: user id + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 2 + service_schedules: + $ref: '#/definitions/Service_schedules' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postScheduledTasks + description: >- + Create/update scheduled task. 3 parameters are required:

                            • schedule_name + OR service_name OR name
                            • device_id OR + device
                            • caption
                            • + summary: Create/update scheduled task + tags: + - Services + parameters: + - name: schedule_id + in: formData + description: schedule id + type: integer + - name: service_detail_id + in: formData + description: filter by id of the service in use + type: integer + - name: schedule_name + in: formData + description: schedule name + type: string + - name: service_name + in: formData + description: The executable name of the service + type: string + - name: name + in: formData + description: name + type: string + - name: device + in: formData + description: The device that this service runs on + type: string + - name: device_id + in: formData + description: The ID of the device that this service runs on + type: integer + - name: caption + in: formData + description: caption + type: string + required: true + - name: user_id + in: formData + description: end user id + type: string + - name: sched_description + in: formData + description: schedule description + type: string + - name: arguments + in: formData + description: arguments + type: string + - name: status + in: formData + description: status + type: string + - name: install_Date + in: formData + description: >- + (note capital D for schedules) only for schedule based services + where startmode = 'Scheduled' + type: string + - name: at_logon + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: at_startup + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: event_based + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: idle_time + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: other_trigger + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: other_type + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: minutes + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: hours + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: days + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: weeks + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: day_of_month + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: month_of_year + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: day_of_week + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - task schedule added/updated + - 8 + - task-0025 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/scheduled_tasks/{id}': + get: + operationId: getScheduledTasksByID + summary: Get scheduled task by ID + description: Retrieve scheduled task by service schedule ID + tags: + - Services + parameters: + - name: id + in: path + description: service schedule id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Service_schedule' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteScheduledTasksByID + summary: Delete scheduled task + description: >- + Used to delete the scheduled task with the service schedule ID as the + required argument. Note: You will only be able to delete the scheduled + task if the supplied username has the correct permissions + tags: + - Services + parameters: + - name: id + in: path + description: service schedule id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '2' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/services/: + get: + operationId: getServices2 + summary: Get all services + description: You can filter services by following parameters in the query string + tags: + - Services + parameters: + - name: id + in: query + description: D42 ID of the service + type: integer + - name: displayname + in: query + description: name of the service + type: string + - name: category + in: query + description: name of the category + type: string + - name: vendor + in: query + description: vendor name + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + services: + $ref: '#/definitions/Services' + total_count: + example: 2 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postServices2 + description: >- + Create/update service. Required parameters:
                              • name OR + display_name
                              • + summary: Create/update service + tags: + - Services + parameters: + - name: name + in: formData + description: name for service + type: string + - name: display_name + in: formData + description: 'if not provided, the name is used as display name' + type: string + - name: vendor + in: formData + description: Names of vendor + type: string + - name: description + in: formData + description: description of service + type: string + - name: notes + in: formData + description: notes + type: string + - name: category + in: formData + description: Name of category + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service added/updated + - 97 + - '' + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/services/{id}': + delete: + operationId: deleteServicesByID + summary: Delete service by ID + description: >- + This API is used to delete the service with the service id supplied as + the required argument. Note: You will only be able to delete the service + if the supplied username has the correct permissions. (Added in v6.3.4) + tags: + - Services + parameters: + - name: id + in: path + description: service id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '99' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/service_instances/: + get: + operationId: getServiceInstances + summary: Get service instances + description: >- + You can filter service details by following parameters in the query + string + tags: + - Services + parameters: + - name: device_id + in: query + description: filter by id of the device + type: integer + - name: device + in: query + description: filter by name of the device + type: string + - name: service_id + in: query + description: filter by id of the service + type: integer + - name: service_detail_id + in: query + description: filter by id of the service in use + type: integer + - name: user_id + in: query + description: filter by id of the user + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + service_details: + $ref: '#/definitions/Service_instances' + offset: + example: 0 + limit: + example: 1000 + total_count: + example: 2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postServiceInstances + description: >- + Create/update service instance. Required parameters are either:
                                • service_name + OR service_display_name OR service_id
                                • device + OR device_id
                                • ------ OR + ------

                                • service_detail_id
                                + summary: Create/update service instance + tags: + - Services + parameters: + - name: service_detail_id + in: formData + description: service detail id + type: integer + - name: device + in: formData + description: The device that this service runs on + type: string + - name: device_id + in: formData + description: id of the device + type: integer + - name: listening_ip + in: formData + description: the local IP address that listening on this port + type: string + - name: port + in: formData + description: the listening port on this device + type: integer + - name: loadbalancer + in: formData + description: loadbalancer + type: string + - name: service_name + in: formData + description: The executable name of the service + type: string + - name: service_display_name + in: formData + description: The user freindly display name of the service + type: string + - name: service_id + in: formData + description: service id + type: integer + - name: user_id + in: formData + description: id of the user + type: string + - name: remove_appcomp_ids + in: formData + description: comma separated list of application components IDs to remove + type: integer + - name: clear_appcomps + in: formData + type: string + enum: + - 'yes' + - 'no' + description: Set to 'yes' to clear associated application components + - name: appcomps + in: formData + description: >- + comma separated list of application components to associated with + service instance + type: string + - name: service_path + in: formData + description: service path + type: string + - name: install_date + in: formData + description: install date + type: string + - name: state + in: formData + description: >- + The current running state of this service. Valid values are + 'Running', 'Started', 'Paused', 'Stopped' and 'Unknown' + type: string + - name: ignore_client_connections + in: formData + type: string + enum: + - 'yes' + - 'no' + - name: startmode + in: formData + description: >- + The start mode of this service - valid values are 'Automatic', + 'Manual', 'Disabled' and 'Unknown' + type: string + - name: pinned + in: formData + description: pinned + type: string + - name: topology_status + in: formData + description: topology status + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service_detail added/updated + - 173 + - Service001 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/service_instances/{id}': + get: + operationId: getServiceInstancesByID + summary: Get service instances by ID + description: Retrieve service instance information by Service Instance ID + tags: + - Services + parameters: + - name: id + in: path + description: service instance id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Service_instance' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteServiceInstancesByID + summary: Delete service instances by ID + description: >- + This API is used to delete the service detail with the service detail id + supplied as the required argument. Note - You will only be able to + delete the service if the supplied username has the correct permissions + tags: + - Services + parameters: + - name: id + in: path + description: service id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/service_listener_ports/: + get: + operationId: getServiceListenerPorts + summary: Get service listener ports + description: You can filter service ports by following parameters in the query string + tags: + - Services + parameters: + - name: port + in: query + description: port + type: string + - name: device_name + in: query + description: the name of the device + type: string + - $ref: '#/parameters/listener_device_name' + - $ref: '#/parameters/discovered_service' + - $ref: '#/parameters/mapped_service' + - name: service_instance_id + in: query + description: filter by id of the service instance in use + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Service_listener_ports' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postServiceListenerPorts + description: >- + Create/update service listener port. Required parameters:
                                • id
                                + ---------- OR ----------
                                • port
                                • device_name + OR device_id
                                • listening_ip OR remote_ips
                                • +
                                + summary: Create/update service listener port + tags: + - Services + parameters: + - name: id + in: formData + description: service port id + type: integer + - name: port + in: formData + description: the listening port on this device + type: integer + - name: device_name + in: formData + description: the name of the device + type: string + - name: device_id + in: formData + description: device id + type: integer + - $ref: '#/parameters/listening_ip' + - $ref: '#/parameters/remote_ips' + - name: discovered_service_id + in: formData + description: device service id + type: integer + - $ref: '#/parameters/discovered_service_post' + - name: discovered_service_display_name + in: formData + description: discovered service display name + type: string + - $ref: '#/parameters/discovered_process' + - name: discovered_process_display_name + in: formData + description: discovered process display name + type: string + - $ref: '#/parameters/mapped_service_post' + - name: mapped_service_display_name + in: formData + description: mapped service display name + type: string + - $ref: '#/parameters/protocol' + - name: remote_port_time + in: formData + description: remote port time + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service port added/updated + - 5 + - '0.0.0.0:9999' + - true + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/service_listener_ports/{id}/': + get: + operationId: getServiceListenerPortsByID + summary: Get service listener port by ID + description: Retrieve Service Listener port information by service port ID + tags: + - Services + parameters: + - name: id + in: path + description: service port id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Service_listener_port' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putServiceListenerPorts + description: >- + Currently, in order to update a service port, id (path), + device_name/device_id, and listening_ip/remote_ips are needed even if + they are staying the same - we use those fields to identify the port + summary: Create/update service listener port + tags: + - Services + parameters: + - name: id + in: path + description: service port id + type: integer + required: true + - name: port + in: formData + description: the listening port on this device + type: integer + - name: device_name + in: formData + description: the name of the device + type: string + - name: device_id + in: formData + description: device id + type: integer + - $ref: '#/parameters/listening_ip' + - $ref: '#/parameters/remote_ips' + - name: discovered_service_id + in: formData + description: device service id + type: integer + - $ref: '#/parameters/discovered_service_post' + - name: discovered_service_display_name + in: formData + description: discovered service display name + type: string + - $ref: '#/parameters/discovered_process' + - name: discovered_process_display_name + in: formData + description: discovered process display name + type: string + - $ref: '#/parameters/mapped_service_post' + - name: mapped_service_display_name + in: formData + description: mapped service display name + type: string + - $ref: '#/parameters/protocol' + - name: remote_port_time + in: formData + description: remote port time + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service port added/updated + - 4 + - '123.0.0.2:25' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/service_client_connections/{id}': + get: + operationId: getServiceClientConnections + summary: Get service client connections + description: Get service client connection information by service detail ID + tags: + - Services + parameters: + - name: id + in: path + description: service id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Service_client_connections' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/ignored_service/: + get: + operationId: getIgnoredService + summary: Get ignored services + description: >- + Retrieve list of Ignored Services; filter ignored service details by + following parameters in query string + tags: + - Services + parameters: + - name: ignored_id + in: query + description: service id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 4 + offset: + example: 0 + limit: + example: 1000 + ignored_services: + type: array + items: + type: object + properties: + ignored_level: + type: integer + active: + type: boolean + ignored_text: + type: string + id: + type: integer + example: + - ignored_level: 1 + active: true + ignored_text: AeLookupSvc + id: 1 + - ignored_level: 2 + active: true + ignored_text: AeLookupSvc + id: 2 + - ignored_level: 1 + active: true + ignored_text: AJRouter + id: 3 + - ignored_level: 2 + active: true + ignored_text: AJRouter + id: 4 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIgnoredService + description: Create/update ignored service + summary: Create/update ignored service + tags: + - Services + parameters: + - name: ignored_level + in: formData + description: 'ignored level - 1 for Service Name, 2 for Service Instance Args' + type: integer + required: true + - name: ignored_text + in: formData + description: ignored text + type: string + required: true + - name: active + in: formData + description: active flag + type: boolean + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - ignored service added/updated + - 1 + - ignored text + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/ignored_service/{id}/': + delete: + operationId: deleteIgnoredServiceByID + description: >- + This API is used to delete the ignored service with the ignored service + id supplied as the required argument. Note: You will only be able to + delete the service if the supplied username has the correct permissions + summary: Delete ignored service + tags: + - Services + parameters: + - name: id + in: path + description: service id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/software_details/: + get: + operationId: getSoftware_details + description: Get software details + summary: Get software details + tags: + - Software + parameters: + - name: device_id + type: string + description: filter by id of device + in: query + - $ref: '#/parameters/device' + - $ref: '#/parameters/software_id' + - $ref: '#/parameters/software_detail_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 3 + offset: + example: 0 + software_details: + type: array + items: + $ref: '#/definitions/Get_Software_details' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postUpdateService_ports + description: Create/update software details + summary: Create/update software details + tags: + - Software + parameters: + - $ref: '#/parameters/software' + - name: device + in: formData + description: The name of the device where this software is installed + type: string + required: true + - $ref: '#/parameters/version' + - name: user + type: string + in: formData + description: The user assigned to this software + - name: vendor + type: string + in: formData + description: 'The vendor that created the server, linked to Organization' + - $ref: '#/parameters/install_date' + - $ref: '#/parameters/count_in_licensing' + - $ref: '#/parameters/license_key' + - $ref: '#/parameters/license_key_count' + - $ref: '#/parameters/license_use_count' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - software_detail added/updated + - 1 + - Some Enterprise DB + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/software_details/{id}/': + delete: + operationId: deleteSoftware_detail + summary: Delete software details + description: >- + This API is used to delete the software details with the software details + ID supplied as the required argument. Note: You will only be able to + delete the software if the supplied username has the correct + permissions + tags: + - Software + parameters: + - name: id + in: path + description: software detail id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/software/: + get: + operationId: getSoftware_Component_details + summary: Get software component details + description: >- + You can filter software details by following parameters in the query + string + tags: + - Software + parameters: + - $ref: '#/parameters/name' + - $ref: '#/parameters/category' + - name: vendor + type: string + in: query + description: Software vendor + - $ref: '#/parameters/licensing_model_get' + - $ref: '#/parameters/software_type' + - $ref: '#/parameters/deployment_type' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: '2016' + software: + type: array + items: + $ref: '#/definitions/Get_Software_Component_details' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postUpdateSoftware_Components + summary: Create/update software component + description: >- + Create/update software component. Required parameters:
                                • name + OR id
                                • licensing_model
                                • software_type
                                • + tags: + - Software + parameters: + - name: name + in: formData + type: string + description: The name of the software (new or existing) + - $ref: '#/parameters/id_post' + - name: category + type: string + in: formData + description: Filter by user-defined software categories (new or existing) + - name: vendor + type: string + in: formData + description: Software Vendor (new or existing) + - name: licensed_count + type: integer + in: formData + description: The number of licenses purchased for the software component. + - name: licensing_model + type: string + in: formData + default: Individual - Device/Perpetual + description: >- + Custom models can be made via UI. Existing values include: Free, + Trial, Individual - User/Perpetual, Individual - User/Subscription, + Named User / Perpetual, Volume - User/Perpetual, Concurrent - + User/Perpetual, Individual - Device/Perpetual, Individual - + Device/Subscription, Node Locked / Perpetual, Volume - + Device/Perpetual, OEM, CAL / Per Seat Device, CAL / Per Seat User, + CAL / Per Server, CAL / Per Processor, CAL / Per Mailbox + required: true + - name: software_type + enum: + - Managed + - Unmanaged + - Prohibited + - Ignored + type: string + in: formData + default: Managed + description: Default software type is Managed. + required: true + - name: deployment_type + enum: + - SaaS + - Mobile + - Desktop + - Server + - D42_NULL + type: string + in: formData + description: Deployment Type. The default value is empty. To clear the deployment type, use D42_NULL. + required: false + - name: tags + in: formData + type: string + - name: tags_remove + type: string + description: remove tags from component + in: formData + - $ref: '#/parameters/track_licensed_by_count' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/aliases' + - name: aliases_remove + in: formData + type: string + description: comma separated aliases to remove + - name: description + in: formData + type: string + description: Description of software + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - software added/updated + - 1 + - New_Software + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/soft_eoleos/: + post: + operationId: postUpdateSoftware_EOLEOS + summary: Create/update software component EOL/EOS dates + description: >- + Create/update End of Life/End of Support dates for a software component.

                                  Required parameters:
                                  • software_id + AND
                                  • version
                                  • + tags: + - Software + parameters: + - name: id + in: formData + type: string + description: The D42 ID of the software EOL/EOS record.
                                    Do NOT use when creating software EOL/EOS. + - name: software_id + type: string + in: formData + description: D42 ID of the software component for which you want to create/update EOL/EOS dates. + required: true + - name: software + type: string + in: formData + description: Name of the software component. + - name: version + type: string + in: formData + description: Software component version. + required: true + - name: end_of_life_date + type: string + in: formData + description: Software End of Life date.
                                    (yyyy-mm-dd). + - name: end_of_support_date + type: string + in: formData + description: Software End of Support date.
                                    (yyyy-mm-dd). + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Software EOL/EOS successfully added/updated + - 15 + - Adobe ColdFusion 2018 / 2018.0.0.0 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/software/: + put: + operationId: putCustom_FieldSoftware_Components + description: >- + Create/update software component custom fields.

                                    + Required parameters -
                                    • id OR name
                                    • key
                                    • + summary: Software Component custom fields + tags: + - Software + parameters: + - name: id + description: ID of the Software Component + type: string + in: formData + - name: name + description: Name of the Software Component + in: formData + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/show_on_chart' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'Software Component Owner' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/software/{id}/': + delete: + operationId: deleteSoftware_Component + summary: Delete software component + description: >- + This API is used to delete the software detail with the software detail + id supplied as the required argument. Note: You will only be able to + delete the software if the supplied username has the correct + permissions + tags: + - Software + parameters: + - name: id + in: path + description: software detail id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/software/license_keys/: + get: + operationId: getSoftware_License_Keys + summary: Get software license keys + description: >- + Get software license keys. + You can filter software license keys by following parameters in the + query string + tags: + - Software + parameters: + - $ref: '#/parameters/software_id' + - $ref: '#/parameters/software_name' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + software_license_keys: + type: array + items: + $ref: '#/definitions/Get_Software_License_Keys' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postUpdateSoftware_Licenses + summary: Create/Update software license + description: >- + Create/update software licenses. Required parameters:
                                      • id + OR software_id OR software_name
                                      • + tags: + - Software + parameters: + - name: id + description: The ID of the software_license_key object (use if updating) + type: string + in: formData + - name: software_id + description: The id of the software component + type: string + in: formData + - name: software_name + type: string + in: formData + description: software component name + - name: key + type: string + description: software license key + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - software license key added/updated + - 2 + - '1618' + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/software/license_keys/{id}/': + delete: + operationId: deleteSoftware_License_Keys + summary: Delete software license key + description: >- + This API is used to delete the software license key with the software + license key id supplied as the required argument. Note: You will only be + able to delete the software key if the supplied username has the correct + permissions + tags: + - Software + parameters: + - name: id + in: path + description: software detail id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/softwareinuse/: + put: + operationId: putCustomfield_softwareinuse + description: This call adds a custom field to a software details model. + summary: Custom fields + tags: + - Software + parameters: + - name: name + type: string + in: formData + description: Name of software + - name: id + type: string + in: formData + description: ID of software + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/groups_post' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 4 + - Skynet + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/certificates/: + get: + operationId: get_certificates + summary: Get + description: >- + This API is used to return the certificates you have added or discovered + in Device42 + tags: + - Certificates + parameters: + - name: certificate_id + in: query + description: ID of the certificate + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: '1' + certificate_details: + type: array + items: + $ref: '#/definitions/Get_certificates' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postUpdate_certificates + summary: Create/update + description: >- + This API is used to update or add new certificates in bulk. Note: If you + enter the DNS for the certificate, that is the only required field. + Otherwise valid_from and valid_to are required + tags: + - Certificates + parameters: + - name: id + in: formData + type: string + description: ID is only required if updating an existing certificate + - name: dns + in: formData + description: >- + dns address of the site certificate is issued for. + type: string + - name: issued_to + in: formData + description: Entity certificate is issued to. + type: string + - name: issued_by + in: formData + type: string + description: The entity issuing the certificate + - name: valid_from + in: formData + type: string + description: >- + The start date of the certificate. Required if creating a new certificate. YYYY-MM-DD format + - name: valid_to + in: formData + type: string + description: >- + The expiration date of the certificate. Required if creating a new certificate. YYYY-MM-DD format + - name: subject + in: formData + type: string + description: The person, or entity identified. + - name: version + in: formData + type: string + description: The version of the encoded certificate + - name: serial_number + in: formData + type: string + description: Used to uniquely identify the certificate + - name: signature_algorithm + in: formData + type: string + description: The algorithm used to create the signature. + - name: signature_hash + in: formData + type: string + description: The actual signature to verify that it came from the issuer + - name: san + type: string + in: formData + description: Subject Alternative Name + - name: digital_signature_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + True when the subject public key is used for verifying digital + signatures + - name: content_commitment_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + - name: key_encipherment_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + True when the subject public key is used for enciphering private or + secret keys + - name: data_encipherment_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + True when the subject public key is used for directly enciphering + raw user data without the use of an intermediate symmetric cipher. + - name: key_agreement_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: True when the subject public key is used for key agreement. + - name: key_cert_sign_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + True when the subject public key is used for verifying signatures on + public key certificates. + - name: crl_sign_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + True when the subject public key is used for verifying signatures on + certificate revocation lists. + - name: encipher_only_usage + type: string + enum: + - 'yes' + - 'no' + in: formData + description: >- + When the encipherOnly bit is asserted and the keyAgreement bit is + also set, the subject public key may be used only for enciphering + data while performing key agreement. + - name: decipher_only_usage + type: string + enum: + - 'yes' + - 'no' + in: formData + description: >- + When the decipherOnly bit is asserted and the keyAgreement bit is + also set, the subject public key may be used only for deciphering + data while performing key agreement. + - name: extended_key_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + Indicates the purpose of the public key contained in the + certificate. It contains a list of OIDs, each of which indicates an + allowed use. + - name: vendor + type: string + in: formData + description: The name of the vendor that provided this certificate + - name: end_point_type + type: string + in: formData + - name: end_point_id + type: string + in: formData + - name: groups + type: string + in: formData + description: >- + Use only if Multitenancy is on. List of groups separated by commas. + Each group has name followed by colon followed by yes or no for + change_permission, eg. CorpUS:yes, CorpNY:no. + - name: tags + type: string + description: Comma separated list of tags + in: formData + - name: tags_remove + type: string + description: Comma separated list of tags to remove + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - certificate added/updated + - test.device42.com + - test.device42.com + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/certificates/{ID}/': + delete: + operationId: deleteCertificates + summary: Delete + description: >- + This API is used to delete the certificate with the certificate id supplied as + the required argument + tags: + - Certificates + parameters: + - name: ID + type: integer + in: path + description: certificate id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/certificate/: + put: + operationId: put_Custom Fields + summary: Custom fields + description: Custom fields + tags: + - Certificates + parameters: + - name: name + type: string + description: Name of the certificate + in: formData + - name: id + type: string + description: ID of certificate + in: formData + required: true + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - name: custom_field + type: string + in: formData + description: Custom Value + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 4 + - Skynet + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/certificate_instances/: + get: + operationId: getCertificateInstances + summary: Get + description: >- + This API is used to return the certificate instances you have added or discovered + in Device42 + tags: + - Certificate Instances + parameters: + - name: certificate_id + type: integer + in: query + description: filter by certificate_id + - name: device_id + type: integer + in: query + description: filter by device_id + - name: device + type: string + in: query + description: filter by device name + - name: fqdn + type: string + in: query + description: filter by fqdn + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: '1' + certificate_details: + type: array + items: + $ref: '#/definitions/Get_certificate_instances' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postUpdateCertificateInstances + summary: Create/update + description: >- + This API is used to update or add new certificate instances in bulk. + tags: + - Certificate Instances + parameters: + - name: id + in: formData + type: integer + description: ID is only required if updating an existing certificate instance + - name: device_id + in: formData + type: integer + description: The ID of the device associated with the certificate instance. Required if device is not provided. + - name: device + in: formData + type: string + description: The device name or alias associated with the certificate instance. Required if device_id is not provided. + - name: certificate_id + in: formData + type: integer + description: The ID of the certificate associated with the certificate instance. Required if certificate is not provided. + - name: certificate + in: formData + type: string + description: The name of the certificate associated with the certificate instance. Required if certificate_id is not provided. + - name: fqdn + in: formData + type: string + description: Fully qualified domain name + - name: ip + in: formData + type: string + description: IP address + - name: valid_from + in: formData + type: string + description: >- + The start date of the certificate. Only filled if different than associated certificate. YYYY-MM-DD format + - name: valid_to + in: formData + type: string + description: >- + The expiration date of the certificate. Only filled if different than associated certificate. YYYY-MM-DD format + - name: serial_number + in: formData + type: string + description: Serial Number + - name: ssl_version + in: formData + type: string + description: SSL version + - name: cipher_suites + in: formData + type: string + description: Cipher suites supported by the certificate in json format. e.g. - {'TLSv1.0':'["TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA","TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"]'} + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Certificate instance added/updated successfully + - 1 + - example.com - DEVICEA2Z001 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/certificate_instances/{ID}/': + get: + operationId: getCertificateInstancesById + summary: Get + description: >- + This API is used to return the certificate instances you have added or discovered + in Device42 + tags: + - Certificate Instances + parameters: + - name: id + type: integer + in: path + description: certificate instance id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Get_certificate_instances' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteCertificateInstanceById + summary: Delete + description: >- + This API is used to delete the certificate instance with the certificate instance id supplied as + the required argument + tags: + - Certificate Instances + parameters: + - name: ID + type: integer + in: path + description: certificate instance id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/passwords/: + get: + operationId: getPassword + description: Retrieve usernames and passwords. You must be a superuser to access the API. + summary: Get accounts + tags: + - Secrets + parameters: + - $ref: '#/parameters/category' + - $ref: '#/parameters/label' + - $ref: '#/parameters/username' + - $ref: '#/parameters/device' + - $ref: '#/parameters/appcomp' + - $ref: '#/parameters/id' + - $ref: '#/parameters/plain_text' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + Passwords: + type: array + items: + properties: + username: + example: sharepointadmin + last_pw_change: + example: '2013-11-05T19:29:35Z' + notes: + example: '' + label: + example: sharepoint admin account + first_added: + example: '2013-11-05T19:07:05.534Z' + password: + example: L8tirgcd&Loh + id: + example: 5 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: post_Update_Passwords + summary: Create/update + description: >- + Create / Update Secrets (Passwords). Use id if updating existing secret - else, + username and password are required. You must be a superuser to access the API
                                        + NOTE: Secrets/Password passphrase has been disabled on the swagger demo instance. When you use Try It functionality with API method that provides or modifies a secret, you will receive an error. + tags: + - Secrets + parameters: + - name: id + type: string + in: formData + description: Required to modify an existing secret + - $ref: '#/parameters/username_post' + - $ref: '#/parameters/password' + - $ref: '#/parameters/label_post' + - name: category + type: string + in: formData + description: The secret's category. If it doesn't exist a new one will be created. + - name: storage_id + type: string + in: formData + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + description: The secret's storage type. 1=Normal 2=Burnt 3=CyberArk 4=Delinea 5=HashiCorp Vault + - name: devices + type: string + in: formData + description: A comma separated list of device names. + - $ref: '#/parameters/appcomps' + - $ref: '#/parameters/days_before_expiry' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/view_users' + - $ref: '#/parameters/view_groups' + - $ref: '#/parameters/view_edit_users' + - $ref: '#/parameters/view_users_remove' + - $ref: '#/parameters/use_only_users_remove' + - $ref: '#/parameters/view_edit_users_remove' + - $ref: '#/parameters/view_groups_remove' + - $ref: '#/parameters/use_only_groups' + - $ref: '#/parameters/use_only_groups_remove' + - $ref: '#/parameters/view_edit_groups' + - $ref: '#/parameters/view_edit_groups_remove' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Password added with username adminmh (and label alabel) + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/passwords/{id}/': + delete: + operationId: delete_Password + summary: Delete + description: >- + This API is used to delete the secret with the secret id supplied as + the required argument. Note: You will only be able to delete the + secret if the supplied username has the correct permissions. You must be a superuser to access the API + tags: + - Secrets + parameters: + - name: id + in: path + description: id of the secret + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/password/: + post: + operationId: post_Custom_Fields + summary: Custom fields + description: Custom fields. You must be a superuser to access the API + tags: + - Secrets + parameters: + - name: username + type: string + in: formData + required: true + description: Name of the secret + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 4 + - Skynet + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/customers/: + get: + operationId: getCustomers + description: Get all customers + summary: Get all + tags: + - Customers + parameters: + - $ref: '#/parameters/include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + Customers: + type: array + items: + $ref: '#/definitions/Customers' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postCustomers + summary: Create/update + description: Create/update customers + tags: + - Customers + parameters: + - name: id + in: formData + description: Customer id + type: integer + - name: name + type: string + description: Customer name + in: formData + - name: contact_info + type: string + description: Text field for contact information + in: formData + - $ref: '#/parameters/notes_post' + - name: type + type: string + enum: + - customer + - department + in: formData + - name: new_name + type: string + in: formData + description: New name for an existing customer 'name'.
                                        If the customer 'name' does not exist, this creates a new customer. + - $ref: '#/parameters/groups_post' + - name: manager + type: string + in: formData + description: Name of manager + - name: customer_ids + type: string + in: formData + description: Comma separated list of customer ids which are part of this customer + - name: user_ids + type: string + in: formData + description: Comma separated list of end user ids which are part of this customer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Customer added or updated. + - 4 + - Skynet + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/customers/{id}/': + delete: + operationId: deleteCustomers + summary: Delete + description: >- + This API is used to delete the customer with the customer id supplied as + the required argument + tags: + - Customers + parameters: + - name: id + in: path + description: IP Address id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/customers/contacts/: + post: + operationId: post_Update_Customer_Contacts + summary: Create/update customer contacts + description: Create/update customer contacts + tags: + - Customers + parameters: + - name: contact_id + type: string + in: formData + description: Customer contact id + - name: name + type: string + in: formData + description: Customer contact name. Required if contact_id not provided + - name: type + type: string + in: formData + description: Contact type. Required if contact_id not provided. + - name: customer + type: string + in: formData + description: Customer name. Must already exist. Required if contact_id not provided + - $ref: '#/parameters/email' + - $ref: '#/parameters/phone' + - name: address + type: string + description: Text field + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - customer contact record added/updated successfully + - 5 + - mickeymouse + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/customers/contacts/{id}/': + delete: + operationId: deleteCustomerContact + summary: Delete customer contacts + description: >- + This API is used to delete the customer contact with the customer contact id supplied as the + required argument + tags: + - Customers + parameters: + - name: id + in: path + description: Customer Contact id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/customer/: + put: + operationId: put_Custom Fields + summary: Custom fields + description: Custom fields + tags: + - Customers + parameters: + - name: name + required: true + type: string + description: Name of the customer + in: formData + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 4 + - Skynet + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/vendors/: + get: + operationId: getVendors + description: Get all vendors + summary: Get all + tags: + - Vendors + parameters: + - $ref: '#/parameters/vendor_name' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + vendors: + type: array + items: + $ref: '#/definitions/Get_all_Vendors' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postVendors + summary: Create/update + description: Create/update vendors + tags: + - Vendors + parameters: + - name: name + required: true + type: string + in: formData + description: Vendor name + - $ref: '#/parameters/account_no' + - $ref: '#/parameters/home_page' + - $ref: '#/parameters/contact_info' + - $ref: '#/parameters/escalation_1' + - $ref: '#/parameters/escalation_2' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/groups_post' + - name: tags + type: string + in: formData + description: >- + Comma-separated list of tags (no spaces) for the vendor. + - name: tags_remove + type: string + in: formData + description: >- + Comma-separated list of tags (no spaces) to remove. + - name: aliases + type: string + in: formData + description: Semicolon-separated list of vendor aliases (no spaces). + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Vendor added or updated. + - 39 + - CDW + - false + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/vendors/{id}/': + delete: + operationId: deleteVendors + summary: Delete + description: >- + This API is used to delete the vendor with the vendor id supplied as the + required argument + tags: + - Vendors + parameters: + - name: id + in: path + description: IP Address id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/vendor/: + put: + operationId: putCustom_fieldsVendors + description: >- + Create or update custom fields for vendors. "ID" or "name" of vendor is + needed even when value is not being changed + summary: Custom fields + tags: + - Vendors + parameters: + - name: name + type: string + in: formData + description: Name of vendor + - name: id + type: string + in: formData + description: Vendor ID or UI > Tools > Export > Vendors + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 7 + - 2nd Floor @ main office + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/vendors/merge/: + post: + operationId: mergeVendors + summary: Merge + description: Merge vendors + tags: + - Vendors + parameters: + - name: primary_vendor_id + required: true + type: string + in: formData + description: >- + Vendor ID into which to merge other vendor(s) into + - name: vendor_ids + required: true + type: string + in: formData + description: >- + Comma separated list of vendor ids to be merged + - name: software_combine + required: false + type: boolean + in: formData + description: >- + Automatically merge software (this will override like named software) + responses: + '200': + description: 'The above command returns a success message like this:' + schema: + properties: + msg: + example: + - Vendors merged successfully + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/circuits/: + get: + operationId: getCircuits + description: Get all circuits + summary: Get all + tags: + - Telco Circuits + parameters: + - name: id + in: query + description: ID for the circuit (D42 ID) + type: integer + - $ref: '#/parameters/circuit_id' + - name: type + type: string + in: query + description: Type of circuit + - name: origin_type + in: query + enum: + - cable + - circuit + - switchport + - vendor + - patch_panel_port + description: Type of origin point. + type: string + - $ref: '#/parameters/origin_id' + - name: end_point_type + in: query + enum: + - cable + - circuit + - switchport + - vendor + - patch_panel_port + description: Type of end point. + type: string + - $ref: '#/parameters/end_point_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + circuits: + type: array + items: + $ref: '#/definitions/Get_all_Circuits' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: post_Update_Circuits + description: Create/update circuits + summary: Create/update + tags: + - Telco Circuits + parameters: + - name: ID + in: formData + description: ID for the specific circuit (D42 ID) + type: integer + - name: circuit_id + type: string + in: formData + description: general circuit ID - required for new circuits + - name: type + type: string + in: formData + description: type of circuit - required for new circuits + - name: order_date + type: string + in: formData + description: Format is YYYY-MM-DD + - name: provision_date + type: string + in: formData + description: Format is YYYY-MM-DD + - name: turn_on_date + type: string + in: formData + description: Format is YYYY-MM-DD + - name: expiration_date + in: formData + type: string + description: Format is YYYY-MM-DD + - $ref: '#/parameters/notes_post' + - name: bandwidth + type: integer + in: formData + description: bandwidth in kbps (multiply factor of 1024) + - $ref: '#/parameters/vendor_post' + - name: vendor_id + in: formData + type: integer + description: ID of the vendor + - name: customer + type: string + description: customer name + in: formData + - name: customer_id + in: formData + type: integer + description: ID of the customer + - name: dmarc + type: string + in: formData + description: name of the DMARC + - name: dmarc_id + type: integer + in: formData + description: ID of the DMARC + - name: origin_type + in: formData + enum: + - cable + - circuit + - switchport + - vendor + - patch_panel_port + description: Type of origin point. Must be used with origin_id + type: string + - $ref: '#/parameters/origin_id_post' + - $ref: '#/parameters/origin_circuit_id_post' + - $ref: '#/parameters/origin_switchport_post' + - $ref: '#/parameters/origin_switch_post' + - name: origin_port_id + in: formData + type: integer + description: ID of the Origin Port. This will set the origin type to 'switchport' and assign the port ID. + - $ref: '#/parameters/origin_patch_panel_port_post' + - $ref: '#/parameters/origin_patch_panel_post' + - $ref: '#/parameters/origin_patch_panel_id_post' + - name: origin_back_patch_panel + in: formData + type: string + enum: + - yes + - no + description: If the origin object is a patch panel port, this parameter can be used indicate the circuit is on the back of the patch panel or not. + - $ref: '#/parameters/origin_vendor_post' + - name: end_point_type + in: formData + type: string + enum: + - cable + - circuit + - switchport + - vendor + - patch_panel_port + description: Type of end point. Must be used with end_point_id + - $ref: '#/parameters/end_point_id_post' + - $ref: '#/parameters/end_point_circuit_id_post' + - $ref: '#/parameters/end_point_switchport_post' + - $ref: '#/parameters/end_point_switch_post' + - name: end_port_id + in: formData + type: integer + description: ID of the Endpoint Port. This will set the endpoint type to 'switchport' and assign the port ID. + - $ref: '#/parameters/end_point_patch_panel_port_post' + - $ref: '#/parameters/end_point_patch_panel_post' + - $ref: '#/parameters/end_point_patch_panel_id_post' + - name: end_back_patch_panel + in: formData + type: string + enum: + - yes + - no + description: If the endpoint object is a patch panel port, this parameter can be used indicate the circuit is on the back of the patch panel or not. + - $ref: '#/parameters/end_point_vendor_post' + - name: origin_clear + in: formData + type: string + description: providing this parameter (any value) will clear the origin object from the circuit. + - name: end_clear + in: formData + type: string + description: providing this parameter (any value) will clear the endpoint object from the circuit. + - name: status + in: formData + type: string + description: Circuit status + - name: new_circuit_id + in: formData + type: string + description: providing this parameter (string) will change the circuit id of the circuit. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Circuit added/updated + - 49 + - chicago-main + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/circuits/{id}/': + get: + operationId: getCircuitsByID + description: Get circuit by ID + summary: Get specific circuit by ID + tags: + - Telco Circuits + parameters: + - name: id + in: path + description: ID for the circuit (D42 ID) + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + circuits: + type: array + items: + $ref: '#/definitions/Get_all_Circuits' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteCircuit + summary: Delete + description: >- + This API is used to delete the circuit with the circuit id supplied as + the required argument + tags: + - Telco Circuits + parameters: + - name: id + in: path + description: circuit id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/circuit/: + put: + operationId: put_Custom_Fields + description: Create/update custom fields for circuits. (Added in v5.9.3) Either ID or circuit_id is required + summary: Custom fields + tags: + - Telco Circuits + parameters: + - name: ID + in: formData + description: ID for the cricuit (D42 ID) + type: string + - name: circuit_id + type: string + description: circuit_id for the circuit + in: formData + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 1 + - chicago-main + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/powercircuits/: + get: + operationId: get_All_Power_Circuits + description: Get all power circuits + summary: Get all + tags: + - Power Circuits + parameters: + - name: breakerpanel_id + type: string + in: query + description: Breaker panel ID + - $ref: '#/parameters/bcpm_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + power_circuits: + type: array + items: + $ref: '#/definitions/Get_all_Power_Circuits' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: post_Update_PowerCircuits + description: Create/update power circuit + summary: Create/update + tags: + - Power Circuits + parameters: + - name: id + in: formData + description: Power circuit ID. Required if breakerpanel_id and number is not provided. + type: integer + - name: breakerpanel_id + in: formData + description: Breaker panel ID. Required if id is not provided.Used to identify the power circuit when the ID is not provided and to update the breaker panel association when the ID is provided. + type: string + - name: number + type: string + in: formData + description: Number of the circuit on the breaker panel. Required if id is not provided. + - name: label + type: string + in: formData + description: Label of the circuit on the breaker panel + - name: connection + type: string + in: formData + description: Description of the connection for the circuit + - $ref: '#/parameters/voltage' + - $ref: '#/parameters/amps' + - $ref: '#/parameters/powerunit_connection_ids' + - $ref: '#/parameters/device_connection_ids' + - $ref: '#/parameters/device_connection_names' + - $ref: '#/parameters/asset_connection_ids' + - name: new_number + type: string + in: formData + description: Providing this parameter (string) will change the circuit number of the circuit. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - power circuit added/updated + - 89 + - Server Room/4 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/powercircuits/{id}/': + delete: + operationId: deletePowerCircuit + summary: Delete + description: >- + This API is used to delete the power circuit with the ID supplied as the + required argument + tags: + - Power Circuits + parameters: + - name: id + in: path + description: Power circuit ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '89' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/cables/: + get: + operationId: getCables + summary: Get all + description: Retrieve information about all cables + tags: + - Cables + parameters: + - name: cable_id + type: integer + in: query + description: filter by cable_id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + cable: + type: array + items: + $ref: '#/definitions/Cable' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postCables + description: Create/update cable information + summary: Create/update + tags: + - Cables + parameters: + - name: ID + in: formData + description: Device42 ID of cable + type: string + - $ref: '#/parameters/cable_id' + - name: vendor + type: string + description: Cable vendor + in: formData + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/groups_post' + - name: room_id + type: string + description: Room ID + in: formData + - name: room + type: string + description: Room name + in: formData + - name: origin_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Option to clean up cable origin + - $ref: '#/parameters/origin_type_post' + - $ref: '#/parameters/origin_id_post' + - $ref: '#/parameters/origin_connector_type_post' + - $ref: '#/parameters/origin_cable_type' + - $ref: '#/parameters/origin_cable_color' + - $ref: '#/parameters/origin_optic_type' + - $ref: '#/parameters/origin_back_patch_panel' + - name: end_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Option to clean up cable endpoint + - $ref: '#/parameters/end_point_type_post' + - $ref: '#/parameters/end_point_id_post' + - $ref: '#/parameters/end_connector_type' + - $ref: '#/parameters/end_cable_type' + - $ref: '#/parameters/end_cable_color' + - $ref: '#/parameters/end_optic_type' + - $ref: '#/parameters/end_point_back_pach_panel' + - $ref: '#/parameters/end_point_multiple' + - $ref: '#/parameters/cable_length' + - $ref: '#/parameters/cable_length_units' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - cable added/updated + - 9 + - 'Cable #9 [new Cable]' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/cables/{id}/': + delete: + operationId: deleteCable + summary: Delete + description: >- + This API is used to delete the cable with the ID supplied as the + required argument + tags: + - Cables + parameters: + - name: id + in: path + description: Cable ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '89' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/service_level/: + get: + operationId: getService_level + description: Get all Service Levels (devices) + summary: Get all + tags: + - Service Levels + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + id: + example: 1 + name: + example: Production + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postService_level + description: Create service level + summary: Create + tags: + - Service Levels + parameters: + - name: name + type: string + in: formData + required: true + description: Name of the Service Level + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Service level added + - 11 + - Decommissioned + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/admingroups/: + get: + operationId: getAdmingroups + summary: Get all admin groups + description: Get all admin groups + tags: + - Admin Users-Groups + parameters: + - name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example:id,name,members,permissions + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + admingroups: + type: array + items: + type: object + properties: + id: + example: 6 + members: + example: + - User1 + - User2 + name: + example: System Generated Read, Add and Edit + total_count: + example: 1 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAdminGroups + description: Create/update admin groups - Must be a Super User to create or update admin groups + summary: Create/update admin groups + tags: + - Admin Users-Groups + parameters: + - name: id + type: integer + in: formData + description: Admin group id - used to update a specific admin group. Required for update if name is not provided + - name: name + type: string + in: formData + description: Admin group name - required if creating a new group or if id parameter is not provided + - name: members + type: string + in: formData + description: >- + List of admin users separated by commas to add. + - name: members_remove + type: string + in: formData + description: >- + List of admin users separated by commas to remove. + - name: permissions + type: string + in: formData + description: >- + List of permissions separated by commas to add. + - name: permissions_remove + type: string + in: formData + description: >- + List of permissions separated by commas to remove. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - admin group added or updated + - 30 + - test + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/admingroups/{id}/': + delete: + operationId: deleteAdminGroups + summary: Delete admin group + description: >- + This API is used to delete an admin group with the admin group id supplied as + the required argument - Must be a Super User to delete admin groups + tags: + - Admin Users-Groups + parameters: + - name: id + in: path + description: Admin group ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/adminusers/: + get: + operationId: getAdminusers + description: Get all admin users - Must be a Super User to access list of admin users + summary: Get all admin users + tags: + - Admin Users-Groups + parameters: + - name: username + type: string + in: query + description: Filter by username + - name: email + type: string + in: query + description: Filter by email address + - name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example:auth_type,is_active,is_staff,username,id,email,groups,is_superuser,last_login,date_joined, + password_doesnt_expire,last_name,first_name,invalid_login_attempts + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + adminusers: + type: array + items: + type: object + properties: + id: + example: 125 + username: + example: JohnDoe + auth_type: + example: Local + email: + example: JohnDoe@device42.com + groups: + type: array + items: + type: string + example: + - System Generated Read Only + - GroupABC + is_superuser: + example: false + first_name: + example: John + last_name: + example: Doe + is_staff: + example: true + is_active: + example: true + last_login: + example: 2022-02-06T03:52:55.925Z + date_joined: + example: 2022-02-06T03:52:55.925Z + last_password_changed: + example: 2022-02-06T03:52:55.925Z + password_doesnt_expire: + example: false + invalid_login_attempts: + example: 2 + total_count: + example: 1 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAdminUsers + description: Create/update admin users - Must be a Super User to create or update admin users + summary: Create/update admin users + tags: + - Admin Users-Groups + parameters: + - name: id + type: integer + in: formData + description: Admin user id - used to update a specific admin user. Required for update if username is not provided + - name: username + type: string + in: formData + description: >- + Admin user name - required if creating a new user or if id parameter is not provided
                                        + This value may contain only letters, numbers and @/./+/-/_/=/,/\\\\ characters + - name: password + type: string + in: formData + required: false + description: New user password - required if creating a new user + - name: first_name + type: string + in: formData + required: false + description: First name of admin user + - name: last_name + type: string + in: formData + required: false + description: Last name of admin user + - name: email + type: string + in: formData + required: false + description: Email address of admin user + - name: is_superuser + type: boolean + in: formData + required: false + description: Is super user + - name: is_staff + type: boolean + in: formData + required: false + description: Is staff user + - name: is_active + type: boolean + in: formData + required: false + description: Is admin user active + - name: password_doesnt_expire + type: boolean + in: formData + required: false + description: Password does not expire for this admin user + - name: groups + type: string + in: formData + description: >- + Admin groups to assign user to. Note: groups with commas need to be + wrapped in quotes. ie: “System Generated Read, Add, Edit and Delete” + - name: new_username + type: string + in: formData + description: >- + Change username of an existing admin user. This parameter is ignored when creating a new admin user.
                                        + This value may contain only letters, numbers and @/./+/-/_/=/,/\\\\ characters + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - administrator added or updated + - 30 + - test + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/adminusers/{id}/': + get: + operationId: getAdminUserByID + description: Get specific Admin User by ID - Must be a Super User to get the Admin User + summary: Get specific admin user by id + tags: + - Admin Users-Groups + parameters: + - name: id + in: path + description: D42 Admin User ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + id: + example: 125 + username: + example: JohnDoe + auth_type: + example: Local + email: + example: JohnDoe@device42.com + groups: + type: array + items: + type: string + example: + - System Generated Read Only + - GroupABC + is_superuser: + example: false + first_name: + example: John + last_name: + example: Doe + is_staff: + example: true + is_active: + example: true + last_login: + example: 2022-02-06T03:52:55.925Z + date_joined: + example: 2022-02-06T03:52:55.925Z + last_password_changed: + example: 2022-02-06T03:52:55.925Z + password_doesnt_expire: + example: false + invalid_login_attempts: + example: 2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteAdminUsers + summary: Delete admin user + description: >- + This API is used to delete an Admin User with the Admin User id supplied as + the required argument - Must be a Super User to delete admin users + tags: + - Admin Users-Groups + parameters: + - name: id + in: path + description: D42 Admin User ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/endusers/: + get: + operationId: getEndusers + description: Get all end users + summary: Get all + tags: + - End Users + parameters: + - name: name + type: string + in: query + description: Full or partial name of enduser + - name: domain + type: string + in: query + description: Fully qualified username + - name: email + in: query + type: string + description: Email of enduser + - name: id + type: integer + in: query + description: Enduser ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + values: + type: array + items: + type: object + properties: + domain: + example: internal.dev + name: + example: Thom Yorke + notes: + example: OK Computer + email: + example: tyorke@somedomain.net + contact: + example: 'phone: 203-555-5555' + location: + example: Not Here + adusername: + example: None + id: + example: '132' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postEndUsers + description: Create/update end users + summary: Create/update + tags: + - End Users + parameters: + - name: id + type: integer + in: formData + description: enduser id. This is required if name is not passed. + - name: name + type: string + in: formData + description: enduser name. This is required if id is not passed. + - $ref: '#/parameters/email' + - name: contact + type: string + in: formData + - name: location + type: string + in: formData + - $ref: '#/parameters/notes_post' + - name: create_new + type: boolean + in: formData + description: Set to true to force creation of new user with the passed in parameters. + name is required when set to true. + This parameter is ignored if id is passed. + - name: new_name + type: string + in: formData + description: Change name of an existing enduser. This parameter is ignored when creating a new enduser. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - enduser added or updated + - 11 + - Milton + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/endusers/{id}/': + delete: + operationId: deleteEndUsers + summary: Delete + description: >- + This API is used to delete the end user with the end user id supplied as + the required argument + tags: + - End Users + parameters: + - name: id + in: path + description: end user id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/custom_fields/endusers/': + put: + operationId: putCustom_fieldsEndUsers + description: >- + Create or update custom fields for End Users. "ID" or "name" of End Users is + needed even when value is not being changed + summary: Custom fields + tags: + - End Users + parameters: + - name: name + type: string + in: formData + description: Name of EndUser + - name: id + type: string + in: formData + description: ID of EndUser + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 220 + - “NetworkService” + - true, + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/reports/id/{id}/': + get: + operationId: getReports + description: Run a report and retrieve results + summary: Run + tags: + - Reports + parameters: + - name: id + in: path + required: true + type: integer + - $ref: '#/parameters/csv_format' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + file_url: + example: >- + /var/www/graphics/images/temp/report-201523February0521AM528423.txt + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/history/: + get: + operationId: getHistory + summary: Get + description: >- + Retrieves all history for the past one week. (Note, as of 10.3.0 + Device42 now has a more robust audit log available at + /api/api/1.0/auditlogs/ + tags: + - History + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + $ref: '#/definitions/getHistory' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/history//: + get: + operationId: getHistoryNumber_of_weeks + summary: Get by weeks + description: Retrieves history for specified number of weeks in the past + tags: + - History + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + $ref: '#/definitions/getHistory' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auditlogs/: + get: + operationId: getAuditlogs + summary: Get + description: Retrieves the audit history for all changes made in Device42 + tags: + - Audit Log + parameters: + - $ref: '#/parameters/object_id' + - $ref: '#/parameters/content_type' + - $ref: '#/parameters/action_time_gt' + - $ref: '#/parameters/action_time_lt' + - name: related + type: string + in: query + description: Related audit changes. Options are 'all' or 'related' + - name: action + type: sting + in: query + description: >- + What action was taken described in the audit. + Options are Insert, Delete, Update, Truncate, View, Login, API + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/getAuditLogs' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteAuditlogs + summary: Delete + description: >- + Deletes audit history logs made in Device42 + tags: + - Audit Log + parameters: + - name: days + in: formData + description: Events older than “days” will be deleted + type: integer + required: true + - name: chunk_size + in: formData + type: integer + description: Use to limit the number of records that will be deleted. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + chunk_size: + example: 1000 + loops: + example: 7 + deleted audit records: + example: true + days: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/networks/: + get: + operationId: getAuto_discoveryNetworks + summary: Get network jobs + description: Retrieves all autodiscovery jobs for networking devices + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + end_ip: + example: '' + job_id: + example: 54 + name: + example: job54 + start_ip: + example: 192.168.11.21 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryNetworks + description: Create/update network discovery job + summary: Create/update network job + tags: + - Autodiscovery + - snmp + parameters: + - name: name + type: string + required: true + description: name of the job + in: formData + - name: server + type: string + in: formData + description: FQDN or IP of the server(s) or cidr or ranges. + - name: exclude_servers + type: string + in: formData + description: IP or FQDN of server(s) or cidr or ranges to exclude. + - name: service_level + type: string + in: formData + description: Name of service level. + - name: clear_service_level + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Clear existing service level. + - name: customer + type: string + in: formData + description: Name of customer/department. + - name: clear_customer + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Clear existing customer. + - name: ip_address + type: string + in: formData + description: IP address.
                                        NOTE - this is a legacy parameter; use server param instead. + - name: end_ip_address + type: string + in: formData + description: End IP address.
                                        NOTE - this is a legacy parameter; use server param instead. + - name: enable_pdu_monitoring + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Enable PDU monitoring - yes/no. + - name: polling_interval + type: integer + in: formData + description: Polling interval in seconds. Adjusted to the nearest available interval value. (e.g., 300 = 5 minutes, 1800 = 30 minutes). + - name: remote_collector_id + type: string + in: formData + description: Note: REQUIRED if you enable PDU Monitoring.
                                        The D42 ID of the remote collector to use for this job. + - name: do_port_check + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Run nmap port-scan prior to discovery. + - name: snmp_min_parallel + type: integer + in: formData + description: Set nmap option min_parallelism (Only change if directed by Support). + - $ref: '#/parameters/snmp_string' + - $ref: '#/parameters/snmp_strings' + - $ref: '#/parameters/snmp_string_ids' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/strip_domain_name' + - $ref: '#/parameters/autodiscover_cdp_devices' + - $ref: '#/parameters/use_name_alias_port_descr' + - $ref: '#/parameters/clear_existing_schedule' + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - name: mask_bits + type: integer + in: formData + description: mask bits (integer only) + - $ref: '#/parameters/snmp_port' + - $ref: '#/parameters/snmp_version' + - $ref: '#/parameters/snmp_string_id' + - $ref: '#/parameters/snmpv3_auth_password_id' + - $ref: '#/parameters/snmpv3_privacy_protocol_password_id' + - $ref: '#/parameters/snmpv3_user' + - $ref: '#/parameters/snmpv3_auth_mode' + - $ref: '#/parameters/snmpv3_auth_protocol' + - $ref: '#/parameters/snmpv3_auth_password' + - $ref: '#/parameters/snmpv3_privacy_protocol' + - $ref: '#/parameters/snmpv3_privacy_protocol_password' + - $ref: '#/parameters/snmpv3_context' + - $ref: '#/parameters/get_all_switch_ports' + - $ref: '#/parameters/delete_older_mac_association_after' + - $ref: '#/parameters/delete_switch_port_not_found' + - $ref: '#/parameters/vlans_to_ignore' + - $ref: '#/parameters/port_name_prefix_to_ignore_macs' + - $ref: '#/parameters/debug_level' + - $ref: '#/parameters/hostname_precedence' + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/skip_vlan_indexing' + - $ref: '#/parameters/vrfgroup' + - $ref: '#/parameters/object_category' + - $ref: '#/parameters/discover_services' + - $ref: '#/parameters/discover_parts' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - $ref: '#/parameters/remove_password_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: network autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryNetworks + description: >- + Execute network job. Required parameters: name or job_id + summary: Run network job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/networks/{id}/: + delete: + operationId: deleteAuto_discoveryNetworks + summary: Delete network job + description: Deletes network (SNMP) discovery job + tags: + - Autodiscovery + parameters: + - name: id + in: path + required: true + description: ID of the network(SNMP) job to delete + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/nmap/: + get: + operationId: getAuto_discoverynmap + summary: Get nmap jobs + description: Retrieves all autodiscovery nmap jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 1 + schedule_time: + example: '' + schedule_day: + example: '' + end_ip: + example: '' + start_ip: + example: '' + target: + example: 10.42.0.1-10.42.0.10, 10.42.1.0/24, device42-sandbox, device42-prod + exclude_targets: + example: 10.42.0.3, 10.42.1.42-10.42.1.50, device42-prod + name: + example: Nmap-job-1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoverynmap + description: Create nmap autodiscovery job + summary: Create nmap job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: ip_start + in: formData + type: string + description: Legacy Field. Please use Target property + - name: ip_end + in: formData + type: string + description: Legacy Field. Please use Target property + - $ref: '#/parameters/target' + - $ref: '#/parameters/exclude_targets' + - name: remote_collector_id + type: string + in: formData + description: D42 ID of the remote collector to use for this job. + required: true + - name: nameserver + type: string + in: formData + description: IP/FQDA of name server + - name: os_detection + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Select yes to detect operating system. + - name: services_detection + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Select yes to detect services. + - name: object_category + type: string + in: formData + description: Name of subnet category for discovered subnets + - name: new_object_category + type: string + in: formData + description: Update an existing object category. + - name: overwrite_device_categories + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Overwrite the object categories for existing discovered devices.

                                        Note - this is equivalent to the 'Overwrite existing object categories' parameter shown in the D42 Nmap UI. + - name: vrfgroup + in: formData + type: string + description: Name of vrf group for discovered subnets + - name: vrfgroup_id + in: formData + type: string + description: D42 ID of group for discovered subnets + - name: tags + in: formData + type: string + description: Comma separated list of tags + - name: tags_remove + in: formData + type: string + description: Comma separated list of tags to remove + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: nmap autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoverynmap + description: >- + Execute nmap job. Required parameters: name or job_id + summary: Run nmap job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id supplied + in: formData + - name: job_id + type: string + description: D42 ID of the job - required if no name supplied + in: formData + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/pingsweep/: + get: + operationId: getAuto_discoveryPingsweep + summary: Get pingsweep jobs + description: Retrieve all autodiscovery pingsweep jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + strip_domain_suffix: + example: 'no' + create_new_subnet: + example: 'yes' + name: + example: job54 + overwrite_subnet_category: + example: 'yes' + schedule_time: + example: '' + schedule_days: + example: '' + job_id: + example: 2 + vrfgroup: + example: '' + debug_level: + example: Debug Off + reverse_dns: + example: 'no' + type: + example: '' + networks: + example: 8.8.8.0/28 + subnet_category: + example: '' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryPingsweep + summary: Create/update pingsweep job + description: Create/update pingsweep job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + description: name of the job + in: formData + - name: networks + type: string + in: formData + description: Networks to search. Required if new + - name: type + type: string + in: formData + enum: + - Static + - DHCP + - Reserved + description: Choose if you want to automatically assign type to discovered IPs. + - name: strip_domain_suffix + type: string + enum: + - 'yes' + - 'no' + in: formData + description: Strip everything after the first dot + - $ref: '#/parameters/clear_existing_schedule' + - name: debug_level + type: string + enum: + - Debug Off + - Debug On + in: formData + - name: reverse_dns + type: string + enum: + - 'yes' + - 'no' + in: formData + description: >- + Add devices by reverse DNS of discovered IP. (Recommended to leave + unchecked and use other discovery methods for devices) + - name: create_new_subnet + type: string + enum: + - 'yes' + - 'no' + in: formData + description: Create new subnet for networks not found + - name: vrfgroup + type: string + in: formData + description: name of vrf group for discovered subnets + - name: subnet_category + type: string + in: formData + description: name of subnet category for discovered subnets + - name: overwrite_subnet_categories + type: string + enum: + - 'yes' + - 'no' + description: >- + If a subnet is discovered that exists and already has a subnet + category, the category will be overwritten and all child subnets of + the discovered subnet will also get the new category. + in: formData + - name: remote_collector_id + type: integer + in: formData + description: ID of the remote collector to use for this job + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Ping Sweep autodiscovery job added + - 4 + - test_job + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryPingsweep + description: >- + Execute pingsweep job. Required parameters: name or job_id + summary: Run pingsweep job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/blade_disc/: + get: + operationId: getAuto_discoveryBlade_disc + summary: Get Blade jobs + description: Retrieves all Blade autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 54 + name: + example: job54 + port: + example: 163 + servers: + example: 192.168.3.1 + snmp_version: + example: v3 + icmp_tcp_port_check: + example: yes + debug_level: + example: Debug Off + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryBlade_disc + description: Create/update blade autodiscovery job + summary: Create/update blade job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: server + type: string + in: formData + description: FQDN or IP of the server(s) or cidr or ranges. + - name: ipaddress + type: string + in: formData + description: IP address. Required if new + - $ref: '#/parameters/end_ip_address' + - $ref: '#/parameters/snmp_string' + - $ref: '#/parameters/snmp_string_id' + - $ref: '#/parameters/snmp_strings' + - $ref: '#/parameters/snmp_string_ids' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/strip_domain_name' + - $ref: '#/parameters/clear_existing_schedule' + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - $ref: '#/parameters/snmp_port' + - $ref: '#/parameters/snmp_version' + - $ref: '#/parameters/snmpv3_user' + - $ref: '#/parameters/snmpv3_auth_mode' + - $ref: '#/parameters/snmpv3_auth_protocol' + - $ref: '#/parameters/snmpv3_auth_password' + - $ref: '#/parameters/snmpv3_privacy_protocol' + - $ref: '#/parameters/snmpv3_privacy_protocol_password' + - $ref: '#/parameters/snmpv3_context' + - $ref: '#/parameters/debug_level' + - $ref: '#/parameters/hostname_precedence' + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/name_to_use_for_newly_discovered_module' + - $ref: '#/parameters/toggle_in_service_on_module_power_state' + - $ref: '#/parameters/module_not_found' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - $ref: '#/parameters/remove_password_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: network autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryBlade_disc + description: >- + Execute blade autodiscovery job. Required parameters: name or job_id + summary: Run blade job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/portscan/: + get: + operationId: getAuto_discoveryPortscans + description: Get all portscan jobs + summary: Retrieves all portscan autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: '8305' + limit: + example: '1' + offset: + example: '0' + jobs: + type: array + items: + $ref: '#/definitions/auto_discoveryPortscan' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryPortscan + summary: Create/Update portscan job + description: Create/update portscan autodiscovery job + tags: + - Autodiscovery + parameters: + - name: name + type: string + in: formData + description: name of the job + required: true + - name: server + type: string + description: IP or FQDN of target server + in: formData + required: true + - name: exclude_servers + type: string + description: Exclude Server(s) + in: formData + - name: task_name_template + type: string + description: >- + Auto-created Task Name Template. AD Task names must be unique! Supported tags: %platform% - nix/windows, %name% - this task name + in: formData + - $ref: '#/parameters/debug_level' + - name: vserver_debug_level + type: string + enum: + - 'yes' + - 'no' + in: formData + description: >- + vServer Debug level + - $ref: '#/parameters/hostname_precedence' + - $ref: '#/parameters/ignore_host_serial' + - $ref: '#/parameters/ignore_host_uuid' + - $ref: '#/parameters/discover_vms' + - name: discover_vm_creation_date + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Discover VM Creation Date (vSphere 6.7+) + - name: set_device_dnp + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Do NOT inherit object category from parent + - $ref: '#/parameters/device_name_format' + - name: add_nonauthoritativealiases + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Add Non-Authoritative Aliases to device + - $ref: '#/parameters/ignore_ipv6' + - name: ignore_subnets + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Ignore Subnets + - $ref: '#/parameters/ignore_virt_subtype' + - $ref: '#/parameters/discover_parts' + - $ref: '#/parameters/capture_hosts_file' + - $ref: '#/parameters/discover_software' + - $ref: '#/parameters/initial_software_type' + - $ref: '#/parameters/discover_services' + - $ref: '#/parameters/discover_applications' + - $ref: '#/parameters/discover_cloudid' + - name: discover_cluster + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Discover Cluster Information + - $ref: '#/parameters/store_config_files' + - name: store_software_config_files + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Store Software Config Files + - name: store_registry_info + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Store Registry Information + - name: store_filesystem_info + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Store File System Information + - $ref: '#/parameters/strip_domain_suffix' + - name: servername_as_devicename + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Use the server as the device name. If yes, use the server name as the device name. (this does not apply to entered IPs, CIDR blocks or IP ranges) + - $ref: '#/parameters/service_level_post' + - name: object_category_id + type: string + in: formData + description: >- + Object Category ID for discovered devices. Existing object category will not be overwritten. + - name: object_category + type: string + in: formData + description: >- + Object Category for discovered devices. Existing object category will not be overwritten. + - name: new_object_category + type: string + in: formData + description: >- + Object Category for discovered devices. Existing object category will be overwritten. + - name: overwrite_device_categories + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Overwrite existing object categories. If a device is discovered that exists and already has an object category, then if this box is checked, the category will be overwritten and all child devices of the discovered device will also get the new category. + - $ref: '#/parameters/customer_id' + - $ref: '#/parameters/clear_customer' + - name: vrfgroup_id + type: string + in: formData + description: >- + VRF Group ID for discovered devices- $ref: '#/parameters/vrf_group_id_post' + - name: vrfgroup + type: string + in: formData + description: VRF Group for discovered devices + - $ref: '#/parameters/remote_collector_id' + - name: polling_interval + type: integer + in: formData + description: >- + Polling interval.
                                        + interval <= 300 - 5 minutes
                                        + interval <= 600 - 10 minutes
                                        + interval <= 900 - 15 minutes
                                        + interval <= 1800 - 30 minutes
                                        + interval <= 3600 - 1 hour
                                        + interval <= 7200 - 2 hours
                                        + interval <= 14400 - 4 hours
                                        + interval <= 21600 - 6 hours
                                        + interval <= 43200 - 12 hours
                                        + otherwise - 24 hours + - $ref: '#/parameters/enable_resources_monitoring' + - name: collect_db_info + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Collect database server information. Use yes or no. + - name: ignore_host_os_info + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Ignore Host OS Info + - name: allow_sudo + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Allow command to run as sudo + - name: allow_su + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Allow su to another user + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - name: username + type: string + in: formData + description: username to use in discovery. Required when creating a new job. + - name: password + type: string + in: formData + description: password to use in discovery. Required when creating a new job. + - name: db_username + type: string + in: formData + description: Username for DB discovery. Required if collect_db_info is 'yes' + - name: db_password + type: string + in: formData + description: Password for DB discovery. Required if collect_db_info is 'yes' + - name: tags + type: string + in: formData + description: >- + Comma-separated tags. + - name: tags_remove + type: string + description: remove tags (comma separated) + in: formData + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/remove_password_ids' + + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - TCP Port Scan autodiscovery job added + - 10 + - Create_by_API + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryPortscan + description: Execute TCP Portscan job + summary: Run TCP Portscan job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/portscan/{id}/: + get: + operationId: getAuto_discoveryPortscan + description: This call will get information about TCP portscan job by the ID + summary: Get portscan autodiscovery job + tags: + - Autodiscovery + parameters: + - name: id + type: integer + in: path + required: true + description: TCP Portscan Job ID. + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/auto_discoveryPortscan' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteAuto_discoveryPortscan + summary: Delete portscan autodiscovery job + description: >- + This API is used to delete a portscan autodiscovery job with the id supplied as the + required argument + tags: + - Autodiscovery + parameters: + - name: id + type: integer + in: path + required: true + description: Device id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + admin: + example: + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/power_disc/: + post: + operationId: postAuto_discoveryPower_disc + description: Create/update power autodiscovery job + summary: Create/update power job + tags: + - Autodiscovery + deprecated: true + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - $ref: '#/parameters/appliance' + - name: server + type: string + in: formData + description: FQDN or IP of the server(s) or cidr or ranges. + - name: ipaddress + type: string + in: formData + description: IP address. Required if new + - $ref: '#/parameters/end_ip_address' + - $ref: '#/parameters/snmp_string' + - $ref: '#/parameters/snmp_strings' + - $ref: '#/parameters/snmp_string_ids' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/strip_domain_name' + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/vrfgroup' + - $ref: '#/parameters/object_category' + - name: category + in: formData + description: subnet category to assign to addresses of discovered units + type: string + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - $ref: '#/parameters/snmp_port' + - $ref: '#/parameters/snmp_version' + - $ref: '#/parameters/snmp_string_id' + - $ref: '#/parameters/snmpv3_auth_password_id' + - $ref: '#/parameters/snmpv3_privacy_protocol_password_id' + - $ref: '#/parameters/snmpv3_user' + - $ref: '#/parameters/snmpv3_auth_mode' + - $ref: '#/parameters/snmpv3_auth_protocol' + - $ref: '#/parameters/snmpv3_auth_password' + - $ref: '#/parameters/snmpv3_privacy_protocol' + - $ref: '#/parameters/snmpv3_privacy_protocol_password' + - $ref: '#/parameters/snmpv3_context' + - $ref: '#/parameters/hostname_precedence' + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/name_to_use_for_newly_discovered_module' + - $ref: '#/parameters/toggle_in_service_on_module_power_state' + - $ref: '#/parameters/module_not_found' + - $ref: '#/parameters/name_to_use_for_newly_discovered_pdu' + - $ref: '#/parameters/polling_interval' + - $ref: '#/parameters/remove_password_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Power autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryPower_disc + description: Execute power autodiscovery job + summary: Run power job + tags: + - Autodiscovery + deprecated: true + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/vserver/: + get: + operationId: getAuto_discoveryvServer + summary: Get all vServer jobs + description: Retrieves all vServer autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + url_prefix: + example: https + job_id: + example: 54 + name: + example: vserverjob54 + port: + example: 443 + target: + example: 192.168.11.21 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryVserver + description: Create/update vServer autodiscovery job + summary: Create/update vServer job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: server + type: string + in: formData + description: IP or FQDN of target server + required: true + - name: platform + in: formData + type: string + enum: + - windows + - classic winrm + - docker api + - docker + - nutanix + - linux + - vmware + - unix + - aix hmc + - openvz + - oracle vm + - lxc + - kvm + - libvirt + - ovirt + - redhat + - citrix xen + - sccm + required: true + - name: use_ftp + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Use FTP instead of Telnet for discovery. + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - name: password_ids + type: string + in: formData + description: One or more D42 password ID numbers separated by commas + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - name: object_category + type: string + in: formData + description: category of discovered vservers and vms + - $ref: '#/parameters/debug_level' + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/url_prefix' + - name: port + type: string + in: formData + description: specify port + - $ref: '#/parameters/url_suffix' + - name: username + type: string + in: formData + description: username to use in discovery. Required when creating a new job. + - name: password + type: string + in: formData + description: password to use in discovery. Required when creating a new job. + - name: collect_db_info + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Collect database server information. Use yes or no. + - name: db_username + type: string + in: formData + description: Username for DB discovery. Required if collect_db_info is 'yes' + - name: db_password + type: string + in: formData + description: Password for DB discovery. Required if collect_db_info is 'yes' + - name: collect_with_db_server + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Collect SCCM by using the database server. Use yes or no. + - $ref: '#/parameters/strip_domain_suffix' + - $ref: '#/parameters/prepend_vmhostname' + - $ref: '#/parameters/ignore_powered_off' + - $ref: '#/parameters/discover_vms' + - $ref: '#/parameters/vm_name_to_use' + - $ref: '#/parameters/add_multiple_vm_names_as_alias' + - $ref: '#/parameters/toggle_service_level_on_vm_power_state' + - $ref: '#/parameters/get_guest_os_info' + - $ref: '#/parameters/ignore_guest_uuid' + - $ref: '#/parameters/vm_not_found' + - $ref: '#/parameters/track_vm_name_change' + - $ref: '#/parameters/hostname_precedence' + - $ref: '#/parameters/hostidlist' + - $ref: '#/parameters/vm_add_disk' + - $ref: '#/parameters/host_allow_duplicate_serials' + - $ref: '#/parameters/ignore_host_serial' + - $ref: '#/parameters/ignore_host_uuid' + - $ref: '#/parameters/overwrite_object_categories' + - $ref: '#/parameters/remote_collector_id' + - $ref: '#/parameters/use_service_account' + - $ref: '#/parameters/ignore_ipv6' + - $ref: '#/parameters/ignore_virt_subtype' + - $ref: '#/parameters/device_name_format' + - $ref: '#/parameters/discover_parts' + - $ref: '#/parameters/capture_hosts_file' + - $ref: '#/parameters/discover_software' + - $ref: '#/parameters/initial_software_type' + - name: discover_lines_of_code + type: string + in: formData + enum: + - 'yes' + - 'no' + description: If enabled, please set the max timeout for the discovery to greater than 5 minutes. + - $ref: '#/parameters/discover_services' + - $ref: '#/parameters/discover_applications' + - $ref: '#/parameters/store_config_files' + - $ref: '#/parameters/discover_cloudid' + - $ref: '#/parameters/customer_id' + - $ref: '#/parameters/clear_customer' + - $ref: '#/parameters/vrf_group_id_post' + - $ref: '#/parameters/service_level_device_id' + - $ref: '#/parameters/sudo_retry' + - $ref: '#/parameters/alternate_sudo' + - $ref: '#/parameters/use_domain_server' + - $ref: '#/parameters/ldap_server' + - $ref: '#/parameters/use_fqdn' + - $ref: '#/parameters/ldap_filter_type' + - $ref: '#/parameters/ldap_unpwd_id' + - $ref: '#/parameters/alternate_sudo_password_id' + - $ref: '#/parameters/polling_interval' + - $ref: '#/parameters/enable_resources_monitoring' + - name: ignore_host_os_info + in: formData + type: string + enum: + - 'yes' + - 'no' + description: Option to ignore the Host OS name + - $ref: '#/parameters/exclude_servers' + - name: allow_su + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Allow super user permissions to another user + - name: use_ftps + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Use FTPS instead of Telnet for discovery. + - name: use_winrm + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Use WinRM for windows discovery instead of WDS/WMI. + - name: use_winrm_wds + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Use WinRM through the WDS service for windows discovery instead of WDS using WMI or direct WinRM from RC. + - name: sync_notes + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Sync Notes. Currently only for VMWare. + - name: discover_vcloud + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Discover vCloud. Only for VMWare. + - name: add_custom_attributes_as_custom_fields + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Get Custom Attributes as Custom Fields. Only for VMWare. + - name: remote_ip_exclusions + type: string + in: formData + description: start_ip-end_ip of remote IP range to exclude,eg.
                                        1.1.1.1-1.1.1.5 +
                                        Provide comma separated values to exclude multiple ranges, eg.
                                        1.1.1.1-1.1.1.2,3.2.2.2-3.2.2.255 + - name: remote_ip_exclusions_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Remove all remote_ip_exclusions from vserver + - name: add_tags_as_custom_fields + type: integer + in: formData + enum: + - 1 + - 2 + description: >- + Add vCloud vendor tags as custom fields.
                                        + Works only if "Discover vCloud" checked. Tags with keys greater than 32 characters will be omitted.
                                        + 1: Tag as key, description as value 2: Category as key, tag as value + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - name: ignore_disc_nics + type: string + in : formData + description: Ignore the following interfaces (* for all or name(s) that starts with entered text as CSV) + - name: ignore_disc_ips + type: string + in : formData + description: Ignore the following IPs (can be IP(s), CIDR(s) and/or range(s). + - name: ignore_disc_macs + type: string + in : formData + description: Ignore the following MACs (* for all or MAC(s) that starts with entered text as CSV) + - $ref: '#/parameters/remove_password_ids' + - name: prioritize_dns_name + type: string + enum: + - 'yes' + - 'no' + in: formData + description: yes or no + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - vserver autodiscovery job added + - 10 + - Create_by_API + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryVserver + description: Execute vServer job + summary: Run vServer job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/cloudaccount/: + get: + operationId: getAuto_discoveryCloudaccount + summary: Get all cloud jobs + description: Retrieves all cloud autodiscovery jobs + tags: + - Autodiscovery + - cloud + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 54 + name: + example: Oraclejob54 + cloud_type: + example: oracle cloud + vendor: + example: oracle + remote_collector: + example: rc-223-la + user_id: + example: sjapo4duy17re45 + key_file: + example: b48b-9acd57b4a3a0 + tenant_id: + example: a41cde6e-8f12-44b8 + oracle_regions: + example: us-ashburn-1,us-phoenix-1 + instance_not_found: + example: Change status + collect_db_info: + example: 'no' + db_usernames: + example: [] + db_password_ids: + example: [] + add_tags_to_device: + example: 2 + add_tags_as_custom_fields: + example: 3 + vendor_metadata_source: + example: 2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryCloudaccount + description: >- + Create/update a cloud autodiscovery job.
                                        +

                                        Required parameters by cloud vendor or job type.
                                        (API parameter = UI equivalent)

                                        ALL DISCOVERY JOBS
                                        - name = Name
                                        - cloud_type = Cloud Type +

                                        AMAZON AWS
                                        - accountid = Access Key ID
                                        - secret_key OR secret_key_id = Secret Key
                                        - regions = Regions
                                        +

                                        MICROSOFT AZURE
                                        - auth_type = Authentication Type
                                        - accountid = Client ID (Service Principal) or Username (User Credentials)
                                        - secret_key OR secret_key_id = Client Secret (Service Principal) or Password (User Credentials)
                                        - subscriptionid = Subscription ID
                                        - tenant = Tenant ID +

                                        LINODE
                                        - api_key OR api_key_id = API Key +

                                        DIGITALOCEAN
                                        - token_key = Token Key +

                                        OPENSTACK
                                        - ip = URL
                                        - username = User
                                        - secret_key OR secret_key_id = Password
                                        - tenant = Project Name +

                                        GOOGLE CLOUD
                                        - tenant = Project ID
                                        - secret_key OR secret_key_id = Credentials JSON
                                        - google_regions = Zones +

                                        ALIBABA CLOUD
                                        - accountid = Access Key ID
                                        - secret_key OR secret_key_id = Access Key Secret +

                                        ORACLE CLOUD
                                        - accountid = User ID
                                        - api_key OR api_key_id = Fingerprint
                                        - secret_key OR secret_key_id = Key File
                                        - tenant = Tenant ID
                                        - oracle_regions = Zones +

                                        STANDALONE KUBERNETES
                                        - ip = URL
                                        - auth_type = Authentication Type
                                        - accountid = Bearer Token or Basic Credentials (depending on Authentication Type) +

                                        ARISTA CLOUDVISION
                                        - server = node(s)
                                        - auth_type = Authentication Type
                                        - username (Basic Credentials Only)
                                        - secret_key (password if auth_type = Basic Authentication, API Token if auth_type = Bearer Token)
                                        - tenant (CVSaaS only) +

                                        JAMF
                                        - ip = URL
                                        - accountid = User ID +

                                        WORKSPACE ONE
                                        - ip = URL
                                        - tenant = Tenant
                                        - accountid = Basic Credentials + summary: Create/update cloud job + tags: + - Autodiscovery + - cloud + parameters: + - name: name + type: string + required: true + in: formData + description: Name of the discovery job; required for all jobs. + - $ref: '#/parameters/cloud_type' + - $ref: '#/parameters/secret_key_id' + - $ref: '#/parameters/vendor_post' + - name: kubernetes_discovery + in: formData + description: Available for Amazon AWS, Microsoft Azure, and standalone Kubernetes.
                                        Yes / No + type: string + enum: + - 'yes' + - 'no' + - name: remote_collector_id + in: formData + description: ID number of the remote collector (RC) to use for the job. + type: string + - name: customer_id + in: formData + description: Customer ID number for discovered devices. + type: string + - $ref: '#/parameters/clear_customer' + - name: device_name_format + in: formData + description: Name format for discovered cloud instances (only for Alibaba Cloud, Amazon AWS, Google Cloud, MS Azure, Oracle Cloud). + type: string + enum: + - 'Instance ID + name (if defined)' + - 'Instance ID' + - 'Name (only use if unique)' + - name: container_not_found + in: formData + description: For Kubernetes discovery.
                                        1 = changes status, 2 = delete container + type: string + enum: + - '1' + - '2' + - name: auth_type + in: formData + description: Type of authentication credentials for MS Azure and Standalone Kubernetes. + type: string + enum: + - 'User Credentials' + - 'Service Principal' + - 'Bearer Token' + - 'Basic Credentials' + - name: accountid + type: string + in: formData + description: Required for Alibaba Cloud, Amazon AWS, Kubernetes, MS Azure, Oracle Cloud, Jamf, Workspace ONE. + - $ref: '#/parameters/vrfgroup' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/remove_unfound_instances' + - $ref: '#/parameters/strip_domain_name' + - $ref: '#/parameters/add_suffix' + - $ref: '#/parameters/match_name_only_for_virtuals' + - $ref: '#/parameters/match_name_only_for_hypervisor' + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - name: object_category + type: string + in: formData + description: category of discovered vservers and vms + - $ref: '#/parameters/debug_level' + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/secret_key' + - $ref: '#/parameters/regions' + - $ref: '#/parameters/aws_roles' + - aws_roles_remove: + name: aws_roles_remove + in: formData + type: string + description: >- + Comma separated names of aws_roles to remove from a cloud discovery job. Use * to clear all aws_roles from a cloud discovery job. + - name: azure_cloud_definition + type: string + in: formData + enum: + - 'Public' + - 'China' + - 'US Gov.' + - 'German' + description: Cloud Definition for MS Azure discovery jobs. + - name: google_regions + type: string + in: formData + description: comma-separated list of Google region names + - name: oracle_regions + type: string + in: formData + description: comma-separated list of Oracle region names + - $ref: '#/parameters/subscriptionid' + - name: ip + type: string + in: formData + description: OpenStack URL; Standalone Kubernetes URL; Jamf URL; Workspace ONE URL; + - name: server + type: string + in: formData + description: (Arista CloudVision; IP(s) or hostname(s) for CVP nodes) + - $ref: '#/parameters/tenant' + - name: username + type: string + in: formData + description: OpenStack username - required for OpenStack + - name: api_key + type: string + in: formData + description: Oracle Cloud Fingerprint; Linode API Key + - name: api_key_id + type: string + in: formData + description: Oracle Cloud Fingerprint; Linode API Key + - $ref: '#/parameters/api_token' + - $ref: '#/parameters/token_key' + - name: alibaba_regions + in: formData + description: Comma-separated list of Alibaba Cloud region names. + type: string + - name: features + in: formData + type: string + description: >- + Comma-separated list of features. + Choices for AWS are: s3, ebs, route53, databases, elb, functions, redshift, dynamodb, efs. + Choices for GCP are: databases. + Choices for AZURE are: databases, functions. + Use 'D42_NULL' to disable advanced features for Cloud discovery jobs. + - name: collect_db_info + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Collect database server information. Use yes or no. ( Cosmos DB for PostgreSQL only ) + - name: db_username + type: string + in: formData + description: Username for DB discovery. Required if collect_db_info is 'yes' + - name: db_password + type: string + in: formData + description: Password for DB discovery. Required if collect_db_info is 'yes' + - name: extended_discovery + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Collect summary information on all AWS/Azure resources that are not supported by full discovery yet. Use yes or no. + - name: chromeos_discovery + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Collect summary information on all ChromeOS devices in Google Cloud Platform discovery. Use yes or no. + - name: use_env_credentials + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Use cloud credentials from environment not from job. Only supported for AWS. + - name: discover_all_subscriptions + type: boolean + in: formData + description: Discover all Subscriptions within Azure Tenant. + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - name: add_tags_as_custom_fields + type: integer + in: formData + enum: + - 1 + - 2 + - 3 + description: >- + The way how to add vendor metadata.
                                        + 1: Do nothing 2: Add as custom fields 3: Add as tags + - name: vendor_metadata_source + type: integer + in: formData + enum: + - 1 + - 2 + description: >- + Metadata source ( For Google Cloud Only ).
                                        + 1: Labels 2: Custom Metadata + - $ref: '#/parameters/remove_password_ids' + - name: add_tags_to_device + type: integer + in: formData + enum: + - 1 + - 2 + description: >- + Add tags to device ( For Google Cloud Only ).
                                        + 1: Do nothing 2: Import Tags + responses: + '200': + description: 'The above command returns results like this:' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryCloudaccount + description: Execute cloud job + summary: Run cloud job + tags: + - Autodiscovery + - cloud + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/cloud_infrastructure/: + get: + operationId: getCloud_infrastructure + summary: Get AWS cloud info + description: Retrieves cloud account for AWS discovery + tags: + - Cloud Account + parameters: + - name: id + type: string + in: formData + description: Cloud account id. + - name: account + type: string + in: formData + description: Cloud account. + - name: organization + type: string + in: formData + description: Organization. + - name: name + type: string + in: formData + description: Name. + - name: tags + type: string + in: formData + description: Comma-separated list of infrastucture tags. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 1 + limit: + example: 1000 + offset: + example: 0 + cloud_infrastructures: + type: array + items: + type: object + properties: + account: + example: 458407285063 + cloud_vendor_id: + example: 1 + notes: + example: New Notes + tags: + example: [] + last_changed: + example: 2020-06-19T16:40:02.528Z + first_added: + example: 2020-06-19T16:13:18.179Z + organization: + example: D42 Internal + last_edited: + example: 2020-06-19T16:40:02.811Z + id: + example: 1 + custome_fields: + example: [] + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postCloud_infrastructure + description: Modify cloud infrastructure for AWS discovery + summary: Update AWS cloud info + tags: + - Cloud Account + parameters: + - name: id + type: string + in: formData + description: Cloud account id (search only). + - name: account + type: string + in: formData + description: Cloud account (search only). + - name: notes + type: string + in: formData + description: Infrastucture notes. + - name: tags + type: string + in: formData + description: Comma-separated list of infrastucture tags. + - name: tags_remove + type: string + in: formData + description: Remove existing tags - yes/no. + enum: + - 'yes' + - 'no' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - cloud infrastructure added/updated + - 11 + - rajj + - true + - false + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/cloud_infrastructure/{id}/: + delete: + operationId: deleteCloud_infrastructure + summary: Delete cloud info + description: Deletes cloud account ID and all attached cloud resources + tags: + - Cloud Account + parameters: + - name: id + in: path + required: true + description: ID of the infrastructure to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/cloud_infrastructure/: + put: + operationId: putCustom_FieldCloud_infrastructure + description: Create/updated custom fields for cloud account + summary: Cloud info custom fields + tags: + - Cloud Account + parameters: + - name: id + in: formData + description: ID of the cloud account. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'D42-internal' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/resource/: + get: + operationId: getCloud_resource + summary: Get cloud resource + description: Retrieves cloud resources for AWS discovery + tags: + - Resources + parameters: + - name: id + type: integer + in: formData + description: Cloud resource id. + - name: name + type: string + in: formData + description: Resource name (partial match). + - name: identifier + type: string + in: formData + description: Resource identifier. + - name: device + type: string + in: formData + description: Device name. + - name: vendor_define_type + type: string + in: formData + description: Vendor definition type. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 128 + resource: + type: array + items: + properties: + category: + example: Device + zones: + example: usa-east-2a + identifier: + example: i-0d90158f3cf3e7e19 + tags: + example: "" + name: + example: d42-internal + notes: + example: oracle cloud + last_changed: + example: 2020-06-19T16:13:18.225Z + subtype: + example: [] + cloud_infra_id: + example: 2 + region: + example: usa-east-2 + root_resource_id: + example: 2 + root_resource: + example: wbd42pstgr1 + last_edited: + example: 2020-06-19T16:13:18.229Z + first_added: + example: 2020-06-19T16:13:18.229Z + id: + example: 3 + resource_storage: + example: [] + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postCloud_resource + description: Modify cloud resource for AWS discovery + summary: Update cloud resource + tags: + - Resources + parameters: + - name: id + type: string + in: formData + description: Cloud resource id (search only). + - name: identifier + type: string + in: formData + description: Cloud resource identifier (search only). + - name: notes + type: string + in: formData + description: Resource notes. + - name: tags + type: string + in: formData + description: Comma-separated list of resource tags. + - name: tags_remove + type: string + in: formData + description: Remove existing tags - yes/no. + enum: + - 'yes' + - 'no' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - resource added/updated + - 11 + - d42_internal + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/resource/{id}/: + delete: + operationId: deleteCloud_resource + summary: Delete cloud resource + description: Deletes cloud resource ID and all attached cloud resources + tags: + - Resources + parameters: + - name: id + in: path + required: true + description: ID of the resource to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/resource/{id}/archive/: + post: + operationId: archiveResourceIdv2 + description: This API archives a resource by ID + summary: Archive resource by ID + tags: + - Resources + parameters: + - name: id + type: integer + in: path + required: true + description: Resource id. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/objectArchive' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/resource/: + put: + operationId: putCustom_FieldCloud_resource + description: Create/updated custom fields for cloud resource + summary: Cloud resource custom fields + tags: + - Resources + parameters: + - name: id + in: formData + description: ID of the cloud resource. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'CPU NA, PN: 1000base-lx-sfp' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/resource_relationship/: + get: + operationId: getResource_relationship + summary: Get cloud resource relationships + description: Retrieves cloud resource relationships for AWS + tags: + - Resources + parameters: + - name: id + type: string + in: formData + description: Cloud resource id. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 128 + resource_relationships: + type: array + items: + properties: + from_resource: + example: [] + category: + example: Volume + vendor_custom_fields: + example: [] + last_edited: + example: 2020-06-21T16:13:18.225Z + name: + example: d42-internal + tags: + example: [] + notes: + example: new notes + cloud_infra: + example: [] + account: + example: AW90746321 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/resource_relationship/{id}/: + delete: + operationId: deleteResource_relationship + summary: Delete cloud resource relationship + description: Deletes cloud resource relationship ID and attached resource relationships + tags: + - Resources + parameters: + - name: id + in: path + required: true + description: ID of the resource relationship to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/snmp_disc/: + get: + operationId: getAuto_discoverySnmp_disc + summary: Get all SNMP jobs + description: Retrieves all SNMP autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 54 + name: + example: snmpjob54 + port: + example: 163 + servers: + example: 192.168.3.1 + snmp_version: + example: v3 + icmp_tcp_port_check: + example: yes + debug_level: + example: Debug Off + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoverySnmp_disc + description: Create/update other SNMP autodiscovery job + summary: Create/update SNMP job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: server + type: string + in: formData + description: FQDN or IP of the server(s) or cidr or ranges. + - name: ip_address + type: string + in: formData + description: IP address. Required if new + - $ref: '#/parameters/end_ip_address' + - $ref: '#/parameters/snmp_string' + - $ref: '#/parameters/snmp_string_id' + - $ref: '#/parameters/snmp_strings' + - $ref: '#/parameters/snmp_string_ids' + - name: remote_collector_id + type: string + in: formData + description: D42 ID of the remote collector to use for this job. + - name: do_port_check + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Run nmap port-scan prior to discovery. + - name: snmp_min_parallel + type: integer + in: formData + description: Set nmap option min_parallelism (Only change if directed by Support). + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/strip_domain_name' + - $ref: '#/parameters/clear_existing_schedule' + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - $ref: '#/parameters/snmp_port' + - $ref: '#/parameters/snmp_version' + - $ref: '#/parameters/snmpv3_auth_password_id' + - $ref: '#/parameters/snmpv3_privacy_protocol_password_id' + - $ref: '#/parameters/snmpv3_user' + - $ref: '#/parameters/snmpv3_auth_mode' + - $ref: '#/parameters/snmpv3_auth_protocol' + - $ref: '#/parameters/snmpv3_auth_password' + - $ref: '#/parameters/snmpv3_privacy_protocol' + - $ref: '#/parameters/snmpv3_privacy_protocol_password' + - $ref: '#/parameters/snmpv3_context' + - $ref: '#/parameters/debug_level' + - name: service_level + type: string + in: formData + description: service level of discovered devices + - name: snmp_timeout + type: integer + in: formData + description: timeout for the snmp job + - name: snmp_retries + type: integer + in: formData + description: number of retries for the snmp job + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - $ref: '#/parameters/clear_customer' + - name: ignore_logical_ports + required: false + type: boolean + in: formData + default: false + description: Ignore logical ports. + - customer_id: + name: customer_id + in: formData + type: string + description: D42 ID of customer or department name. + - name: customer + type: string + in: formData + description: Name of customer/department. + - $ref: '#/parameters/remove_password_ids' + - $ref: '#/parameters/autodiscover_cdp_devices' + - $ref: '#/parameters/delete_older_mac_association_after' + - $ref: '#/parameters/delete_switch_port_not_found' + - $ref: '#/parameters/discover_parts' + - $ref: '#/parameters/exclude_servers' + - $ref: '#/parameters/get_all_switch_ports' + - $ref: '#/parameters/hostname_precedence' + - $ref: '#/parameters/module_not_found' + - $ref: '#/parameters/name_to_use_for_newly_discovered_module' + - $ref: '#/parameters/polling_interval' + - $ref: '#/parameters/port_name_prefix_to_ignore_macs' + - $ref: '#/parameters/skip_vlan_indexing' + - $ref: '#/parameters/toggle_in_service_on_module_power_state' + - $ref: '#/parameters/use_name_alias_port_descr' + - $ref: '#/parameters/vlans_to_ignore' + - $ref: '#/parameters/vrfgroup' + - name: category + in: formData + description: name of the category + type: string + - name: port_name_prefix_to_mark_as_uplink + type: string + in: formData + description: Port name prefix to mark as uplink. Marks discovered ports with these switch port prefix names (comma separated) as uplinks. + - name: query_device_advertised_contexts + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Query device advertised contexts + - name: Secondary Contexts + type: string + in: formData + description: Comma separated values of secondary contexts. + - name: ignore_oids + type: string + in: formData + description: Ignore the following OIDs + - name: vlans_to_include + type: string + in: formData + description: Comma separated or range values of VLAN to include. + - name: dont_add_new_device_on_remote_port + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Ignore remote port device information + - name: enable_pdu_monitoring + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Enable PDU monitoring - yes/no. + - name: overwrite_object_categories + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Overwrite the object categories for existing discovered devices.

                                        Note - this is equivalent to the 'Overwrite existing object categories' parameter shown in the D42 Nmap UI. + - name: overwrite_subnet_categories + type: string + enum: + - 'yes' + - 'no' + description: >- + If a subnet is discovered that exists and already has a subnet + category, the category will be overwritten and all child subnets of + the discovered subnet will also get the new category. + - name: send_sfp_as_parts + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Add SFP ports as Parts + - name: include_unit_name + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Include the power unit name in the Device42 name assigned to the power unit + - name: include_serial_in_name + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Include the serial number in the Device42 name assigned to the power unit + - name: include_ip_in_name + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Include the serial number in the Device42 name assigned to the power unit + - name: service_level_module + type: string + in: formData + description: Service Level for Module not found + - name: device_category + type: string + in: formData + description: Object Category for discovered devices.Existing object category will not be overwritten. + - name: ignore_os + type: string + in: formData + description: Ignore the following OS(s) + - name: discovered_port_types_to_ignore + type: string + in: formData + description: Discovered port types to ignore separated by commas. + - name: remove_discovered_port_types_to_ignore + type: string + in: formData + description: Remove from Discovered port types to ignore list separated by commas. + - name: discovered_port_types_not_to_count + type: string + in: formData + description: Discovered port types not to count separated by commas. + - name: remove_discovered_port_types_not_to_count + type: string + in: formData + description: Remove from Discovered port types not to count list separated by commas. + - name: scan_all_protocols + type: string + enum: + - 'yes' + - 'no' + in: formData + description: yes or no + responses: + '200': + description: 'The above command returns results like this:' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoverySnmp_disc + description: Execute SNMP autodiscovery job + summary: Run SNMP job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/auto_discovery/storagearraytarget/: + get: + operationId: getAuto_discoveryStorageArray + summary: Get all storage array jobs + description: Retrieves all storage array autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 54 + name: + example: SA-Test-Job-2 + platform: + example: netapp + servers: + example: 192.168.3.1 + schedule_days: + example: '' + schedule_time: + example: '' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryStorageArray + description: Create/update a storage array autodiscovery job + summary: Create/update storage array job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: server + type: string + in: formData + description: IP or FQDN of target server(s).
                                        REQUIRED if new. + - name: remote_collector_id + type: string + in: formData + description: D42 ID of the remote collector to use for this job.
                                        REQUIRED if new. + - name: platform + type: string + in: formData + enum: + - 'emc-ecs' + - 'emc-smis' + - 'emc-unity' + - 'hp3par' + - 'infinidat' + - 'isilon' + - 'netapp' + - 'orcl-zfs' + - 'pure-storage' + - 'hitachi' + - 'lsi' + - 'ibm' + - 'dell-equal' + - 'hp3par' + - 'xtrem-io' + - 'tintri' + - 'recover-point' + - 'hp-lefthand' + - 'hdsg1k' + - 'data-domain' + - 'ibm-flash' + - 'dell-compellent' + - 'nimble' + - 'hpe-storeeasy' + - 'emc-uni-rest' + - 'dell-powerstore' + - 'purity-fb' + - 'lenovo' + description: Storage Array platform. + - name: url_prefix + type: string + in: formData + enum: + - 'http' + - 'https' + - name: port + type: string + in: formData + description: Specify port. Use UI default if unsure. + - name: exclude_servers + type: string + in: formData + description: IP or FQDN of servers to exclude. + - name: polling_interval + type: integer + in: formData + description: Polling interval in seconds. + - name: enable_resources_monitoring + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Enable performance data collection. + - name: max_timeout + type: integer + in: formData + description: Maximum timeout on connection (in seconds). + - name: netapp_target + type: string + in: formData + enum: + - 'filer' + - 'dfm' + - 'ocum' + description: Netapp target type. + - name: netap_protocol + type: string + in: formData + enum: + - 'https' + - 'http' + - 'insecure-https' + description: Netapp protocol type. + - name: sat_not_found + type: string + in: formData + enum: + - '1' + - '2' + description: Action for Storage Array not found.
                                        1 = Keep array resource.
                                        2 = Delete array resource. + - name: username + type: string + in: formData + description: Username to use for discovery. + - name: password + type: string + in: formData + description: Password to use for discovery. + - name: password_ids + type: string + in: formData + description: One or more D42 password ID numbers separated by commas. + - name: token_auth + type: string + in: formData + description: Whether to authenticate with the token or username/password. + enum: + - 'yes' + - 'no' + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - $ref: '#/parameters/remove_password_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - storage array job added/updated + - 11 + - d42_internal + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryStorageArray + description: Execute a storage array autodiscovery job + summary: Run storage array job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: Name of the job
                                        - required if no job_id supplied + in: formData + - name: job_id + type: string + description: D42 ID for the job
                                        - required if no job name supplied + in: formData + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/auto_discovery/storagearraytarget/{id}/: + delete: + operationId: deleteStorageArray_discovery + summary: Deletes storage array job + description: Deletes a storage array autodiscovery job + tags: + - Autodiscovery + parameters: + - name: id + in: path + required: true + description: ID of Storage Array discovery job to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/ipmi/: + get: + operationId: getAuto_discoveryIpmi + summary: Get all IPMI/Redfish jobs + description: Retrieves all IPMI/Redfish autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 54 + name: + example: IPMIjob54 + discovery_type: + example: IPMI + ip_start: + example: 10.42.54.17 + ip_end: + example: 10.42.54.21 + serial_to_use: + example: Product serial + servers: + example: 192.168.3.1 + host_name_to_use: + example: Serial / Reverse DNS / IP + vrfgroup: + example: '' + add_hardware_model: + example: no + overwrite_device_name: + example: yes + debug_level: + example: Debug Off + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryIpmi + description: Create IPMI/Redfish autodiscovery job + summary: Create IPMI/Redfish job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - $ref: '#/parameters/ip_start' + - $ref: '#/parameters/ip_end' + - $ref: '#/parameters/bmc_user' + - $ref: '#/parameters/bmc_password' + - $ref: '#/parameters/hostname_to_use' + - $ref: '#/parameters/update_model_if_found' + - $ref: '#/parameters/run_as_operator' + - $ref: '#/parameters/overwrite_device_name' + - name: object_category + type: string + in: formData + - name: vrfgroup + type: string + in: formData + description: name of vrf group for discovered subnets + - name: vrfgroup_id + type: number + in: formData + description: id of vrf group for discovered subnets + - $ref: '#/parameters/overwrite_object_categories' + - $ref: '#/parameters/clear_existing_schedule' + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - name: debug_level + type: string + enum: + - 'yes' + - 'no' + in: formData + - $ref: '#/parameters/discovery_type' + - $ref: '#/parameters/remote_collector_id' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - $ref: '#/parameters/remove_password_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: IPMI autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryIpmi + description: Execute IPMI/Redfish autodiscovery job + summary: Run IPMI job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/job_id' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/ucs/: + get: + operationId: getAuto_discoveryUcs + summary: Get all UCS/ACI/Load Balancer jobs + description: Retrieves all UCS/ACI/Load Balancer autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + decommissioned_service_level_id: + example: '' + job_id: + example: 54 + hostname_to_use: + example: 2 + platform: + example: UCS + name: + example: UCSjob54 + exclude_servers: + example: '' + server: + example: 10.42.54.21 + device_category: + example: '' + schedule_days: + example: 1,2,4 + schedule_time: + example: 23:00 + debug_level: + example: Debug Off + port: + example: 443 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryUcs + description: Create/update a UCS/ACI/Load Balancer autodiscovery job + summary: Create/update UCS/ACI/Load Balancer job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - $ref: '#/parameters/remote_collector_id' + - name: platform + in: formData + type: string + required: true + enum: + - 'UCS' + - 'ACI' + - 'F5' + - 'NetScaler' + - 'Alteon' + - 'Cisco Prime' + description: Required + - name: server + in: formData + type: string + description: FQDN or IP of the server(s) or CIDR or ranges + - name: port + in: formData + type: string + required: true + description: Default is 443 - use this default if you are not sure. + - name: use_ssl + in: formData + type: string + description: Default is Yes - use this default if you are not sure. + enum: + - 'Yes' + - 'No' + - name: exclude_servers + in: formData + type: string + description: Servers to ignore + - name: username + in: formData + type: string + required: True + - name: password + in: formData + type: string + required: True + - name: password_id + type: integer + in: formData + description: The D42 ID of the existing secret for the password for the job. + - name: hostname_to_use + type: string + in: formData + required: true + description: Required - relevant for new devices only. If a device with same serial number already exists, name is ignored + enum: + - 'Serial #' + - 'Discovered Name' + - name: hostname_precedence + type: string + in: formData + description: Discovered name for the device is given precedence over existing name in the system. + enum: + - 'Yes' + - 'No' + - name: toggle_service_level_on_power_state + type: string + in: formData + description: Toggle the service level of a device based on power state. + enum: + - 'Yes' + - 'No' + - name: decommissioned_service_level_id + type: string + in: formData + description: Service level for decommissioned devices. + - name: vrf_group_id + in: formData + type: string + description: VRF Group for discovered devices. + - name: object_category + type: string + in: formData + description: Existing object category will not be overwritten. + - $ref: '#/parameters/overwrite_object_categories' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/clear_existing_schedule' + - name: debug_level + type: string + in: formData + enum: + - 'Debug Off' + - 'Debug On' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - $ref: '#/parameters/remove_password_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - ucs autodiscovery job added + - 11 + - UCS-AD-1 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryUcs + description: Execute UCS/ACI/Load Balancer autodiscovery job + summary: Run UCS/ACI/Load Balancer job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/job_id' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/dns/: + get: + operationId: getAuto_discoveryDns + summary: Get DNS jobs + description: Retrieves all autodiscovery jobs for DNS + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + nameserver: + example: 192.168.11.104 + zonename: + example: 10.10.in-addr.arpa + job_id: + example: '10' + schedule: + example: 'M T W Th F S Su 09:44:18 ; M T F S Su 09:44:23 ;' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryDns + description: Create DNS autodiscovery job + summary: Create DNS job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/zonename' + - name: nameserver + type: string + description: IP/FQDN of the nameserver + required: true + in: formData + - name: remote_collector_id + type: string + in: formData + description: D42 ID of the remote collector to use for this job. + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: DNS Zone autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryDns + description: Execute DNS autodiscovery job + summary: Run DNS job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/job_id' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/auto_discovery/database_discovery/: + get: + operationId: getAuto_discoveryDBDiscovery + summary: Get Database Discovery jobs + description: Retrieves all autodiscovery jobs for Database Discovery + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 1000 + offset: + example: 0 + database_discovery: + type: array + items: + properties: + job_id: + example: 1 + remote_collector_id: + example: 10 + last_status: + example: success + schedule_time: + example: 16:08 + schedule_days: + example: 0,1,2,3,4,5,6 + adm_interval: + example: 1800 + debug_level: + example: "on" + job_name: + example: Demo Database Discovery + database_accounts: + type: array + items: + properties: + server: + example: 10.90.11.5 + dba_id: + example: 17 + appcomp_id: + example: 4 + connection_name: + example: oracle_name + platform: + example: oracle + secret_id: + example: 1 + instance: + example: ORCL2 + port: + example: 1521 + total_count: + example: 30 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryDBDiscovery + description: Create Database Discovery autodiscovery job + summary: Create Database Discovery job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: Name of the job + - $ref: '#/parameters/remote_collector_id' + - name: debug_level + type: string + in: formData + enum: + - 'Debug Off' + - 'Debug On' + - name: adm_interval + type: integer + in: formData + description: >- + Interval in seconds to periodically sample Database Connections. + Valid values are: 0, 1800, 3600, 7200, 14400, 21600, 43200, 86400. + No Database Connection sampling will occur if the value is zero. + - name: connection_name + type: string + required: true + in: formData + description: Name of the connection + - name: appcomp_id + type: integer + required: true + in: formData + description: Application component ID to be associated with the discovered database + - name: platform + required: true + in: formData + description: Database platform + type: string + enum: + - oracle + - mssql + - postgres + - db2 + - name: server + type: string + required: true + in: formData + description: Database server + - name: port + type: integer + required: true + in: formData + description: Database port + - name: instance + type: string + in: formData + description: Database Instance for Oracle. Required for Oracle + - name: database + type: string + in: formData + description: Database for Postgres/DB2. Required for Postgres, required for DB2 if "databases" is not supplied + - name: databases + type: string + in: formData + description: Databases for DB2. Required for DB2 if "database" is not supplied + - name: db_username + type: string + in: formData + description: Username for Database discovery. Required if "db_password" is supplied + - name: db_password + type: string + in: formData + description: Password for Database discovery. Required if "db_username" is supplied + - name: credential_id + type: integer + in: formData + description: Password ID for Database discovery. Required if "db_username"/"db_password" are not supplied + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/clear_existing_schedule' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + type: array + items: + example: + - database discovery autodiscovery job added + - 54 + - test_api + - true + - true + code: + example: + 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryDBDiscovery + description: Execute Database Discovery autodiscovery job + summary: Run Database Discovery job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/job_id' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/auto_discovery/database_discovery/{id}/': + delete: + operationId: deleteAuto_discoveryDBDiscovery + summary: Delete Database Discovery job + description: >- + Deletes an Database Discovery autodiscovery job + tags: + - Autodiscovery + parameters: + - name: id + in: path + required: true + description: ID of Database Discovery discovery job to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '182' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/auto_discovery/dhcp_discovery/: + get: + operationId: getAuto_discoveryDHCPDiscovery + summary: Get DHCP Discovery jobs + description: Retrieves all autodiscovery jobs for DHCP Discovery + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 1000 + offset: + example: 0 + dhcp_discovery: + type: array + items: + properties: + job_id: + example: 1 + remote_collector_id: + example: 10 + use_win_rm: + example: false + wds: + example: "10.90.11.23" + last_status: + example: success + schedule_time: + example: 16:08 + schedule_days: + example: 0,1,2,3,4,5,6 + debug_level: + example: "on" + job_name: + example: Demo DHCP Discovery + dhcp_servers: + type: array + items: + properties: + server: + example: 10.90.11.5 + dhcp_conn_id: + example: 17 + secret_id: + example: 1 + total_count: + example: 30 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryDHCPDiscovery + description: Create DHCP Discovery autodiscovery job + summary: Create DHCP Discovery job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: Name of the job + - $ref: '#/parameters/remote_collector_id' + - name: debug_level + type: string + in: formData + enum: + - 'Debug Off' + - 'Debug On' + - name: use_win_rm + type: boolean + required: false + in: formData + description: Flag to indicate whether use WinRM for discovery + - name: wds + in: formData + description: WDS server to use + type: string + - name: server + type: string + required: true + in: formData + description: DHCP server + - name: dhcp_username + type: string + in: formData + description: Username for DHCP discovery. Required if "dhcp_password" is supplied + - name: dhcp_password + type: string + in: formData + description: Password for DHCP discovery. Required if "dhcp_username" is supplied + - name: credential_id + type: integer + in: formData + description: Password ID for DHCP discovery. Required if "dhcp_username"/"dhcp_password" are not supplied + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/customer_form' + - $ref: '#/parameters/clear_customer' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + type: array + items: + example: + - DHCP discovery autodiscovery job added + - 54 + - test_api + - true + - true + code: + example: + 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryDHCPDiscovery + description: Execute DHCP Discovery autodiscovery job + summary: Run DHCP Discovery job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/job_id' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/auto_discovery/dhcp_discovery/{id}/': + delete: + operationId: deleteAuto_discoveryDHCPDiscovery + summary: Delete DHCP Discovery job + description: >- + Deletes an DHCP Discovery autodiscovery job + tags: + - Autodiscovery + parameters: + - name: id + in: path + required: true + description: ID of DHCP Discovery autodiscovery job to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '182' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/certificate/: + get: + operationId: getAuto_discoveryCertificate + summary: Get certificate jobs + description: Retrieves all autodiscovery jobs for certificates + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + end_ip_address: + example: 10.42.42.100 + follow_chain: + example: 'no' + job_id: + example: '1' + name: + example: D42 + ports: + example: '443' + start_ip_address: + example: 10.42.42.0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryCertificate + description: Create Certificate autodiscovery job + summary: Create certificate job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - $ref: '#/parameters/server' + - $ref: '#/parameters/start_ip_address' + - name: end_ip_address + in: formData + type: string + description: Legacy Field. Please use Server property + - $ref: '#/parameters/exclude_servers' + - $ref: '#/parameters/ports' + - name: remote_collector_id + type: string + in: formData + description: D42 ID of the remote collector to use for this job + - name: get_cipher_suites + type: boolean + in: formData + description: Find cipher suites supported by the server + - $ref: '#/parameters/follow_chain' + - name: debug_level + type: string + enum: + - 'yes' + - 'no' + default: 'no' + in: formData + - name: dont_add_new_devices + type: string + in: formData + enum: + - 'true' + - 'false' + description: Protocol and cipher suites information will be ignored if device doesn't exist. + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Certificate autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryCertificate + description: Execute certificate autodiscovery job + summary: Run certificate job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/adldap/: + get: + operationId: getAuto_discoveryAdldap + summary: Get all AD/LDAP jobs + description: Retrieves all AD/LDAP autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 2 + name: + example: AD-TestAdmins + ldap_settings: + example: Active Directory/LDAP Settings + dn_type: + example: Group + group_dn: + example: adsasd + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryAdldap + description: >- + Create/update AD/LDAP autodiscovery job. Required parameters:

                                        • name
                                        • group_dn
                                        • + summary: Create/update AD/LDAP job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: group_dn + type: string + required: true + in: formData + description: Group or OU DN + - name: ldap_settings + type: string + in: formData + description: optional if system only has 1 ldap settings or a default ldap domain or domain is provided - exact case insensitive search on name of LDAP settings to use + - name: domain + type: string + in: formData + description: exact case insensitive search on name of LDAP domain to use + - name: username + type: string + in: formData + description: user name to set for job + - name: password + type: string + in: formData + description: set password for job + - name: password_id + type: string + in: formData + description: actual ID of secret to use + - name: enduser_contact_attribute + type: string + in: formData + description: End user contact attribute + - name: enduser_location_attribute + type: string + in: formData + description: End user location attribute + - name: enduser_notes_attribute + type: string + in: formData + description: End user notes attribute + - name: recursive + type: boolean + in: formData + description: Recursively search nested groups + - name: username_lowercase + type: boolean + in: formData + description: Add username in lowercase + - name: ignore_existing_admins + type: boolean + in: formData + description: Ignore existing Administrators + - name: clear_existing_admin_perms + type: boolean + in: formData + description: clear any existing Administrator Permissions Groups + - name: type + type: string + in: formData + description: administrators / end users + - name: dn_type + type: string + in: formData + description: Group or OU DN + - name: custom_filter + type: string + in: formData + description: optional Custom Filter + - name: schedule_name + in: formData + description: schedule name + type: string + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/schedule_days' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - vserver autodiscovery job added + - 10 + - Create_by_API + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryAdldap + description: Execute AD/LDAP job + summary: Run AD/LDAP job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/auto_discovery/adldap/{id}/': + delete: + operationId: deleteAdldap_discovery + summary: Delete AD/LDAP job + description: >- + Deletes an AD/LDAP autodiscovery job + tags: + - Autodiscovery + parameters: + - name: id + in: path + required: true + description: ID of AD/LDAP discovery job to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '182' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/warranty/: + get: + operationId: getAuto_discoveryWarranty + summary: Get warranty jobs + description: Retrieves all autodiscovery jobs for warranties. Must be a Super User to access Warranty API. + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + type: + example: Dell + job_id: + example: 1 + api_version: + example: 5 + name: + example: WarrantyTest + order_number_type: + example: common + schedule_time: + example: 16:08 + schedule_days: + example: 0,1,2,3,4,5,6 + debug_level: + example: 1 + remote_collector_id: + example: 10 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryWarranty + description: Create Warranty autodiscovery job. Must be a Super User to access Warranty API. + summary: Create warranty job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: vendor + type: string + in: formData + description: Warranty vendor + required: true + - name: enc_access_key_id + type: integer + in: formData + description: Required for HP, IBM, Lenovo, and Meraki vendors + - name: enc_access_key + type: string + in: formData + description: Required for HP, IBM, Lenovo, and Meraki vendors + - name: enc_secret_key_id + type: integer + in: formData + description: Required for HP vendor. + - name: enc_secret_key + type: string + in: formData + description: Required for HP vendor. + - name: api_version + type: string + in: formData + description: Required for Dell vendor. + - name: remote_collector_id + type: string + in: formData + description: D42 ID of the remote collector to use for this job + - name: order_number_type + type: string + in: formData + enum: + - 'randomly generated and same for all purchases' + - 'randomly generated and unique for every purchase' + default: 'randomly generated and same for all purchases' + - name: debug_level + type: string + enum: + - 'yes' + - 'no' + default: 'no' + in: formData + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/schedule_time' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Warranty autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryWarranty + description: Execute warranty autodiscovery job. Must be a Super User to access Warranty API. + summary: Run warranty job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + ':4343/healthstats/': + get: + operationId: getHealthstats + description: >- + This will return the health status of Device42 including:
                                          + - current version number
                                          + - current used CPU percentage
                                          + - current database size
                                          + - current disk space used
                                          + - current memory usage
                                          + - the status of each remote collector including version number and state
                                          + - the status of recent backups
                                          + - the status of system packages and runtime environements (if requesting full stats)
                                          + - the status of last upgrade (if requesting full stats)
                                          +
                                          + Note - backup status response can also include:
                                          + - Please save backup destination settings first\ @ 2020-12-05 09:26:43
                                          + - Backup not run since last reboot. Please check. + summary: Get + tags: + - Health Status + parameters: + - name: full + type: string + required: false + enum: + - 'yes' + - 'no' + description: Check full set of health stats on appliance? yes/no. Additional information includes system + package status and last upgrade status in form of OK/NOK. Additional statuses are static and do not change between + upgrades. + in: query + responses: + '200': + description: 'The above command returns results like this:' + schema: + "$ref": "#/definitions/healthstat_status" + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + ':4343/api/1.0/backup_schedules/': + post: + operationId: postBackup_schedules + summary: Create + description: Create or update backup schedule at set date and times + tags: + - Backup Schedules + parameters: + - name: name + type: string + required: true + description: name of backup job + in: formData + - "$ref": "#/parameters/method" + - name: schedule_time + required: true + type: string + description: time to perform backup (0:00 to 23:59) + in: formData + - name: job_id + type: string + description: id of backup job if modifying existing one + in: formData + - name: schedule_days + in: formData + type: string + description: >- + Comma separated days of week, where Monday = 0. e.g. 0,1,2 will set the job + for Mon, Tue and Wed. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - backup schedule added/updated + - 4 + - test3 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + get: + operationId: getBackup_schedules + description: Get backup schedules + summary: Get + tags: + - Backup Schedules + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 1 + method: + example: 3 + name: + example: test + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + ':4343/api/1.0/backup_schedules/{ID}/': + delete: + operationId: deleteBackup_schedules + summary: Delete + description: This will delete a scheduled backup + parameters: + - name: ID + type: integer + in: path + required: true + description: Scheduled Backup ID + tags: + - Backup Schedules + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - backup schedule deleted + - 4 + - test3 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + ':4343/api/1.0/appliancemode/': + post: + operationId: postAppliancemode + summary: Set + description: This will set the Device42 appliance to Standby or Production mode. + Used in conjunction with automatic backups and restores for a warm HA solution + tags: + - Standby or Production Mode + parameters: + - "$ref": "#/parameters/appliance_mode" + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Appliance Manager standby mode set to True. Background jobs + disabled + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/tags/: + get: + operationId: getTags + summary: Get all + description: >- + This will return a full list of tags available in your Device42 + instance + tags: + - Tags + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 1000 + offset: + example: 0 + tags: + type: array + items: + properties: + name: + example: 1 tag + total_count: + example: 30 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/saved_doql_queries/: + get: + operationId: getSaved_doql_queries + description: Retrieve information about all saved DOQL queries. You must be a superuser to access the API + summary: Get all + tags: + - DOQL Queries + parameters: + - $ref: '#/parameters/name' + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + savedDOQL: + $ref: '#/definitions/savedDOQLQueries' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postSaved_doql_queries + description: >- + Create/update a saved DOQL query. You must be a superuser to access the API. Required parameters:
                                          • name
                                          • + summary: Create/update + tags: + - DOQL Queries + parameters: + - name: name + type: string + in: formData + required: true + description: Name of saved DOQL. Required if creating new saved DOQL + - name: id + type: string + in: formData + description: Saved DOQL ID if modifying existing one + - name: saved_query + type: string + in: formData + description: Text of DOQL Query + - name: notes + type: string + in: formData + description: User entered notes + - name: include_headers + type: string + in: formData + description: Boolean value to whether to export header or not in CSV format + - name: output_format + type: string + in: formData + description: Choices of csv or json + - name: tags + type: string + in: formData + description: Comma-separated tags + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Saved DOQL added successfully + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/saved_doql_queries/{ID}/': + get: + operationId: getSaved_doql_queriesID + summary: Get specific + description: >- + Retrieve detailed information about a specific saved DOQL query. You must be a superuser to access the API + tags: + - DOQL Queries + parameters: + - name: ID + type: integer + in: path + required: true + description: The ID of the Saved DOQL to retrieve + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + name: + example: Power_outlet1 + tags: + type: array + example: power + include_headers: + example: true + notes: + example: "" + saved_query: + example: select * from view_rudata_v2 + output_type: + example: csv + id: + example: 182 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteSaved_doql_queriesID + summary: Delete + description: >- + This API is used to delete saved DOQL query with the saved DOQL ID supplied as the + required argument. You must be a superuser to access the API + tags: + - DOQL Queries + parameters: + - name: ID + type: integer + in: path + required: true + description: Saved DOQL Query ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '182' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /services/data/v1.0/query/: + get: + operationId: getDOQLData + description: Get DOQL data + summary: Get DOQL and Saved DOQL data + tags: + - DOQL + parameters: + - name: query + in: query + description: >- + The DOQL query you want to run, a SELECT command whose results are to be returned. + type: string + required: true + - name: delimiter + in: query + description: >- + Specifies the character that separates columns within each row (line) of the file. + The default a comma. This must be a single one-byte character. + type: string + - name: header + in: query + description: >- + If ‘yes’ specifies that the file contains a header line with the names of each column in the file. + On output, the first line contains the column names from the table + type: string + - name: quote + in: query + description: >- + Specifies the quoting character to be used when a data value is quoted. + The default is double-quote. This must be a single one-byte character. + type: string + - name: null_string + in: query + description: >- + Specifies the string that represents a null value. The default is an unquoted empty string. + type: string + - name: quote_escape + in: query + type: string + description: >- + Specifies the character that should appear before a data character that matches the QUOTE value. + The default is the same as the QUOTE value + - name: output_type + in: query + type: string + enum: + - 'csv' + - 'json' + description: Specify output format for DOQL results. 'csv' is the default output format if parameter is not specified + responses: + '200': + description: 'The above command returns results like this:' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDOQLData + description: >- + Use this API to query DOQL database + summary: Query DOQL Database + tags: + - DOQL + parameters: + - name: query + in: formData + description: >- + The DOQL query you want to run, a SELECT command whose results are to be returned. + type: string + required: true + - name: delimiter + in: formData + description: >- + Specifies the character that separates columns within each row (line) of the file. + The default a comma. This must be a single one-byte character. + type: string + - name: header + in: formData + description: >- + If ‘yes’ specifies that the file contains a header line with the names of each column in the file. + On output, the first line contains the column names from the table + type: string + - name: quote + in: formData + description: >- + Specifies the quoting character to be used when a data value is quoted. + The default is double-quote. This must be a single one-byte character. + type: string + - name: null_string + in: formData + description: >- + Specifies the string that represents a null value. The default is an unquoted empty string. + type: string + - name: quote_escape + in: formData + type: string + description: >- + Specifies the character that should appear before a data character that matches the QUOTE value. + The default is the same as the QUOTE value + - name: output_type + in: formData + type: string + enum: + - 'csv' + - 'json' + description: Specify output format for DOQL results. 'csv' is the default output format if parameter is not specified. + responses: + '200': + description: 'The above command returns results like this:' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/dbb/: + get: + operationId: getDBBInformation + description: Get information for DBBs in Device42. You must be a superuser to access the API. + summary: Get DBB Information + tags: + - DOQL + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + view_dbb_compute_v2: + type: object + properties: + last_refresh_date: + example: '2023-07-10T19:01:06.655567+00:00' + refresh_queued: + example: false + row_count: + example: 4200 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/dbb/refresh/: + get: + operationId: getDBBRefresh + description: Get list of DBBs that are queued for refresh. You must be a superuser to access the API. + summary: Get Queued DBB Refresh + tags: + - DOQL + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + dbbs: + example: + - view_dbb_compute_v2 + - view_dbb_security_v2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDBBRefresh + description: Use this API to queue one or all DBBs for a refresh. You must be a superuser to access the API. + summary: Queue DBB Refresh + tags: + - DOQL + parameters: + - name: dbb_name + in: formData + description: Name of the DBB you want to refresh. If this parameter is not passed, all DBBs will be refreshed. + type: string + required: false + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - A refresh has already been queued. + code: + example: 1 + + '202': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - DBB has been queued for refresh. + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/custom_fields/: + get: + operationId: getCustomFields + summary: Get custom fields + description: >- + Get custom fields for given model. Required parameters are:
                                            • object name
                                            + tags: + - Custom fields + parameters: + - $ref: '#/parameters/object_name' + - name: id + type: integer + description: Custom Field ID + in: query + - name: type + type: string + in: query + description: >- + this is the custom field type. If left blank, default is text + enum: + - text + - number + - date + - related_field + - boolean + - url + - picklist + - json + - markup + - name: key + type: string + description: Custom Field Name + in: query + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + custom_fields: + $ref: '#/definitions/custom_fields' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteCustomField + summary: Delete custom field + description: >- + Delete custom field. Required parameters are:
                                            • object name
                                            • ID or Key
                                            + If you want to delete custom fields that are in use, please pass in delete_in_use parameter, default action is + to not delete fields in use. + tags: + - Custom fields + parameters: + - $ref: '#/parameters/object_name' + - name: id + type: integer + in: query + description: Custom Field ID + - name: key + type: string + in: query + description: Custom Field Name + - name: delete_in_use + type: boolean + in: query + description: pass in true if you want to delete custom field that is in use + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '182' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putCustomField + summary: Add or Update Custom field + description: >- + Create or update custom field. Required parameters are:
                                            • object name
                                            • key
                                            + tags: + - Custom fields + parameters: + - name: object_name + type: string + enum: + - application_group + - application_group_calculation_rule + - appcomp + - appcomp_template + - asset + - building + - business_service + - cable + - certificate + - circuit + - cloud_account + - customer + - device + - dns_records + - dns_zone + - endusers + - hardware_model + - ip_address + - part + - partmodel + - pdu + - port + - purchase + - rack + - resource + - room + - secret + - service + - service_instance + - software + - software_instance + - subnet + - vendor + - vlan + - vrfgroup + description: Name of the object + in: formData + required: true + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/multi_select' + - $ref: '#/parameters/include_in_context_popups' + - $ref: '#/parameters/related_field_name' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Custom key field added or updated + - 2 + - IPAddress_cf + - True + - True + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' +parameters: + address: + name: address + type: string + in: query + description: Name of building + required: true + address_post: + name: address + type: string + in: formData + description: Address of building + appcomp: + name: appcomp + type: string + in: query + description: The application component that depends on this service + appcomp_category: + name: category + type: string + in: formData + enum: + - Database + - Application Layer + - Web Server + - Load Balancer + - Other + description: Application Component Category can be - Database, Application Layer, Web Server, Load Balancer, Other. Category Values are case sensitive. + appcomp_categoryid: + name: category_id + type: integer + in: formData + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + description: Application Component Category ID can be 1-Database, 2-Application Layer, 3-Web Server, 4-Load Balancer, 5-Other. ‘category_id’ is used by discovery to initially set the category of an application component and cannot be used to change the category once set. If you would like to change the category of an Application Component, use ‘category’ parameter. + at_logon: + name: at_logon + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + at_startup: + name: at_startup + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + appcomps: + name: appcomps + type: string + in: formData + description: A comma separated list of application component names. + appliance: + name: appliance + type: string + in: formData + description: name of the monitoring appliance + required: true + appliance_mode: + name: appliance_mode + type: string + in: formData + enum: + - standby + - production + required: true + api_token: + name: api_token + type: string + in: formData + description: Linode API token - Required for Linode + aliases: + name: aliases + type: string + in: formData + description: any software aliases + access_key: + name: access_key + type: string + in: formData + description: Required for Amazon - AWS Account ID (Deprecated in 12.0) + account_no: + name: account_no + type: string + in: formData + account_id: + name: account_id + type: string + in: formData + description: Amazon Account ID - Required for Amazon AWS + action_time_gt: + name: action_time_gt + type: string + in: query + description: >- + Filters actions that have happened past the time entered (ie, greater than + 2 weeks) in YYYY-MM-DDTHH:MM:ss.uuuuuu (ie 2016-10-27T13:52:01.213416) + action_time_lt: + name: action_time_lt + type: string + in: query + description: >- + Returns actions within the last X amount of days in + YYYY-MM-DDTHH:MM:ss.uuuuuu (ie 2016-10-27T13:52:01.213416) + add_suffix: + name: add_suffix + type: string + in: formData + add_multiple_vm_names_as_alias: + name: add_multiple_vm_names_as_alias + type: string + in: formData + description: add any additional names found as device alias + add_to_picklist: + name: add_to_picklist + type: string + in: formData + description: >- + Comma separated values to add to picklist. If type is picklist and custom + field is new, this is a required field. Duplicates will be ignored. + remove_from_picklist: + name: remove_from_picklist + type: string + in: formData + description: >- + Comma separated values to be removed from picklist. Duplicates will be ignored. Values that are in use will Not be deleted, unless delete_in_use parameter is provided and set to yes + mandatory: + name: mandatory + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Is custom field mandatory? yes/no + filterable: + name: filterable + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Is custom field filterable? yes/no + log_for_api: + name: log_for_api + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Log custom field? yes/no + multi_select: + name: multi_select + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Applies only to Picklist fields. Is custom field multi select? yes/no + related_field_value_by_id: + name: related_field_value_by_id + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Select yes if you want to set the related field value by ID. + clear_notes: + name: clear_notes + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Yes to clear any existing notes + include_in_context_popups: + name: include_in_context_popups + type: string + in: formData + enum: + - 'true' + - 'false' + description: Applies only to Device custom fields. Include the custom field in device pop-up panels and layout pages (true/false).
                                            For example, the pop-up when you click a device on a rack view. + delete_in_use: + name: delete_in_use + type: string + enum: + - 'yes' + - 'no' + in: formData + description: pass in yes if you want to delete Picklist value that is in use. Used in conjunction with remove_from_picklist. + regions: + name: regions + type: string + in: formData + description: Comma separated region names for Amazon AWS + aws_roles: + name: aws_roles + type: string + in: formData + description: Comma separated names of Amazon AWS Roles + assets: + name: assets + type: string + in: formData + description: comma separated names of new assets. + asset_id: + name: asset_id + type: integer + in: query + description: Filter by Asset ID. + asset_ids: + name: asset_ids + type: string + in: formData + description: comma separated values of existing assets. + asset_no: + name: asset_no + type: string + in: query + description: 'filter by asset # (Added in v6.0.0)' + asset_no_contains: + name: asset_no_contains + type: string + in: query + description: 'search for any asset that contains matching asset # (Added in v9.2.0)' + assigned: + name: assigned + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ if assigned. ‘no’ (default) if unassigned. + type: string + assignment: + name: assignment + in: formData + description: 'room, device, rma - required if assigning device' + type: string + allocated: + name: allocated + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ if allocated. ‘no’ (default) if unallocated. + type: string + alternate_sudo: + name: alternate_sudo + in: formData + type: string + alternate_sudo_password_id: + name: alternate_sudo_password_id + in: formData + type: string + auto_add_ips: + name: auto_add_ips + in: formData + enum: + - 'yes' + - 'no' + description: >- + If ‘yes’, addresses within subnet will be automatically added to Device42. + (Only available in POST) + type: string + auth_type: + name: auth_type + in: formData + description: User Credentials or Service Principal + type: string + available: + name: available + in: query + enum: + - 'yes' + - 'no' + description: could be yes or no + type: string + amps: + name: amps + in: formData + description: The rated amps on this circuit + type: string + asset_connection_ids: + name: asset_connection_ids + in: formData + description: A comma-separated list of asset IDs connected to this circuit + type: string + autodiscover_cdp_devices: + name: autodiscover_cdp_devices + in: formData + enum: + - 'yes' + - 'no' + description: yes to enable CDP/LLDP (added in v8.3.2) + type: string + back_image_id: + name: back_image_id + in: formData + type: integer + description: >- + Back Image file ID. + back_image: + name: back_image + in: formData + type: string + description: name of the back image file. Use instead of back_image_id. + back_connection_id: + name: back_connection_id + in: query + type: string + description: >- + ID for the back connection port. Available via GET at + /api/api/1.0/patch_panel_ports// or Tools > Export > Patch Panel Port + back_switchport_id: + name: back_switchport_id + in: formData + type: string + description: Used if back connection type is switch. + back_switch: + name: back_switch + in: formData + type: string + description: >- + If back connection type is switch, use switch and switchport names in + combination. + back_patch_panel_id: + name: back_patch_panel_id + in: formData + type: string + description: >- + ID of the back patch panel - if a patch panel port is connected in back + (Added in v5.8.2) + back_patch_panel: + name: back_patch_panel + in: formData + type: string + description: >- + Name of the back patch panel - if a patch panel port is connected in back + (Added in v5.8.2) + back_port: + name: back_port + in: formData + type: string + description: >- + Number of the port on the back patch panel - if a patch panel port is + connected in back (Added in v5.8.2) + bmc_user: + name: bmc_user + in: formData + type: string + description: username for discovery + required: true + bmc_password: + name: bmc_password + in: formData + type: string + description: password for discovery + required: true + blade_size: + name: blade_size + in: formData + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + description: >- + 1=Full Height 2=Half Height 3=Double Half Height 4=Double Full Height + 5=Quarter Height + type: integer + blade_host_name: + name: blade_host_name + type: string + in: query + description: filter by blade host name + building_id: + name: building_id + type: integer + in: query + description: filter by building ID (Added in v5.9.0) + building: + name: building + type: string + in: query + description: filter by building name + building_post: + name: building + type: string + in: formData + blankasnull: + name: blankasnull + type: string + in: query + description: >- + yes / no - if yes, we convert empty strings to null + bulk_fields: + name: bulk_fields + in: formData + description: >- + comma separated key value pairs, with key and value separated by colon. + e.g.key1:value1, key2:value2 + type: string + bandwidth: + name: bandwidth + in: query + description: bandwidth in kbps (mutiply factor of 1024) + type: string + breakerpanel_id: + name: breakerpanel_id + in: formData + required: true + description: Breaker panel ID + type: string + bcpm_id: + name: bcpm_id + in: query + description: Branch Circuit Power Meter ID + type: string + blanksasnull: + name: blanksasnull + in: query + type: string + cable_id: + name: cable_id + type: string + in: formData + description: Cable ID/Name + required: true + customer: + name: customer + type: string + in: query + description: filter by customer name + customer_form: + name: customer + type: string + in: formData + description: Name of existing customer. + custom_field_type: + name: type + type: string + in: formData + description: >- + this is the custom field type. If left blank, default is text. Date should + be formatted as YYYY-MM-DD + enum: + - text + - number + - date + - related_field + - boolean + - url + - picklist + - json + - markup + custom_fields_and: + name: custom_fields_and + type: string + in: query + description: 'filter by custom fields, and filter, format of key1:value1,key2:value2' + custom_fields_or: + name: custom_fields_or + type: string + in: query + description: 'filter by custom fields, or filter, format of key1:value1,key2:value2' + capacity: + name: capacity + in: formData + type: string + description: capacity of mountpoint in MB + capture_hosts_file: + name: capture_hosts_file + in: formData + type: string + enum: + - 'yes' + - 'no' + csv_format: + name: csv_format + in: query + type: string + description: >- + If this parameter is ‘xls’ or is not present, an Excel file(.xlsx) will be + produced. If this parameter is ‘tab’, a tab-delimited file(.txt) will be + created. + customer_id: + name: customer_id + in: formData + type: string + customer_id_get: + name: customer_id + in: query + description: ID of the customer (Added in v6.3.0) + type: string + category: + name: category + in: query + description: name of the category + type: string + category_post: + name: category + in: formData + description: >- + If multitenancy is on, admin groups that have access to this object are + specified here, e.g. Prod_East:no, Corp:yes specifies that the admin groups + for this object are Prod_East with view only permission and Corp with + change permission. Use for initial insert. + type: string + category_id: + name: category_id + in: query + description: ID of the category + type: string + category_id_post: + name: category_id + in: formData + description: ID of the category - use for initial insert. + type: string + clear_all: + name: clear_all + in: formData + enum: + - 'yes' + - 'no' + description: >- + If yes - then IP is marked as available and device and mac address + associations are cleared. Also notes and label fields are cleared. Added + in v5.7.2 + type: string + clear_front: + name: clear_front + in: formData + enum: + - 'yes' + - 'no' + description: “yes” will clear front connection for port + type: string + clear_back: + name: clear_back + in: formData + enum: + - 'yes' + - 'no' + description: “yes” will clear back connection on port + type: string + clear_customer: + name: clear_customer + in: formData + enum: + - 'yes' + - 'no' + description: Clear all previously set customers on discovered objects. + type: string + default: 'no' + cloud_type: + name: cloud_type + in: formData + enum: + - Amazon AWS + - Microsoft Azure + - Linode + - DigitalOcean + - OpenStack + - Google Cloud + - Alibaba Cloud + - Oracle Cloud + - Standalone Kubernetes + - Arista CloudVision + - Jamf + - Workspace ONE + description: Required for all jobs. + type: string + required: true + cable_type: + name: cable_type + in: formData + description: named value of the cable type. Must already exist. + type: string + clear_value: + name: clear_value + in: formData + enum: + - 'yes' + - 'no' + description: yes to clear existing value for that field + type: string + clear_existing_schedule: + name: clear_existing_schedule + in: formData + enum: + - 'yes' + - 'no' + type: string + count: + name: count + in: formData + description: Whether to include the port in total count or not. + type: string + enum: + - 'yes' + - 'no' + count_in_licensing: + name: count_in_licensing + in: formData + enum: + - 'yes' + - 'no' + description: Whether or not to count OS in licensing + type: string + completed: + name: completed + in: query + description: Line Item is completed + type: string + content: + name: content + in: query + description: Content (e.g. IP address for type A) + type: string + content_type: + name: content_type + in: query + description: Returns changes done to a particular content type + type: string + contact_name_post: + name: contact_name + in: formData + type: string + contact_phone_post: + name: contact_phone + in: formData + type: string + change_date: + name: change_date + in: query + type: string + col_size: + name: col_size + in: formData + type: string + description: how many racks wide the rack is + cores: + name: cores + in: formData + type: string + description: number of cores + connector_type: + name: connector_type + in: formData + type: string + description: 'Type of connector, ie rj45' + connectivity: + name: connectivity + in: formData + type: string + description: 'New or existing (not used for CPU, RAM, HDD)' + cost: + name: cost + in: formData + type: string + cost_center: + name: cost_center + in: query + type: string + description: Cost Center + cpuspeed: + name: cpuspeed + in: formData + type: string + description: 'enter in MHZ, e.g.: 3.5 GHZ use 3500' + contact_info: + name: contact_info + type: string + in: formData + connection: + name: connection + type: string + in: query + description: Text field. + cable_length: + name: cable_length + type: string + in: formData + description: Length of Cable + circuit_id: + name: circuit_id + type: string + in: query + description: circuit id + cable_length_units: + name: cable_length_units + type: string + in: formData + description: Units for Cable Length (“m” or “ft”) + contact: + name: contact + type: string + in: query + description: '' + object_name: + name: object_name + type: string + enum: + - application_group + - application_group_calculation_rule + - appcomp + - appcomp_template + - asset + - building + - business_service + - cable + - certificate + - circuit + - cloud_account + - customer + - device + - dns_records + - dns_zone + - endusers + - hardware_model + - ip_address + - part + - partmodel + - pdu + - port + - purchase + - rack + - resource + - room + - secret + - service + - service_instance + - software + - software_instance + - subnet + - vendor + - vlan + - vrfgroup + description: Name of the object + in: query + required: true + days: + name: days + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + device_connection_ids: + name: device_connection_ids + type: string + in: formData + description: A comma-separated list of device IDs connected to this circuit + device_connection_names: + name: device_connection_names + type: string + in: formData + description: A comma-separated list of device names connected to this circuit + day_of_month: + name: day_of_month + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + day_of_week: + name: day_of_week + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + debug_level: + name: debug_level + type: string + in: formData + enum: + - No Debug + - Normal Debug + - Extended Debug + date_changed: + name: date_changed + type: string + in: formData + description: 'Update the Date Changed field, using format YYYY-MM-DD HH:MM:SS' + date: + name: date + type: string + in: query + date_gt: + name: date_gt + type: string + in: query + description: filter by date greater than (YYYY-MM-DD) + date_lt: + name: date_lt + type: string + in: query + description: filter by date less than (YYYY-MM-DD) + device: + name: device + type: string + in: query + description: Device name + devices: + name: devices + type: string + in: formData + description: comma separated names of new devices. + device_name: + name: device_name + type: string + in: formData + description: required if switchport ID not used + device_name_format: + name: device_name_format + type: string + in: formData + enum: + - hostname + - hostname_plus_domain + - hostname_add_domain_alias + - hostname_plus_domain_add_hostname_alias + device_id: + name: device_id + type: string + in: query + description: Device ID + required: true + device_ids: + name: device_ids + type: string + in: formData + description: comma separated values of existing devices. + device_sub_type: + name: device_sub_type + type: string + in: query + description: filter by device sub type (Added in v14.7.2) + device_sub_type_id: + name: device_sub_type_id + type: integer + in: query + description: filter by device sub type id (Added in v14.7.2) + device2: + name: device2 + in: formData + description: name of the device2 that port belongs to. (added in v5.8.1) + type: string + device_serial: + name: device_serial + in: query + description: 'serial number of the device, where part is checked out to' + type: string + device_reason: + name: device_reason + in: formData + description: string for the device reason on this appcomp (added in v6.6.0) + type: string + description: + name: description + in: query + description: matching description (added in v7.2.0) + type: string + description_post: + name: description + in: formData + type: string + depth: + name: depth + in: formData + enum: + - half + - full + description: Half depth by default. full to override. Optional. + type: string + device_os_id: + name: device_os_id + in: path + description: ID of specific operating system + type: integer + required: true + display_name: + name: display_name + in: query + description: 'if not provided, the name is used as display name' + type: string + required: true + discover_vms: + name: discover_vms + in: formData + description: discover VMs or strictly hypervisors + enum: + - 'yes' + - 'no' + type: string + discovery_type: + name: discovery_type + in: formData + default: IPMI + enum: + - IPMI + - Redfish + type: string + discover_parts: + name: discover_parts + in: formData + type: string + enum: + - 'yes' + - 'no' + discover_software: + name: discover_software + in: formData + type: string + enum: + - 'yes' + - 'no' + discover_cloudid: + name: discover_cloudid + in: formData + type: string + enum: + - 'yes' + - 'no' + discover_applications: + name: discover_applications + in: formData + enum: + - 'yes' + - 'no' + type: string + discovered_service: + name: discovered_service + in: query + description: the name of the discovered service listening on this IP/port + type: string + discovered_service_post: + name: discovered_service + in: formData + description: the name of the discovered service listening on this IP/port + type: string + discover_services: + name: discover_services + type: string + enum: + - 'yes' + - 'no' + in: formData + discovered_process: + name: discovered_process + in: formData + description: the process name that has a handle to the port + type: string + domain: + name: domain + in: formData + description: name of the domain + type: string + required: true + days_before_expiry: + name: days_before_expiry + type: string + in: formData + description: number of days before secret is set as expired + dns_zone: + name: dns_zone + in: query + type: string + D42 ID for the rack(s): + name: D42 ID for the rack(s) + in: query + type: string + description: D42 ID for the part(s) + depends_on: + name: depends_on + in: formData + type: string + description: >- + Names of app components this component depends on, separated by commas - + must match component names exactly. + dependents: + name: dependents + in: formData + type: string + description: >- + Names of app components that depend on this component separated by commas + - must match component names exactly. + depends_on_reasons: + name: depends_on_reasons + in: formData + type: string + description: >- + list of string pairs for dependent appcomps on this appcomp e.g. => + depend_appcomp_name1:reason1, depend_appcomp_name2:reason2, + depend_appcomp_nameN:reason3 (added in v6.6.0) + delete_older_mac_association_after: + name: delete_older_mac_association_after + in: formData + type: string + description: number of days (added in v10.4.0) + delete_switch_port_not_found: + name: delete_switch_port_not_found + in: formData + type: string + description: yes or no to delete switch ports not found (added in v10.4.0) + direct_suggestion_only: + name: direct_suggestion_only + in: query + type: string + description: yes or no to suggest subnet only if is found directly on provided subnet (added in v18.08.00) + dramc_id: + name: dramc_id + in: query + type: string + description: ID of the DMARC + dmarc: + name: dmarc + in: query + type: string + description: DMARC name + email: + name: email + type: string + in: formData + description: Text field. + escalation_1: + name: escalation_1 + type: string + in: formData + description: Text field. + escalation_2: + name: escalation_2 + type: string + in: formData + description: Text field. + enduser: + name: enduser + in: query + type: string + description: filter by end user name + event_based: + name: event_based + in: query + type: string + description: only for schedule based services where startmode = ‘Scheduled’ + end_point_type: + name: end_point_type + in: query + enum: + - device + - circuit + - switchport + - vendor + - patch_panel_port + type: string + description: Type of end point. + end_point_type_post: + name: end_point_type + in: formData + type: string + enum: + - cable + - circuit + - switchport + - tap_port + - patch_panel_port + - vendor + description: Type of end point. + enable_resources_monitoring: + name: enable_resources_monitoring + in: formData + type: string + enum: + - 'yes' + - 'no' + end_point_id: + name: end_point_id + in: query + type: integer + description: ID of the end point + end_point_id_post: + name: end_point_id + in: formData + type: integer + description: ID of the end point. Must be used with end_point_type + end_point_device: + name: end_point_device + in: query + type: string + description: 'if end_point type is device, this is name of the device. Absent otherwise' + end_point_device_post: + name: end_point_device + in: formData + type: string + description: 'if end_point type is device, this is name of the device. Absent otherwise' + end_point_circuit_id: + name: end_point_circuit_id + in: query + type: string + description: >- + if end_point type is circuit, this is circuit_id of the circuit. Absent + otherwise + end_point_switchport: + name: end_point_switchport + in: query + type: string + description: >- + if end_point type is switchport, this is name of the switch port. Absent + otherwise + end_point_switch: + name: end_point_switch + in: query + type: string + description: >- + if end_point type is switchport, this is name of the switch. Absent + otherwise + end_point_patch_panel_port: + name: end_point_patch_panel_port + in: query + type: string + description: >- + if end_point type is patch_panel_port, this is name of the patch panel + port. Absent otherwise + end_point_patch_panel: + name: end_point_patch_panel + in: query + type: string + description: >- + if end_point type is patch_panel_port, this is name of the patch panel. + Absent otherwise + end_point_patch_panel_id: + name: end_point_patch_panel_id + in: query + type: string + description: >- + if end_point type is patch_panel_port, this is ID of the patch panel. + Absent otherwise + end_point_vendor: + name: end_point_vendor + in: query + type: string + description: if end_point type is vendor, this is name of the vendor. Absent otherwise + end_point_circuit_id_post: + name: end_point_circuit_id + in: formData + type: string + description: >- + if end_point type is circuit, this is circuit_id of the circuit. Absent + otherwise + end_point_switchport_post: + name: end_point_switchport + in: formData + type: string + description: >- + if end_point type is switchport, this is name of the switch port. Used with end_point_switch. Absent + otherwise + end_point_switch_post: + name: end_point_switch + in: formData + type: string + description: >- + if end_point type is switchport, this is name of the switch. Used with end_point_switchport. Absent + otherwise + end_point_patch_panel_port_post: + name: end_point_patch_panel_port + in: formData + type: string + description: >- + if end_point type is patch_panel_port, this is name of the patch panel + port. Absent otherwise + end_point_patch_panel_post: + name: end_point_patch_panel + in: formData + type: string + description: >- + if end_point type is patch_panel_port, this is name of the patch panel. + Absent otherwise + end_point_patch_panel_id_post: + name: end_point_patch_panel_id + in: formData + type: integer + description: >- + if end_point type is patch_panel_port, this is ID of the patch panel. + Absent otherwise + end_point_vendor_post: + name: end_point_vendor + in: formData + type: string + description: 'if end_point type is vendor, this is name of the vendor. Absent otherwise' + end_connector_type: + name: end_connector_type + in: formData + type: string + description: Connector Type (User Definable) + end_cable_type: + name: end_cable_type + in: formData + type: string + description: Endpoint Cable Type (User Definable) + end_cable_color: + name: end_cable_color + in: formData + type: string + description: Endpoint Cable Color + end_optic_type: + name: end_optic_type + in: formData + type: string + description: 'Optic Type (Definable, ie multimode)' + end_point_back_pach_panel: + name: end_point_back_pach_panel + in: formData + type: string + description: '' + end_point_multiple: + name: end_point_multiple + in: formData + type: string + enum: + - 'yes' + - 'no' + description: yes to allow multiple endpoints + end_ip_address: + name: end_ip_address + in: formData + type: string + description: End IP address + exclude_servers: + name: exclude_servers + in: formData + type: string + description: comma separated liste of addresses to exclude + firmware: + name: firmware + type: string + in: formData + first_number: + name: first_number + type: string + in: formData + description: 'default 0, add to change.' + first_added_lt: + name: first_added_lt + type: string + in: query + description: first added less than date YYYY-MM-DD format + first_added_gt: + name: first_added_gt + type: string + in: query + description: first added equal to or greater than date YYYY-MM-DD format + follow: + name: follow + type: string + in: query + description: >- + use yes if you want to see virtuals in a virtual host, modules in a blade + chassis and devices in a clustered device (Added in v5.7.4) + follow_chain: + name: follow_chain + type: string + in: formData + enum: + - 'yes' + - 'no' + default: 'no' + front_image_id: + name: front_image_id + type: string + in: formData + front_image: + name: front_image + type: string + in: formData + description: name of the image file (Added in v5.8.2) + front_patch_panel_id: + name: front_patch_panel_id + type: string + in: formData + description: >- + Name of the front patch panel - if a patch panel port is connected in + front (Added in v5.8.2) + front_patch_panel: + name: front_patch_panel + type: string + in: formData + description: >- + Name of the front patch panel - if a patch panel port is connected in + front (Added in v5.8.2) + front_port: + name: front_port + type: string + in: formData + description: >- + Number of the port on the front patch panel - if a patch panel port is + connected in front (Added in v5.8.2) + filesytem: + name: filesytem + in: formData + type: string + description: mountpoint filesystem + fstype: + name: fstype + in: formData + type: string + description: mountpoint filesystem type + free_capacity: + name: free_capacity + in: formData + type: string + description: free capacity of mountpoint in MB + grid_rows: + name: grid_rows + in: formData + description: number of rows in the room grid + type: string + grid_cols: + name: grid_cols + in: formData + description: number of columns in the room grid + type: string + gateway: + name: gateway + in: query + description: Gateway (added in v7.2.0) + type: string + gateway_post: + name: gateway + in: formData + description: Gateway (added in v7.2.0) + type: string + groups: + name: groups + in: query + description: >- + If multitenancy is on, admin groups that have access to this object are + specified here, e.g. Prod_East:no,Corp:yes specifies that the admin groups + for this object are Prod_East with view only permission and Corp with + change permission. If this parameter is present with no value, all groups + are deleted. + type: string + groups_post: + name: groups + in: formData + description: >- + If multitenancy is on, admin groups that have access to this object are + specified here, e.g. Prod_East:no,Corp:yes specifies that the admin groups + for this object are Prod_East with view only permission and Corp with + change permission. If this parameter is present with no value, all groups + are deleted. + type: string + group_owner: + name: group_owner + in: formData + description: >- + Name of group that is responsible for this component - must match group + name exactly. + type: string + groups_affected: + name: groups_affected + in: formData + description: >- + Names of affected groups separated by commas - must match group names + exactly. + type: string + get_all_switch_ports: + name: get_all_switch_ports + in: formData + enum: + - 'yes' + - 'no' + description: yes or no to get all switch ports (added in v10.4.0) + type: string + get_guest_os_info: + name: get_guest_os_info + in: formData + type: string + enum: + - 'yes' + - 'no' + hardware: + name: hardware + type: string + in: query + description: >- + filter by name of hardware model, comma separated for multiple hardware + models (or filter). (Added in v6.3.2) + hardware_ids: + name: hardware_ids + type: string + in: query + description: 'filter by ID of hardware models, comma separated' + hours: + name: hours + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + horizontal_grid_numbering: + name: horizontal_grid_numbering + type: string + in: formData + description: numeric by default + enum: + - numeric + - alphabetic + - alphabetic_doubled + horizontal_grid_start: + name: horizontal_grid_start + type: string + in: formData + hwaddress: + name: hwaddress + in: formData + description: mac or wwn. Required if no port. + type: string + hddsize: + name: hddsize + in: formData + description: 'enter in GB, e.g.: 250 GB enter 250' + type: string + hddtype: + name: hddtype + in: formData + description: new or existing + type: string + hddrpm: + name: hddrpm + in: formData + description: new or existing + type: string + height: + name: height + in: formData + description: room height + type: string + home_page: + name: home_page + type: string + in: formData + description: Text field. + hostname_to_use: + name: hostname_to_use + type: string + in: query + enum: + - '1 (Serial # / Reverse DNS / IP)' + - '2 (Discovered Name / Serial # / Reverse DNS / IP)' + - '3 (Reverse DNS / Discovered Name / Serial # / IP)' + required: true + hostname_precedence: + name: hostname_precedence + type: string + in: formData + enum: + - 'yes' + - 'no' + hostidlist: + name: hostidlist + type: string + in: formData + host_allow_duplicate_serials: + name: host_allow_duplicate_serials + type: string + in: formData + enum: + - 'yes' + - 'no' + id: + name: id + type: string + in: query + description: 'The ID of the software, required if not using NAME' + id_post: + name: id + type: string + in: formData + description: 'The ID of the software, required if not using NAME' + idle_time: + name: idle_time + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + is_it_switch: + name: is_it_switch + type: string + in: query + enum: + - 'yes' + - 'no' + description: filter by whether switch or not. Use yes or no. (Added in v6.3.2) + is_it_virtual_host: + name: is_it_virtual_host + type: string + in: query + description: filter by whether virtual host or not. Use yes or no. (Added in v6.3.2) + is_it_blade_host: + name: is_it_blade_host + type: string + in: query + description: filter by whether blade host or not. Use yes or no. (Added in v6.3.2) + if_parent_assigned: + name: if_parent_assigned + type: string + in: query + description: >- + no => Don't suggest subnet whose parents are assigned
                                            + yes => Suggest subnet even if parents are assigned + if_parent_allocated: + name: if_parent_allocated + type: string + in: query + description: >- + no => Don't suggest subnet whose parents are allocated
                                            + yes => Suggest subnet even if parents are allocated + imgfile_id: + name: imgfile_id + type: integer + in: formData + description: >- + Image file ID. + imgfile: + name: imgfile + type: string + in: formData + description: name of the image file (Added in v5.8.2). Use instead of imgfile_id + in_service: + name: in_service + type: string + in: query + description: filter by whether in service or not. Use yes or no. + in_service_status: + name: in_service + type: string + in: formData + description: Filter by whether in service or not. Use yes or no. + enum: + - 'yes' + - 'no' + install_date: + name: install_date + type: string + in: formData + description: The date that the software was installed + include_cols: + name: include_cols + type: string + in: query + description: >- + do not return all columns just the ones specified. For example, + ?include_cols=name, device_id, rack will only result in name, device_id, + and rack included in the output. The following column names can be part of + include_cols: name, device_id, rack, name, device_id, serial_no, asset_no, + uuid, notes, in_service, service_level, type, id, last_updated, tags, + customer_id, customer, hw_model, hw_size, manufacturer, hw_depth, rack, + start_at, rack_id, orientation, row, room, building, reversed, blade_host_name, + blade_host_id, slot_number, virtual_host_name, location, device_sub_type, + os, osarch, osver, osverno, custom_fields, device_purchase_line_items, + device_external_links, ip_addresses, mac_addresses, cpucount, cpucore, + cpuspeed, ram, hddcount, hddsize, hddraid, hddraid_type, hdd_details, + pdu_mapping_url,modules, vms, devices, aliases, xpos, ucs_manager, + preferred_alias + device_include_cols: + name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example, ?include_cols=name, device_id will only result in name and device_id + included in the output. The following column names can be part of include_cols: + device_id, name, type_id, type, serial_no, asset_no, uuid, notes, last_updated, first_added, objectcategory_id, + objectcategory, ucsmanager, service_level_id, service_level, customer_id, customer, customers, do_not_propagate_device_permissions, + in_service, virtual_host, blade_chassis, device_url, hardware_id, hardware, physicalsubtype_id, physicalsubtype, blade_slot_no, + host_chassis_device_id, chassis_slot_id, device_virtual_host_id, device_cluster_id, additional_location_info, rack_id, + start_at, orientation_id, orientation, xpos, where_id, where, reversed, virtualsubtype_id, virtualsubtype, datastores, + data_center, os_id, os_name, os_version, os_version_no, os_architecture_id, os_architecture, total_cpus, core_per_cpu, + threads_per_core, cpu_speed, hz_id, hz, ram, ram_size_type_id, ram_size_type, hard_disk_count, hard_disk_size, hard_disk_size_type_id, + hard_disk_size_type, hw_sw_raid, hw_sw_raid_id, raid_type, raid_type_id, building_id, calculated_building_id, storage_room, + storage_room_id, aliases, nonauthoritativealiases, custom_fields, tags + building_include_cols: + name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example, ?include_cols=name, building_id will only result in name and building_id + included in the output. The following column names can be part of include_cols: + building_id, name, address, contact_name, contact_phone, notes, tags, custom_fields, latitude, longitude, image_url + instance_id: + name: instance_id + in: formData + type: integer + description: The cloud instance ID of the device + ipv6: + name: ipv6 + in: query + description: 'if creating an ipv6 subnet, &ipv6 will need to be passed,' + type: string + required: true + ip: + name: ip + in: query + description: ip address (added in v6.3.0) + type: string + ips: + name: ips + in: query + description: Details for all the IPs + type: string + ip_id: + name: ip_id + in: query + description: D42 ID of the IP + type: string + ipaddress: + name: ipaddress + in: formData + description: >- + If a matching IP address is found, it will update the first matched IP + address(unless you specify a vrf_group or vrf_group_id, then it matches or + adds IP to that VRF group) + type: string + required: true + ip_address_from: + name: ip_address_from + in: formData + description: The external IP address + type: string + required: true + ip_address_from_end: + name: ip_address_from_end + in: formData + description: used for mapping a range of addresses rather than a single IP + type: string + ip_address_to: + name: ip_address_to + in: formData + description: The internal IP address + type: string + required: true + ip_address_to_end: + name: ip_address_to_end + in: formData + description: used for mapping a range of addresses rather than a single IP + type: string + ip_start: + name: ip_start + in: formData + description: starting IP address + type: string + required: true + ip_end: + name: ip_end + in: formData + description: 'ending IP address, use same as start for single address' + type: string + required: true + ignore_powered_off: + name: ignore_powered_off + in: formData + description: Ignore powered off vms + enum: + - 'yes' + - 'no' + type: string + ignore_guest_uuid: + name: ignore_guest_uuid + in: formData + type: string + enum: + - 'yes' + - 'no' + ignore_host_serial: + name: ignore_host_serial + in: formData + type: string + enum: + - 'yes' + - 'no' + ignore_host_uuid: + name: ignore_host_uuid + in: formData + type: string + enum: + - 'yes' + - 'no' + ignore_ipv6: + name: ignore_ipv6 + in: formData + type: string + enum: + - 'yes' + - 'no' + ignore_virt_subtype: + name: ignore_virt_subtype + in: formData + type: string + enum: + - 'yes' + - 'no' + initial_software_type: + name: initial_software_type + in: formData + type: string + enum: + - managed + - unmanaged + - prohibited + - ignored + job_id: + name: job_id + in: formData + description: D42 ID for the job + type: string + required: true + job_id_wname: + name: job_id + in: formData + description: D42 ID for the job - required if no name + type: string + joyent_keyname: + name: joyent_keyname + in: formData + description: Only for Joyent + type: string + key: + name: key + in: formData + description: Can be new or existing. This is the custom field name. + type: string + required: true + last_updated_lt: + name: last_updated_lt + type: string + in: query + description: last updated less than date YYYY-MM-DD format + last_updated_gt: + name: last_updated_gt + type: string + in: query + description: last updated equal to or greater than date YYYY-MM-DD format + limit: + name: limit + type: string + in: query + description: return this number of devices + location: + name: location + in: formData + type: string + description: Location/region of instance deployment + label: + name: label + in: query + type: string + label_post: + name: label + in: formData + type: string + length: + name: length + in: formData + type: string + description: Cable length + licensed_count_post: + name: licensed_count + in: formData + type: string + description: Number of purchased licenses of operating system + licensing_model: + name: licensing_model + in: formData + type: string + licensing_model_get: + name: licensing_model + in: formData + type: string + license_key: + name: license_key + in: formData + type: string + description: OS license key + line_type: + name: line_type + in: formData + type: string + description: required for any new line being added for both device or contract. + line_no: + name: line_no + in: formData + type: string + description: >- + required for existing line items, use existing line # to change existing + line item. + line_name: + name: line_name + in: formData + type: string + line_quantity: + name: line_quantity + in: formData + type: string + description: 'can be calculated automatically from # of objects associated' + line_cost: + name: line_cost + in: formData + type: string + description: cost for single object / item. + line_cost_center: + name: line_cost_center + in: formData + type: string + line_customer: + name: line_customer + in: formData + type: string + line_item_type: + name: line_item_type + in: formData + type: string + enum: + - device + - asset + - device_os + - rack + - shipping + - tax + - other + description: Default is device. + line_asset_ids: + name: line_asset_ids + in: formData + type: string + description: Comma separated asset_id. Only applicable if line_item_type is asset. + line_start_date: + name: line_start_date + in: formData + type: string + description: Date in YYYY-MM-DD format + line_end_date: + name: line_end_date + in: formData + type: string + description: Date in YYYY-MM-DD format + line_frequency: + name: line_frequency + in: formData + type: string + enum: + - one time + - monthly + - quarterly + - bi-annually + - annually + line_renew_date: + name: line_renew_date + in: formData + type: string + description: Date in YYYY-MM-DD format + line_cancel_policy: + name: line_cancel_policy + in: formData + type: string + line_contract_type: + name: line_contract_type + in: formData + type: string + line_service_type: + name: line_service_type + in: formData + type: string + description: 'new service type will be created, if it doesn’t exist (added in v9.0.2)' + line_contract_id: + name: line_contract_id + in: formData + type: string + description: (added in v9.0.2) + ldap_server: + name: ldap_server + type: string + in: formData + ldap_filter_type: + name: ldap_filter_type + type: string + in: formData + enum: + - all + - servers + - custom + - custom_ldap_filter + ldap_unpwd_id: + name: ldap_unpwd_id + type: string + in: formData + line_notes: + name: line_notes + in: formData + type: string + line_completed: + name: line_completed + in: formData + type: string + enum: + - 'yes' + - 'no' + line_devices: + name: line_devices + in: formData + type: string + description: >- + Comma separated device names. Only applicable if line_item_type is device. + Will create new devices if device with name specific here does not exist. + line_device_serial_nos: + name: line_device_serial_nos + in: formData + type: string + description: >- + Comma separated serial numbers. Only applicable if line_item_type is + device. Will only work on existing serial numbers. + line_device_asset_nos: + name: line_device_asset_nos + in: formData + type: string + description: >- + Comma separated asset numbers. Only applicable if line_item_type is + device. Will only work on existing asset numbers. + line_circuits: + name: line_circuits + in: formData + type: string + description: circuit ID name + line_circuit_ids: + name: line_circuit_ids + in: formData + type: string + description: D42 ID for the circuit(s) + line_building_ids: + name: line_building_ids + in: formData + type: string + description: D42 ID for the building(s) + line_certificate_ids: + name: line_certificate_ids + in: formData + type: string + description: D42 ID for the certificate(s) + line_software_ids: + name: line_software_ids + in: formData + type: string + description: D42 ID for the software + line_room_ids: + name: line_room_ids + in: formData + type: string + description: D42 ID for the room(s) + line_rack_ids: + name: line_rack_ids + in: formData + type: string + description: D42 ID for the rack(s) + line_part_ids: + name: line_part_ids + in: formData + type: string + description: D42 ID for the part(s) + line_device_os_ids: + name: line_device_os_ids + in: formData + type: string + description: D42 ID for the Device OS + line_devices_remove: + name: line_devices_remove + in: formData + type: string + description: >- + Comma separated device names to clear from a purchase line. Use * to clear all devices from a purchase line. + Use with line_no or line_name. + listening_ip: + name: listening_ip + in: formData + type: string + description: the name of the device + listener_device_name: + name: listener_device_name + in: query + type: string + description: Name of device with listening services + license_key_count: + name: license_key_count + type: string + in: formData + description: The number of licenses this software key supports + license_use_count: + name: license_use_count + type: string + in: formData + description: the number of licenses that are in use for this software instance + max_blades_per_row: + name: max_blades_per_row + in: formData + type: string + mask_bits: + name: mask_bits + in: query + description: mask bits (added in v7.2.0) + type: string + required: true + mask_bits_lt: + name: mask_bits_lt + in: query + description: less than mask bits (added in v7.2.0) + type: string + mask_bits_gt: + name: mask_bits_gt + in: query + description: greater than mask bits (added in v7.2.0) + type: string + mac: + name: mac + in: query + description: mac address + type: string + mac_id: + name: mac_id + in: formData + description: >- + mac_id references port_id value. mac_id available via GET at + /api/api/1.0/macs/ or Tools > Export > MAC Address * Please see note below + type: string + macaddress: + name: macaddress + in: formData + description: MAC address – can be new or existing + type: string + mapped_service: + name: mapped_service + in: query + description: the name of the mapped service listening on this IP/port + type: string + mapped_service_post: + name: mapped_service + in: formData + description: the name of the mapped service listening on this IP/port + type: string + match_name_only_for_virtuals: + name: match_name_only_for_virtuals + in: formData + type: string + enum: + - 'yes' + - 'no' + match_name_only_for_hypervisor: + name: match_name_only_for_hypervisor + in: formData + type: string + enum: + - 'yes' + - 'no' + module: + name: module + in: formData + description: >- + name of the blade that port belongs to. Blade device must be part of the + switch. (added in v5.8.1) + type: string + module_slot: + name: module_slot + in: formData + description: 'change patch panel port for a certain module slot # (Added in v5.8.2)' + type: string + media_type: + name: media_type + in: formData + description: Type of media + type: string + method: + name: method + in: formData + description: 'Backup method: 1 for mail,2 for sftp,3 for nfs or 4 for amazon s3' + type: string + required: true + minutes: + name: minutes + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + type: string + mtu: + name: mtu + in: formData + description: add value for mtu + type: string + month_of_year: + name: month_of_year + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + type: string + monitor_direction: + name: monitor_direction + in: formData + description: 'Direction - to, both (optional, only for PortCap: Monitor)' + type: string + monitor_port_1_id: + name: monitor_port_1_id + in: formData + type: integer + monitor_port_2_id: + name: monitor_port_2_id + in: formData + type: integer + mirror_port_id: + name: mirror_port_id + in: formData + type: integer + manufacturer: + name: manufacturer + in: query + type: string + description: name of the hardware manufacturer. + manufacturer_post: + name: manufacturer + in: formData + type: string + description: name of the hardware/software manufacturer. + module_host_id: + name: module_host_id + in: formData + type: integer + description: ID of Module Host + module_host: + name: module_host + in: formData + type: string + description: >- + Name of the Module host. Must be unique asset name for this to work. (use + instead of ID, Added in v5.8.2) + module_pos: + name: module_pos + in: formData + type: string + enum: + - horizontal + - vertical + module_position: + name: module_position + in: formData + type: string + description: >- + for Modular Patch Panel Models. Possible values are horizontal or vertical + (Added in v5.8.2) + module_not_found: + name: module_not_found + in: formData + type: string + description: >- + action to take on module not found. One of: Remove Host Association, + Change Service Level, Delete Module (default is no action) + modelno: + name: modelno + in: formData + type: string + description: 'Model # of the part model' + network: + name: network + in: query + description: optional + type: string + required: true + name_to_use_for_newly_discovered_module: + name: name_to_use_for_newly_discovered_module + type: string + in: formData + description: name to use + name_to_use_for_newly_discovered_pdu: + name: name_to_use_for_newly_discovered_pdu + type: string + in: formData + description: >- + one of: Name discovered by SNMP, Name plus serial number, Name plus serial + number plus IP + name: + name: name + type: string + in: query + description: filter by name (Added in v6.0.0) + new_name: + name: new_name + type: string + in: formData + description: Use to change name of object. + numbering_start_from_bottom: + name: numbering_start_from_bottom + type: string + in: formData + enum: + - 'yes' + - 'no' + description: 'default is yes, no to change, otherwise ignored.' + notes: + name: notes + in: query + type: string + description: Any additional notes + notes_post: + name: notes + in: formData + type: string + description: Any additional notes + number: + name: number + in: query + description: vlan number + type: integer + number_post: + name: number + in: formData + description: vlan number + type: integer + new_port: + name: new_port + in: formData + description: rename existing port + type: string + netport_id: + name: netport_id + in: formData + type: integer + nameserver: + name: nameserver + in: query + description: Nameserver + type: string + numbering_start_from: + name: numbering_start_from + in: formData + description: 'This is starting # for patch panel ports. Defaults to 1 if not entered.' + type: integer + number_of_ports: + name: number_of_ports + in: formData + description: >- + number of ports. required for creating a new patch panel type singular. + Ignored for patch panel type modular + type: string + number_of_ports_in_row: + name: number_of_ports_in_row + in: formData + description: >- + number of ports in a row. required for creating a new patch panel type + singular. Ignored for patch panel type modular + type: string + os: + name: os + type: string + in: query + description: filter by OS name (added in v8.3.0) + os_post: + name: os + type: string + in: formData + description: Operating system name.

                                            Use this parameter to create or change a device OS. See the device parameters above. + object_id: + name: object_id + type: integer + in: query + description: 'Filters by object ID (ie, device ID, asset ID)' + os_id: + name: os_id + type: string + in: query + description: Operating system ID + osver: + name: osver + type: string + in: formData + description: Operating system version name + osverno: + name: osverno + type: string + in: formData + description: Operating system version number + obj_label1: + name: obj_label1 + type: string + in: formData + description: object label 1 + obj_label2: + name: obj_label2 + type: string + in: formData + description: object label 2 + object_category: + name: object_category + type: string + in: formData + description: name of subnet category for discovered subnets + object_category_pdu: + name: object_category + type: string + in: formData + object_category_get: + name: object_category + type: string + in: query + description: filter by object category + origin_cable_type: + name: origin_cable_type + type: string + in: formData + description: Cable Type (User definable) + origin_cable_color: + name: origin_cable_color + type: string + in: formData + description: Origin Cable Color + object_category_id: + name: object_category_id + type: integer + in: query + description: filter by object category ID + origin_connector_type: + name: origin_connector_type + type: string + in: query + description: Connector Type (User Definable) + origin_connector_type_post: + name: origin_connector_type + type: string + in: formData + description: Connector Type (User Definable) + other_trigger: + name: other_trigger + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + other_type: + name: other_type + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + offset: + name: offset + type: string + in: query + description: >- + start with this device (e.g. limit=100&offset=50 means start with the 50th + device and return the next 100 devices) + override: + name: override + in: formData + description: >- + smart – will detect if the port_name passed exist or not, if not – it is + added to the current port name. Helpful, if you want to track all the port + names for that mac address (e.g. eth0 & bond0).
                                            yes – change the port + name. This is default behavior even if you don’t pass this parameter
                                            no + – will not change the port name + type: string + enum: + - smart + - 'yes' + - 'no' + overwrite_object_categories: + name: overwrite_object_categories + in: formData + enum: + - 'yes' + - 'no' + type: string + orientation_rack: + name: orientation + in: formData + type: string + description: >- + orientation of the rack in room layout view. Possible values: right, left, + up or down. + enum: + - left + - right + - up + - down + orientation_pdu: + name: orientation + in: formData + description: >- + orientation of the PDU in rack. back for rear facing, otherwise front is + default. + type: string + outlet_name: + name: outlet_name + in: formData + description: outlet name + type: string + outscale_regions: + name: outscale_regions + in: formData + description: Comma separated region names for Outscale + type: string + order_no: + name: order_no + in: query + description: Order number + type: string + order_date: + name: order_date + in: query + description: Order number + type: string + origin_type: + name: origin_type + in: query + enum: + - device + - circuit + - switchport + - vendor + - patch_panel_port + description: Type of origin point. + type: string + origin_type_post: + name: origin_type + in: formData + enum: + - cable + - circuit + - switchport + - tap_port + - patch_panel_port + description: Type of origin point. + type: string + origin_id: + name: origin_id + in: query + description: ID of the origin point + type: integer + origin_id_post: + name: origin_id + in: formData + description: ID of the origin point. Must be used with origin_type + type: integer + origin_device: + name: origin_device + in: query + description: 'if origin type is device, this is name of the device. Absent otherwise' + type: string + origin_device_post: + name: origin_device + in: formData + description: 'if origin type is device, this is name of the device. Absent otherwise' + type: string + origin_circuit_id: + name: origin_circuit_id + in: query + description: >- + if origin type is circuit, this is circuit_id of the circuit. Absent + otherwise + type: string + origin_circuit_id_post: + name: origin_circuit_id + in: formData + description: >- + if origin type is circuit, this is circuit_id of the circuit. Absent + otherwise + type: string + origin_switchport: + name: origin_switchport + in: query + description: >- + if origin type is switchport, this is name of the switch port. Absent + otherwise + type: string + origin_switchport_post: + name: origin_switchport + in: formData + description: >- + if origin type is switchport, this is name of the switch port. Used with origin_switch. Absent + otherwise + type: string + origin_switch: + name: origin_switch + in: query + description: 'if origin type is switchport, this is name of the switch. Absent otherwise' + type: string + origin_switch_post: + name: origin_switch + in: formData + description: 'if origin type is switchport, this is name of the switch. Absent otherwise. Used with origin_switchport' + type: string + origin_patch_panel_port: + name: origin_patch_panel_port + in: query + description: >- + if origin type is patch_panel_port, this is name of the patch panel port. + Absent otherwise + type: string + origin_patch_panel_port_post: + name: origin_patch_panel_port + in: formData + description: >- + if origin type is patch_panel_port, this is name of the patch panel port. + Absent otherwise + type: string + origin_patch_panel: + name: origin_patch_panel + in: query + description: >- + if origin type is patch_panel_port, this is name of the patch panel. + Absent otherwise + type: string + origin_patch_panel_id: + name: origin_patch_panel_id + in: query + description: >- + if origin type is patch_panel_port, this is ID of the patch panel. Absent + otherwise + type: string + origin_patch_panel_post: + name: origin_patch_panel + in: formData + description: >- + if origin type is patch_panel_port, this is name of the patch panel. + Absent otherwise + type: string + origin_patch_panel_id_post: + name: origin_patch_panel_id + in: formData + description: >- + if origin type is patch_panel_port, this is ID of the patch panel. Absent + otherwise + type: integer + origin_vendor: + name: origin_vendor + in: query + description: 'if origin type is vendor, this is name of the vendor. Absent otherwise' + type: string + origin_vendor_post: + name: origin_vendor + in: formData + description: 'if origin type is vendor, this is name of the vendor. Absent otherwise' + type: string + origin_optic_type: + name: origin_optic_type + in: formData + description: 'Optic Type (Definable, ie multimode)' + type: string + origin_back_patch_panel: + name: origin_back_patch_panel + in: formData + type: string + paired_ports: + name: paired_ports + in: formData + enum: + - 'yes' + - 'no' + type: string + patch_panel_model_id: + name: patch_panel_model_id + in: formData + description: Patch Panel Model ID or UI Tools > Export > Patch Panel Model + type: integer + patch_panel: + name: patch_panel + in: formData + description: Must be a unique asset name for this to work (Added in v5.8.2) + type: string + patch_panel_model: + name: patch_panel_model + in: formData + description: 'Name of the patch panel model (use instead of ID, Added in v5.8.2)' + type: string + powerunit_connection_ids: + name: powerunit_connection_ids + in: formData + description: A comma-separated list of PU IDs connected to this circuit + type: string + patch_panel_module_model_id: + name: patch_panel_module_model_id + in: formData + type: integer + description: ID of the Patch Panel Module model + patch_panel_module_model: + name: patch_panel_module_model + in: formData + description: 'Name of the patch panel module model (use instead of ID, Added in v5.8.2)' + type: string + parent_subnet_id: + name: parent_subnet_id + in: formData + description: 'Change the parent subnet of the subnet. Note: must be valid parent.' + type: string + parent_subnet_id_get: + name: parent_subnet_id + in: query + description: ID of the parent subnet + type: string + parent_subnet: + name: parent_subnet + in: query + description: parent subnet name + type: string + parent_subnet_with_mask: + name: parent_subnet + in: formData + description: >- + Parent subnet network with mask. The netowrk and mask sould be separated by /. Eg. 12.0.0.0/24 +
                                            Provide vrf_group or vrf_group_id if parent subnet belongs to a VRF Group. + Otherwise this will match a parent subnet without VRF group + type: string + parent_subnet_name: + name: parent_subnet_name + in: formData + description: >- + Parent subnet name.
                                            Provide vrf_group or vrf_group_id if parent subnet belongs to a VRF Group. + Otherwise this will match a parent subnet without VRF group + type: string + parent_mask_bits: + name: parent_mask_bits + in: formData + description: >- + only if searching within a VRF and you want to restrict to certain parents + with particular mask bits (added in v9.0.0) + type: string + parent_vlan_id: + name: parent_vlan_id + in: formData + type: string + part_no: + name: part_number + in: query + type: string + description: 'filter by part #' + part_no_post: + name: part_no + in: formData + type: string + part_id: + name: part_id + in: query + type: string + description: id of the part (added in v6.3.3) + partmodel_id: + name: partmodel_id + in: query + type: string + description: id of the part model (added in v6.3.3) + parent_pdu_id: + name: parent_pdu_id + in: formData + type: string + description: Available from /api/api/1.0/pdus/ or Tools + parent_pdu: + name: parent_pdu + in: formData + type: string + description: name of the parent PDU. Must be unique name. Added in v5.8.2 + partno: + name: partno + in: formData + description: 'Part # of the part model' + type: string + parent_port: + name: parent_port + in: formData + type: string + parent_port_device: + name: parent_port_device + in: formData + type: string + patch_panel_port_id: + name: patch_panel_port_id + in: formData + type: integer + pdu: + name: pdu + in: formData + type: string + description: name of the PDU. only works if the name is unique in the system + pdu_id: + name: pdu_id + in: formData + type: integer + description: ID of the PDU to be edited + pdu_model: + name: pdu_model + in: formData + type: string + description: >- + Name of the PDU model. You can use this instead of the ID above. (Added in + v5.8.2) + pdu_model_name: + name: pdu_model_name + in: formData + type: string + description: Name of the PDU model you want to add ports to. + pdu_model_id: + name: pdu_model_id + in: formData + type: string + description: ID of the PDU model you want to update + polling_interval: + name: polling_interval + in: formData + description: Polling interval in seconds. Adjusted to the nearest available interval value. (e.g., 300 = 5 minutes, 1800 = 30 minutes) + type: string + port: + name: port + in: query + description: child is optional assuming you have a parent created (see examples) + type: string + required: true + port_post: + name: port + in: formData + description: >- + child is optional assuming you have a parent created. Required if no + hwaddress
                                            Note: Do not use a port alias for the port name. + type: string + ports: + name: ports + in: formData + description: 'default is 443, comma separated' + type: string + port_name: + name: port_name + in: formData + description: 'Interface name. (Please note: This is NOT the switchport name.)' + type: string + port_id: + name: port_id + in: query + description: >- + For the port and switch option, port refers to the switchport name (not + the interface name) and switch refers to the device name of the switch. + type: string + port_number: + name: port_number + in: query + description: port number + type: string + port_capability: + name: port_capability + in: formData + description: 'Port Capability - Device, Monitor' + type: string + port_to_from_id: + name: port_to_from_id + in: formData + type: integer + port_type: + name: port_type + in: query + description: 'Port Type Name - RJ45, RJ11, Fiber LC, Fiber SC, Fiber FC' + type: string + required: true + port_type_id: + name: port_type_id + in: formData + type: integer + po_date: + name: po_date + in: formData + type: string + port_name_prefix_to_ignore_macs: + name: port_name_prefix_to_ignore_macs + in: formData + type: string + prio: + name: prio + in: formData + description: Priority for MX record. + type: string + protocol: + name: protocol + in: formData + description: 'the transport protocol, ie TCP' + type: string + psu_label: + name: psu_label + in: formData + description: >- + typically used when device has multiple power supplies, e.g.: power supply + 1, power supply 2, etc. + type: string + purchase_id: + name: purchase_id + in: query + description: Device42 Purchase ID + type: string + plain_text: + name: plain_text + in: query + enum: + - 'yes' + - 'no' + description: >- + Decrypt the password and return the plain text version. ?plain_text=yes + will decrypt and display the password. + type: string + platform: + name: platform + in: formData + type: string + enum: + - windows + - classic winrm + - docker api + - docker + - nutanix + - linux + - vmware + - unix + - aix hmc + - openvz + - oracle vm + - lxc + - kvm + - libvirt + - ovirt + - redhat + - citrix xen + - sccm + password: + name: password + type: string + in: formData + description: The password for the given username. + phone: + name: phone + type: string + in: formData + description: Text field. + provision_date: + name: provision_date + type: string + in: query + description: Text field. + prepend_vmhostname: + name: prepend_vmhostname + type: string + in: formData + enum: + - 'yes' + - 'no' + get_power_units_id: + name: id + type: integer + in: query + description: ID of Power Unit + get_power_units_name: + name: name + type: string + in: query + description: Name of Power Unit + get_power_units_type: + name: type + type: string + in: query + description: Type of Power Unit + enum: + - 'PDU' + - 'UPS' + - 'ATS' + - 'Environment Monitor' + get_power_units_pdu_model_id: + name: pdu_model_id + type: integer + in: query + description: ID of Power Unit Model + get_power_units_pdu_model: + name: pdu_model + type: string + in: query + description: Name of Power Unit Model + get_power_units_building_id: + name: building_id + type: integer + in: query + description: ID of Building that the Power Unit is in. + get_power_units_room_id: + name: room_id + type: integer + in: query + description: ID of Room that the Power Unit is in. + get_power_units_rack_id: + name: rack_id + type: integer + in: query + description: ID of Rack that the Power Unit is on + get_power_units_serial_no: + name: serial_no + type: integer + in: query + description: Serial Number of Power Unit + get_power_units_device_id: + name: device_id + type: integer + in: query + description: ID of Device + get_power_units_gateway_pdu_id: + name: gateway_pdu_id + type: integer + in: query + description: ID of gateway Power Unit + post_power_units_name: + name: name + type: string + in: formData + required: true + description: Name of Power Unit + post_power_units_type: + name: type + type: string + in: formData + enum: + - 'PDU' + - 'UPS' + - 'ATS' + - 'Environment Monitor' + description: Type of Power Unit. Default is Pdu + post_power_units_pdu_model_id: + name: pdu_model_id + type: integer + in: formData + description: ID of Power Unit Model. Only pdu_model_id or pdu_model can be used. + post_power_units_pdu_model: + name: pdu_model + type: string + in: formData + description: Name of Power Unit Model. Only pdu_model_id or pdu_model can be used. + post_power_units_notes: + name: notes + type: string + in: formData + description: Any additional notes + post_power_units_rated_power: + name: rated_power + type: string + in: formData + description: >- + Rated Power of Power Unit. No need to use this field if infeeds are shown. + (e.g. 250 amps or maybe something like 75a / 75a / 75a for a 3-phase pdu) + post_power_units_outlet_name: + name: outlet_name + type: string + in: formData + description: Name of outlet the Power Unit Port is using + post_power_units_pdu_serial_no: + name: pdu_serial_no + type: integer + in: formData + description: Serial number of Power Unit + post_power_units_device: + name: device + type: string + in: formData + description: Name of Device that maps with Power Unit + post_power_units_serial_no: + name: serial_no + type: integer + in: formData + description: Serial number of device + post_power_units_asset_no: + name: asset_no + type: integer + in: formData + description: Asset number of device + post_power_units_storage_room_id: + name: storage_room_id + type: integer + in: formData + description: ID of storage room power unit is in. Only storage_room_id or storage_room can be used. + post_power_units_storage_room: + name: storage_room + type: string + in: formData + description: Name of storage room power unit is in. Only storage_room_id or storage_room can be used. + post_power_units_object_category: + name: object_category + type: string + in: formData + description: Name of Object Category + post_power_units_new_object_category: + name: new_object_category + type: string + in: formData + description: Use to change Object Category + post_power_units_gateway_pdu_id: + name: gateway_pdu_id + type: integer + in: formData + description: >- + ID of gateway PDU to set. Only gateway_pdu_id or gateway_pdu can be used. + You cannot set gateway power unit when a device mapping is set. + post_power_units_gateway_pdu: + name: gateway_pdu + type: string + in: formData + description: >- + Name of gateway PDU to set. Only gateway_pdu_id or gateway_pdu can be used. + You cannot set gateway power unit when a device mapping is set. + post_power_units_tags: + name: tags + type: string + in: formData + description: Add tags to Power Unit + put_power_units_pdu_id: + name: pdu_id + type: integer + in: formData + description: ID of Power Unit. Either 'name' or 'pdu_id' is REQUIRED. + put_power_units_name: + name: name + type: string + in: formData + description: Name of Power Unit. Either 'name' or 'pdu_id' is REQUIRED. + put_power_units_new_name: + name: new_name + type: string + in: formData + description: Use to change the name of the Power Unit + put_power_units_tags_remove: + name: tags_remove + type: string + in: formData + description: Use to remove tags + delete_power_units_id: + name: id + type: integer + in: path + description: ID of Power Unit + run: + name: run + type: string + in: formData + required: true + description: yes to start + run_as_operator: + name: run_as_operator + type: string + in: formData + enum: + - 'yes' + - 'no' + overwrite_device_name: + name: overwrite_device_name + type: string + in: formData + enum: + - 'yes' + - 'no' + row: + name: row + type: string + in: formData + description: >- + this row field is for the name of the rows, and not related to the grid + positioning of the rack + room_id: + name: room_id + type: integer + in: query + description: filter by room ID (Added in v5.9.0) + room_id_post: + name: room_id + type: string + in: formData + description: Room ID if Room name is not unique + room: + name: room + type: string + in: query + description: >- + filter by room name. Only works if room ID is not present (Added in + v5.9.0) + raid_type: + name: raid_type + type: string + in: formData + description: type of RAID + raid_group: + name: raid_group + type: string + in: formData + description: RAID group name + ramsize: + name: ramsize + type: string + in: formData + description: 'enter in MB, e.g.: 8 GB enter 8192' + ramtype: + name: ramtype + type: string + in: formData + description: 'e.g.: DDR3' + ramspeed: + name: ramspeed + type: string + in: formData + description: 'e.g.: 1600' + rack_id: + name: rack_id + type: integer + in: query + description: filter by rack ID (Added in v5.9.0) + rack: + name: rack + type: string + in: query + description: >- + filter by rack name. Only works if rack ID is not present (Added in + v5.9.0) + rated_power: + name: rated_power + type: string + in: formData + related_field_name: + name: related_field_name + type: string + in: formData + enum: + - appcomp + - building + - businessapp + - certificate + - circuit + - cloudinfrastructure + - costcenter + - customer + - device + - dns_zone + - endusers + - hardware + - ip_address + - netport + - organisation + - os + - pdu + - pdu_model + - powercircuit + - purchase + - rack + - room + - servicecategory + - software_category + - software + - vlan + description: >- + Required if type = related_field. The existing field to relate this + custom field to. Below are details for some of the fields that have been renamed + or require further clarification. + appcomp (for application components), businessapp (for Business Service), + circuit (for Telco Circuit), cloudinfrastructure (for Cloud Account), + hardware (for device hardware model), netport (for Switch Port), + organisation (for Vendor), pdu (for Power Unit), pdu_model (for Power Unit Model), + purchase (for Purchase Order), software (for Software Component), + vlan (for Subnet) + related_device_id: + name: related_device_id + type: integer + in: query + description: ID of the related device (added in v9.3.0) + raised_floor: + name: raised_floor + type: string + in: formData + enum: + - 'yes' + - 'no' + raised_floor_height: + name: raised_floor_height + type: string + in: formData + description: height of raised floor + reverse_xaxis: + name: reverse_xaxis + type: string + in: formData + enum: + - 'yes' + - 'no' + description: '''yes'' reverses the numbering order on the x-axis' + reverse_yaxis: + name: reverse_yaxis + type: string + in: formData + enum: + - 'yes' + - 'no' + description: '''yes'' reverses the numbering order on the y-axis' + remote_collector_id: + name: remote_collector_id + type: string + in: formData + range_begin: + name: range_begin + in: query + description: Range Begin (added in v7.2.0) + type: string + range_begin_post: + name: range_begin + in: formData + description: Range Begin (added in v7.2.0) + type: string + range_end: + name: range_end + in: query + description: Range End (added in v7.2.0) + type: string + range_end_post: + name: range_end + in: formData + description: Range End (added in v7.2.0) + type: string + remove_unfound_instances: + name: remove_unfound_instances + in: formData + type: string + enum: + - 'yes' + - 'no' + remote_port_id: + name: remote_port_id + in: formData + description: ID of the remote connected switch port. + type: string + remote_ips: + name: remote_ips + in: formData + description: >- + the comma separated list of remote IPs that are connected to this + listening IP/port + type: string + remote_device: + name: remote_device + in: formData + description: Name of the switch for remote connected switch port. + type: string + remote_port: + name: remote_port + in: formData + description: Name of the port for remote connected switch port. + type: string + remote_port_clear: + name: remote_port_clear + in: formData + enum: + - 'yes' + - 'no' + description: 'if set to yes, will clear the remote port' + type: string + reserve_ip: + name: reserve_ip + in: query + enum: + - 'yes' + - 'no' + description: >- + If value of yes is passed, the suggested IP is reserved. Return value also + adds reserved as yes or no. (added in v7.2.0) + type: string + row_size: + name: row_size + in: formData + description: How many rows long the rack is + type: string + snmp_string: + name: snmp_string + in: formData + type: string + description: 'required, if new' + snmp_port: + name: snmp_port + in: formData + type: integer + description: snmp port (integer only) (added in v10.4.0) + snmp_version: + name: snmp_version + in: formData + type: string + default: v2c + enum: + - v1 + - v2c + - v3 + snmp_string_id: + name: snmp_string_id + in: formData + type: string + description: The id of the password for the community string + snmp_strings: + name: snmp_strings + in: formData + type: string + description: >- + Can be comma separated list of community strings to use multiple community + strings + snmp_string_ids: + name: snmp_string_ids + in: formData + type: string + description: >- + Can be comma separated list of community string IDs to use multiple + community strings + snmpv3_auth_password_id: + name: snmpv3_auth_password_id + in: formData + type: string + description: The id of the password for the auth password + snmpv3_privacy_protocol_password_id: + name: snmpv3_privacy_protocol_password_id + in: formData + type: string + description: The id of the password for the privacy protocol password + snmpv3_user: + name: snmpv3_user + in: formData + type: string + description: name of snmp v3 user (added in v10.4.0) + snmpv3_auth_mode: + name: snmpv3_auth_mode + in: formData + type: string + enum: + - noAuthoNoPriv + - authNoPriv + - authPriv + snmpv3_auth_protocol: + name: snmpv3_auth_protocol + in: formData + type: string + enum: + - MD5 + - SHA + - SHA256 + - SHA512 + snmpv3_auth_password: + name: snmpv3_auth_password + in: formData + type: string + description: password (added in v10.4.0) + snmpv3_privacy_protocol: + name: snmpv3_privacy_protocol + in: formData + type: string + enum: + - DES + - 3DES + - AES + - AES128 + - AES192 + - AES192C + - AES256 + - AES256C + snmpv3_privacy_protocol_password: + name: snmpv3_privacy_protocol_password + in: formData + type: string + description: password (added in v10.4.0) + snmpv3_context: + name: snmpv3_context + in: formData + type: string + schedule_time: + name: schedule_time + in: formData + type: string + description: >- + Time in HH:MM format if you want to schedule the job. Note: Must be + formatted as text NOT date. For multiple schedules, separate with a slash + (/). + schedule_days: + name: schedule_days + in: formData + type: string + description: >- + Comma separated days of week, where Monday = 0. e.g. 0,1,2 will set the job + for Mon, Tue and Wed. For multiple schedules, separate with a slash (/). + strip_domain_name: + name: strip_domain_name + in: formData + type: string + enum: + - 'yes' + - 'no' + strip_domain_suffix: + name: strip_domain_suffix + in: formData + type: string + description: Strip domain suffix if discovered on VMs or hypervisor + enum: + - 'yes' + - 'no' + service_type: + name: service_type + type: string + in: query + description: could be ignored or tracked. Default is tracked. + secret_key: + name: secret_key + type: string + in: formData + description: Amazon AWS, MS Azure, OpenStack, Google Cloud, Alibaba Cloud, Oracle Cloud + secret_key_id: + name: secret_key_id + type: string + in: formData + description: Amazon AWS, MS Azure, OpenStack, Google Cloud, Alibaba Cloud, Oracle Cloud + server: + name: server + type: string + in: formData + description: IP or FQDN of target server + required: true + service_level_device_id: + name: service_level_device_id + type: string + in: formData + service_name: + name: service_name + type: string + in: query + required: true + description: The executable name of the service + service_display_name: + name: service_display_name + type: string + in: query + required: true + description: The user freindly display name of the service + service_id: + name: service_id + type: string + in: query + description: filter by id of the service + service_detail_id: + name: service_detail_id + type: string + in: query + description: filter by id of the service in use + serial_no: + name: serial_no + type: string + in: query + description: 'filter by serial # (Added in v6.0.0)' + serial_no_contains: + name: serial_no_contains + type: string + in: query + description: filter by partial serial match (Added in 9.7.1) + sequential_numbering_for_ports: + name: sequential_numbering_for_ports + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Could be “yes” or “no”. Yes if ports are numbered starting from 1. + skip_vlan_indexing: + name: skip_vlan_indexing + type: string + in: formData + description: yes or no (added in v10.4.0) + status: + name: status + in: formData + type: string + description: 'Instance status (ie, running, stopped)' + state: + name: state + in: query + type: string + description: >- + The current running state of this service. Valid values are ‘Running’, + ‘Started’, ‘Paused’, ‘Stopped’ and ‘Unknown’ + startmode: + name: startmode + in: query + type: string + description: >- + The start mode of this service - valid values are ‘Automatic’, ‘Manual’, + ‘Disabled’ and ‘Unknown’ + subnet_id: + name: subnet_id + in: query + description: ID of the subnet (added in v7.2.0) + type: string + subnets_type: + name: type + in: formData + enum: + - 'Static' + - 'DHCP' + - 'Reserved' + - 'D42_NULL' + description: type of the subnet. Pass D42_NULL to empty out type. + type: string + subscriptionid: + name: subscriptionid + in: formData + description: MS Azure Subscription ID + type: string + subnet: + name: subnet + in: query + description: name of the subnet + type: string + sudo_retry: + name: sudo_retry + in: formData + type: string + service_level: + name: service_level + type: string + in: query + description: filter by service level name + service_level_post: + name: service_level + type: string + in: formData + description: Must already exist + show_on_chart: + name: show_on_chart + type: string + in: formData + description: Show the field on impact charts + slot_numbering: + name: slot_numbering + type: string + in: formData + enum: + - top_to_bottom + - bottom_to_top + - left_to_right + - right_to_left + switch: + name: switch + in: formData + description: >- + d42 will look for existing port and switch combination and if it exists, + will update that port. + type: string + switch_ids: + name: switch_ids + in: formData + description: Comma separated values for switch_ids
                                            Only vlans with these switch_ids will be merged + type: string + switch2_id: + name: switch2_id + in: query + description: ID of the 2nd network device port is on + type: string + switchport_id: + name: switchport_id + in: formData + description: >- + ID for the switch port. Available via GET at /api/api/1.0/switchports/ or + Tools > Export > Switch Port + type: string + speed: + name: speed + in: formData + description: update port speed + type: string + slave_ports: + name: slave_ports + in: formData + description: comma separated port names + type: string + switch_template_id: + name: switch_template_id + in: formData + required: true + description: GET all Switch Templates + type: string + source_port_start: + name: source_port_start + in: formData + description: Starting port for source IP range + type: string + source_port_end: + name: source_port_end + in: formData + description: used for mapping a range of ports rather than a single port + type: string + software_id: + name: software_id + type: string + in: query + description: filter by id of the software + software_detail_id: + name: software_detail_id + type: string + in: query + description: filter by id of the software + software: + name: software + type: string + in: formData + description: the name of the software + required: true + software_name: + name: software_name + type: string + in: query + description: filter by name of the software component + software_type: + name: software_type + type: string + in: query + description: 'Filter by software type (managed, unmanaged, prohibited or ignored)' + deployment_type: + name: deployment_type + type: string + in: query + description: 'Filter by deployment type (saas, mobile, desktop or server)' + size: + name: size + in: formData + type: string + description: Size of the PDU in U + storage_room_id: + name: storage_room_id + in: formData + type: string + description: ID of storage room to assign power unit to + storage_room: + name: storage_room + in: formData + type: string + description: Name of storage room to apply power unit to + store_config_files: + name: store_config_files + in: formData + type: string + enum: + - 'yes' + - 'no' + start_ip_address: + name: start_ip_address + in: formData + type: string + description: Legacy Field. Please use Server property + start_row: + name: start_row + in: formData + type: string + description: 'Starting row for rack, for grid positioning' + start_col: + name: start_col + in: formData + type: string + description: 'Starting column for the rack, for grid positioning' + start_at: + name: start_at + in: formData + type: string + description: Required if adding to rack. U Start location. + slot_no: + name: slot_no + in: formData + type: integer + description: Number of slot on rack + spec_url: + name: spec_url + in: formData + type: string + description: Specification url for the hardware model. + tags: + name: tags + type: string + in: query + description: >- + filter by tags. comma separated for multiple tags (This is an OR filter, + gets all the devices for all comma separated tags) + tags_and: + name: tags_and + type: string + in: query + description: >- + filter by all the tags, separated by comma. (This is an AND filter and all + tags have to match for filter, this was added in v6.3.1) + tags_remove: + name: tags_remove + type: string + in: formData + description: remove tags from a switchport + tags_post: + name: tags + type: string + description: add tags (comma separated) + in: formData + tags_remove_generic: + name: tags_remove + type: string + in: formData + description: remove tags (comma separated) + target: + name: target + type: string + in: formData + description: list of ip(s), ip range(s), cidr(s) and fqdn(s) to run discovery on + required: true + exclude_targets: + name: exclude_targets + type: string + in: formData + description: list of ip(s), ip range(s), cidr(s) and fqdn(s) to exclude from discovery + tenant: + name: tenant + type: string + in: formData + description: OpenStack Project name; Google Project ID; Oracle Tenant ID; Arista CloudVision Tenant; Workspace ONE Tentant; + type: + name: type + type: string + in: query + description: >- + filter by device type (physical, virtual, blade, other, cluster or + unknown) + required: true + ttl: + name: ttl + in: query + description: TTL value. + type: string + target_port_start: + name: target_port_start + in: formData + description: Starting port for target IP range + type: string + target_port_end: + name: target_port_end + in: formData + description: used for mapping a range of ports rather than a single port + type: string + two_way_relation: + name: two_way_relation + in: formData + enum: + - true + - false + description: >- + true if the internal IP addressed is masked with the external IP address + for outbound traffic in addition to inbound traffic. Default is false. + type: string + token_key: + name: token_key + in: formData + description: DigitalOcean Token Key - required for DigitalOcean. + type: string + token_id: + name: token_id + in: path + description: The id of the token + type: integer + required: true + total_count: + name: total_count + in: query + description: Count of IPs returned (use with offset as max results are limited to 1000) + type: string + toggle_in_service_on_module_power_state: + name: toggle_in_service_on_module_power_state + in: formData + description: yes or no + type: string + toggle_service_level_on_vm_power_state: + name: toggle_service_level_on_vm_power_state + in: formData + type: string + enum: + - 'yes' + - 'no' + threads: + name: threads + in: formData + description: number of threads + type: string + track_licensed_by_count: + name: track_licensed_count_by_keys + type: string + in: formData + enum: + - 'yes' + - 'no' + description: whether or not to track software by discovered count + track_vm_name_change: + name: track_vm_name_change + type: string + in: formData + enum: + - 'yes' + - 'no' + turn_on_date: + name: turn_on_date + type: string + in: query + use_only_users_remove: + name: use_only_users_remove + type: string + in: formData + description: A comma separated list of users to remove use only permissions. + use_only_groups: + name: use_only_groups + type: string + in: formData + description: A comma separated list of user groups that have use permissions. + use_only_groups_remove: + name: use_only_groups_remove + type: string + in: formData + description: A comma separated list of user groups to remove use permissions. + uuid: + name: uuid + type: string + in: query + description: filter by uuid (exact match) (Added in v6.3.2) + user_id: + name: user_id + type: string + in: query + description: filter by id of the user + uom: + name: uom + in: formData + type: string + enum: + - m + - in + description: unit of measurement (meters or inches) + up: + name: up + in: formData + description: = yes for up. = no for down. + enum: + - 'yes' + - 'no' + type: string + up_admin: + name: up_admin + in: formData + description: Whether port is administratively up or down. = yes for up. = no for down. + type: string + enum: + - 'yes' + - 'no' + update_model_if_found: + name: update_model_if_found + in: formData + enum: + - 'yes' + - 'no' + type: string + user: + name: user + in: formData + description: enduser name + type: string + use_name_alias_port_descr: + name: use_name_alias_port_descr + in: formData + enum: + - 'yes' + - 'no' + description: yes to use alias for port description during discovery (added in v8.3.2) + type: string + use_service_account: + name: use_service_account + in: formData + type: string + enum: + - 'yes' + - 'no' + use_domain_server: + name: use_domain_server + in: formData + type: string + enum: + - 'yes' + - 'no' + use_fqdn: + name: use_fqdn + in: formData + type: string + enum: + - 'yes' + - 'no' + username: + name: username + in: query + description: Retrieve all the secrets with the specified username. ?username= + type: string + username_post: + name: username + in: formData + type: string + username_and_password: + name: username_and_password + type: string + in: query + description: Create a new password. + url: + name: url + type: string + in: formData + description: Cloudstack IP address - required for CloudStack + url_prefix: + name: url_prefix + type: string + in: formData + description: http or https + url_suffix: + name: url_suffix + type: string + in: formData + description: append suffix to discovery url + voltage: + name: voltage + type: string + in: formData + description: The rated voltage on this circuit + vm_name_to_use: + name: vm_name_to_use + type: string + in: formData + description: “found from vm tools” or “as named on vserver” + vm_not_found: + name: vm_not_found + type: string + in: formData + enum: + - Remove Host Association + - Change Service Level + - Delete VM + - Do Nothing + description: Choose how to handle VM not found in discovery + vm_add_disk: + name: vm_add_disk + type: string + in: formData + enum: + - 'yes' + - 'no' + virtual_host_name: + name: virtual_host_name + type: string + in: query + description: filter by virtual host name + virtual_subtype: + name: virtual_subtype + type: string + in: query + description: filter by virtual subtype (added in v8.3.2) + virtualsubtype_id: + name: virtualsubtype_id + type: string + in: formData + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' + - '9' + - '10' + - '11' + - '12' + - '13' + - '14' + - '15' + - '16' + - '17' + - '18' + - '19' + - '20' + - '21' + - '22' + - '23' + - '24' + - '25' + - '26' + - '27' + - '28' + - '29' + - '30' + - '31' + - '32' + - '33' + description: >- + Virtual subtype id. Only for virtual devices. +
                                            1. Internal VM 2. Amazon EC2 Instance 3. Azure Cloud Service +
                                            4. Azure SQL Server 5. Azure Storage 6. Other +
                                            7. Outscale Instance 8. Linode Instance 9. DigitalOcean Instance +
                                            10. Azure Virtual Machine 11. VMWare 12. Citrix/Xen +
                                            13. KVM 14. Hyper-V 15. Docker Container +
                                            16. LXC Container 17. Rackspace VM 18. Softlayer VM +
                                            19. QEMU 20. Joyent Instance 21. VirtualBox +
                                            22. Oracle VM 23. OpenStack 24. Xen +
                                            25. LPAR 26. GCE 27. Amazon Service +
                                            28. Context 29. Alibaba Cloud Instance 30. Oracle Cloud Instance +
                                            31. Kubernetes Container 32. AIX VIOS 33. Nutanix AHV + vertical_grid_numbering: + name: vertical_grid_numbering + type: string + in: formData + enum: + - numeric + - alphabetic + - alphabetic_doubled + description: numeric by default + vertical_grid_start: + name: vertical_grid_start + type: string + in: formData + vrf_group_id: + name: vrf_group_id + in: query + description: ID of the VRF group + type: string + vrf_group_id_post: + name: vrf_group_id + in: formData + description: ID of the VRF group + type: integer + vrf_group_from: + name: vrf_group_from + in: formData + description: Originating VRF Group Name + type: string + vrf_group_id_from: + name: vrf_group_id_from + in: formData + description: Originating VRF Group ID + type: string + vrf_group_to: + name: vrf_group_to + in: formData + description: Destination VRF Group Name + type: string + vrf_group_id_to: + name: vrf_group_id_to + in: formData + description: Destination VRF Group ID + type: string + vrf_group: + name: vrf_group + in: query + description: VRF group name + type: string + vrf_group_post: + name: vrf_group + in: formData + description: VRF group name + type: string + vrfgroup: + name: vrfgroup + in: formData + description: name of vrf group for discovered subnets (added in v10.4.0) + type: string + vendor: + name: vendor + in: query + type: string + description: The cloud vendor + vendor_post: + name: vendor + in: formData + type: string + description: The cloud vendor + vendor_name: + name: name + in: query + description: The name of vendor to filter by. + type: string + vlan_id: + name: vlan_id + in: query + description: ID of the vlan + type: string + vlan_id_post: + name: vlan_id + in: formData + description: ID of the vlan + type: string + vlan: + name: vlan + type: string + in: formData + description: Primary Vlan. Use the value 'D42_NULL' to clear up the content of the primary vlan field. + vlans: + name: vlans + type: string + in: formData + description: list of vlans separated by commas. + vlan_ids: + name: vlan_ids + type: string + in: formData + description: list of vlan ids separated by commas. + clear_vlans: + name: clear_vlans + type: string + in: formData + description: list of vlans to be removed separated by commas. + clear_vlan_ids: + name: clear_vlan_ids + type: string + in: formData + description: list of vlan ids to be removed separated by commas. + clear_switch_ids: + name: clear_switch_ids + type: string + in: formData + description: list of switch ids to be removed separated by commas. + clear_switches: + name: clear_switches + type: string + in: formData + description: list of switches to be removed separated by commas. + value: + name: value + in: formData + type: string + description: This will set the value of the custom field for the specific object. + version: + name: version + type: string + in: formData + description: The version number of the software + view_users: + name: view_users + type: string + in: formData + description: >- + A comma separated list of users that have permission to view this + secret. + view_edit_users: + name: view_edit_users + type: string + in: formData + description: >- + A comma separated list of users that have permission to view and edit this + secret. + view_groups: + name: view_groups + type: string + in: formData + description: >- + A comma separated list of user groups that have permission to view this + secret. + view_users_remove: + name: view_users_remove + type: string + in: formData + description: A comma separated list of users to remove view permissions. + view_edit_users_remove: + name: view_edit_users_remove + type: string + in: formData + description: A comma separated list of users to remove view and edit permissions. + view_groups_remove: + name: view_groups_remove + type: string + in: formData + description: A comma separated list of user groups to remove use permissions. + view_edit_groups: + name: view_edit_groups + type: string + in: formData + description: A comma separated list of user groups that have view and edit permissions. + view_edit_groups_remove: + name: view_edit_groups_remove + type: string + in: formData + description: A comma separated list of user groups to remove view and edit permissions. + vlans_to_ignore: + name: vlans_to_ignore + type: string + in: formData + description: list of vlan ids to ignore separated by commas (added in v10.4.0). Use the value 'D42_NULL' to clear up the content of the vlans_to_ignore field. + weeks: + name: weeks + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + wall: + name: wall + type: string + in: query + description: >- + Can be one of ‘left’, ‘right’, ‘top’, ‘bottom’, ‘middle’. Choose ‘middle’ + if you do not want the object placed along one of the 4 walls. + where: + name: where + type: string + in: formData + enum: + - above + - below + - left + - right + - rack mounted + - shelf + description: >- + Location in a rack. Note: If mounted a size must be provided or available + from the hardware model. + watts: + name: watts + type: string + in: formData + description: per power supply + watts_get: + name: watts + type: string + in: query + description: filter by exact watts + what: + name: what + type: string + in: formData + description: Description of business impact due to loss of component. + width_ratio_get: + name: width_ratio + type: string + in: query + description: Get hardware by it's width ratio. 'Default=1. Can be 1/2, 1/3, 1/4, 1/5,1/6, 1/7, 1/8, 1/9, 1/10, 1/20' + width_ratio_post: + name: width_ratio + type: string + in: formData + enum: + - '1' + - '1/2' + - '1/3' + - '1/4' + - '1/5' + - '1/6' + - '1/7' + - '1/8' + - '1/9' + - '1/10' + - '1/20' + description: >- + Width ratio. Default: 1.
                                            + If given value is other than allowed values, default value will be assigned. + x_pos: + name: x_pos + type: integer + minimum: 0 + maximum: 2520 + in: formData + description: >- + A number between 0 and 2520 representing the position within the u slot in + increments of 252, which is equal to 1/10th of the width of the rack. 0 + will place a device flush left, 1260 will place the left side of a device + in center. + zonename: + name: zonename + in: formData + type: string + description: name of the zone + required: true + remove_password_ids: + name: remove_password_ids + type: string + in: formData + description: Comma separated list of D42 IDs of existing secret records to be removed from the job. +definitions: + devices: + type: array + items: + $ref: '#/definitions/device' + device: + type: object + properties: + name: + example: '320' + serial_no: + example: 'null' + asset_no: + example: 'null' + preferred_alias: + example: 'null' + device_url: + example: /api/api/1.0/devices/id/34/ + device_id: + example: '34' + type: + example: 'physical' + uuid: + example: 07FCE572-B2B3-B44C-BB1C-6799B509CC31 + AppGroupCalcTemplate: + type: object + properties: + id: + type: integer + example: 1 + description: ID of an existing Application Group Calculation Templates. Do not enter an ID if you are creating a new template. + name: + type: string + example: 'Custom Template Name' + description: Name of the Application Group Calculation Templates. Either name or id is required. + calculation_format: + type: string + example: 'DOQL' + enum: + - 'Form' + - 'DOQL' + description: Whether the template is defined using DOQL or using predefined form fields. Required for new templates. + doql_query: + type: string + example: "SELECT servicecommunication_pk FROM view_servicecommunication_v2 where date_part('day', now() :: timestamp - last_updated :: timestamp) <= 30" + description: DOQL query to use for template. Required for new templates with DOQL calculation format. + connection_limit: + type: integer + example: 10 + description: How many connections are allowed for a single node in application group before it stops traversing + time_period: + type: integer + example: 30 + description: Number of days to look back for connections + exclude_local_host: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Exclude any connections that are to the local host + exclude_unmapped_clients: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Exclude any connections that are client only + exclude_client_os: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Exclude devices with client operating systems + end_at_vip: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Stop traversing at VIPs + end_at_db: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Stop traversing at databases + depth_level: + type: integer + example: 20 + description: How many levels deep to traverse + exclude_udl: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Exclude any connections that are to Undiscovered Listeners + inclusions: + description: JSON array of inclusion criteria + type: array + items: + properties: + criteria: + type: string + example: "type=\"virtual\"" + description: Advanced query filtering as specified in list page for selected ci type. + ci_type: + type: string + enum: + - 'device' + - 'resource' + description: Type of CI to include - currently supporting device and resources + exclusions: + description: JSON array of exclusion criteria + type: array + items: + properties: + criteria: + type: string + example: "category = \"Database\"" + description: Advanced query filtering as specified in list page for selected ci type. + ci_type: + type: string + enum: + - 'application_component' + - 'device' + - 'resource' + - 'serviceportremoteip' + - 'servicedetail' + description: Type of CI to include - currently supporting application_component, device, resource, serviceportremoteip, and servicedetail + AppGroupCalcTemplateGet: + allOf: + - $ref: '#/definitions/AppGroupCalcTemplate' + - type: object + properties: + last_processed: + type: string + example: '2024-09-09T10:42:47.241286Z' + description: Date and time the template was last processed + processing_status: + type: string + example: 'Completed' + enum: + - 'Processing' + - 'Completed' + - 'Warnings' + - 'Failed' + description: Status of the template processing + processing_logs: + type: string + example: 'Error preparing data for Application Group Calculation Template.' + description: Logs from the last processing of the template + first_added: + type: string + example: '2024-09-09T10:42:47.241286Z' + description: Date and time the template was added to the database + last_updated: + type: string + example: '2024-09-09T10:42:47.241286Z' + description: Date and time the template record in the database was saved, regardless if any properties were changed or not + AppGroupCalcRuleBase: + type: object + properties: + id: + type: integer + example: 1 + description: ID of an existing Application Group Calculation Rule. Do not enter an ID if you are creating a new rule. + name: + type: string + example: 'Custom Rule Name' + description: Name of the Application Group Calculation Rule. Either name or id is required. + enabled: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Whether the rule is enabled or disabled. + outcome: + type: string + example: 'Auto-Create' + enum: + - 'Auto-Create' + - 'Suggest' + description: Whather the rule produces Application Groups or Application Group Suggestions when processing. + starting_point_type: + type: string + example: 'Criteria' + enum: + - 'Criteria' + - 'Fixed' + description: Whether the Application Groups start with a fixed starting point or a criteria based starting point. + starting_point_criteria: + description: JSON array of starting point criteria + type: array + items: + properties: + criteria: + type: string + example: "type=\"virtual\"" + description: Advanced query filtering as specified in list page for selected ci type. + ci_type: + type: string + enum: + - 'application_component' + - 'device' + - 'resource' + - 'servicedetail' + example: 'device' + description: Type of CI to include - currently supporting application_component, device, resource, and servicedetail + required: + type: string + enum: + - 'yes' + - 'no' + example: 'yes' + description: Whether the starting point is required for the rule. + group_by: + type: array + items: + type: string + example: 'Name' + description: How to group starting points for Application Groups when processing the rule. Available options depend on the CIs in the starting point. + group_by_tags_like: + type: string + example: 'App-%' + description: Tag pattern to group by. Use '%'' as a wildcard. For example, to group on tags like 'App-1', 'App-2', use 'App-%'. Either group_by or group_by_tags_like is required for criteria based starting points. + application_group_calc_template: + type: string + example: 'D42 Default Template' + description: Name of the Application Group Calculation Template to use for processing the rule. The default template is 'D42 Default Template'. + application_group_calc_template_id: + type: integer + example: 1 + description: ID of the Application Group Calculation Template to use for processing the rule. + levels_of_depth: + type: integer + example: 20 + description: Default levels of depth to display on Application Groups. Leave blank to fully expand. + store_connection_metadata: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Whether to store and display connection metadata. + AppGroupCalcRuleGet: + allOf: + - $ref: '#/definitions/AppGroupCalcRuleBase' + - type: object + properties: + is_system: + type: string + example: 'no' + enum: + - 'yes' + - 'no' + description: Whether the rule is a system rule or a custom rule. + starting_point_devices: + description: JSON array of devices in the fixed starting point + type: array + items: + properties: + device_id: + type: integer + example: 1 + description: ID of the device to use as a starting point + name: + type: string + example: 'Device Name' + description: Name of the device to use as a starting point + starting_point_resources: + description: JSON array of resources in the fixed starting point + type: array + items: + properties: + resource_id: + type: integer + example: 1 + description: ID of the resource to use as a starting point + name: + type: string + example: 'Resource Name' + description: Name of the resource to use as a starting point + starting_point_application_components: + description: JSON array of application components in the fixed starting point + type: array + items: + properties: + application_component_id: + type: integer + example: 1 + description: ID of the application component to use as a starting point + name: + type: string + example: 'Application Component Name' + description: Name of the application component to use as a starting point + starting_point_service_instances: + description: JSON array of service instances in the fixed starting point + type: array + items: + properties: + service_detail_id: + type: integer + example: 1 + description: ID of the service instance to use as a starting point + service_display_name: + type: string + example: 'Service Display Name' + description: Display name of the service of service instance to use as a starting point + last_processed: + type: string + example: '2024-09-09T10:42:47.241286Z' + description: Date and time the rule was last processed + processing_status: + type: string + example: 'Completed' + enum: + - 'Processing' + - 'Completed' + - 'Warnings' + - 'Failed' + description: Status of the rule processing + processing_logs: + type: string + example: 'Cannot process disabled Calculation Rules' + description: Logs from the last processing of the rule + first_added: + type: string + example: '2024-09-09T10:42:47.241286Z' + description: Date and time the rule was added to the database + last_updated: + type: string + example: '2024-09-09T10:42:47.241286Z' + description: Date and time the rule record in the database was saved, regardless if any properties were changed or not + AppGroupCalcRulePost: + allOf: + - $ref: '#/definitions/AppGroupCalcRuleBase' + - type: object + properties: + remove_starting_point_device_ids: + type: string + example: '1,2,3' + description: Comma separated list of device IDs to remove from the fixed starting point + remove_starting_point_resource_ids: + type: string + example: '1,2,3' + description: Comma separated list of resource IDs to remove from the fixed starting point + remove_starting_point_application_component_ids: + type: string + example: '1,2,3' + description: Comma separated list of application component IDs to remove from the fixed starting point + remove_starting_point_service_instance_ids: + type: string + example: '1,2,3' + description: Comma separated list of service instance IDs to remove from the fixed starting point + starting_point_device_ids: + type: string + example: '1,2,3' + description: Comma separated list of device IDs to set as the fixed starting point + starting_point_resource_ids: + type: string + example: '1,2,3' + description: Comma separated list of resource IDs to set as the fixed starting point + starting_point_application_component_ids: + type: string + example: '1,2,3' + description: Comma separated list of application component IDs to set as the fixed starting point + starting_point_service_instance_ids: + type: string + example: '1,2,3' + description: Comma separated list of service instance IDs to set as the fixed starting point + devicesAll: + type: object + properties: + total_count: + example: '709' + limit: + example: '1' + devices: + type: array + items: + type: object + properties: + last_updated: + example: '2019-01-06T07:00:08.330Z' + orientation: + example: '1' + ip_addresses: + example: [] + serial_no: + example: 'FOC1252W6EW' + hw_depth: + example: '1' + device_id: + example: '64' + service_level: + example: 'disposed' + is_it_blade_host: + example: 'no' + hw_size: + example: '1' + id: + example: '64' + custom_fields: + example: [] + aliases: + example: [] + category: + example: '' + hdd_details: + example: 'null' + uuid: + example: '' + cpuspeed: + example: 'null' + hw_model: + example: 'WS-C3750G-48TS-S' + row: + example: '10' + rack_id: + example: '9' + hddcount: + example: 'null' + building: + example: 'Building 3' + xpos: + example: '0' + device_external_links: + example: [] + start_at: + example: '4' + tags: + example: [] + hw_model_id: + example: '24' + in_service: + example: 'false' + hddsize: + example: 'null' + mac_addresses: + example: [] + hddraid: + example: 'null' + nonauthoritativealiases: + example: [] + cpucount: + example: 'null' + os: + example: 'ios' + virtual_host_name: + example: 'null' + is_it_virtual_host: + example: 'no' + is_it_switch: + example: 'yes' + customer: + example: 'yes' + hddraid_type: + example: 'null' + ucs_manager: + example: 'null' + name: + example: 'wh-lab-sw-01 - Switch 1' + room: + example: 'Old devices' + type: + example: 'physical' + notes: + example: '' + ram: + example: 'null' + asset_no: + example: '' + manufacturer: + example: 'cisco' + osver: + example: '12.2(40)SE' + device_purchase_line_items: + example: [] + cpucore: + example: 'null' + where: + example: '5' + rack: + example: 'old_rack' + agent_version: + example: '18.00.00.1649418756' + agent_last_checkin_date: + example: 'April 22, 2022, 5:51 p.m.' + offset: + example: '0' + groupItemDevice: + type: object + properties: + cdeviceid_6: + type: object + properties: + name: + example: 'Device_Name' + type_id: + example: 2 + serial_no: + example: 'FOC1252W6EW' + asset_no: + example: '123456' + device_url: + example: '/api/2.0/devices/64/' + device_id: + example: '64' + type: + example: 'physical' + uuid: + example: '' + groupItemResource: + type: object + properties: + cresourceid_9: + type: object + properties: + category: + example: Device + zones: + example: usa-east-2a + identifier: + example: i-0d90158f3cf3e7e19 + tags: + example: "" + name: + example: d42-internal + notes: + example: oracle cloud + last_changed: + example: 2020-06-19T16:13:18.225Z + subtype: + example: [] + cloud_infra_id: + example: 2 + region: + example: usa-east-2 + root_resource_id: + example: 2 + root_resource: + example: wbd42pstgr1 + last_edited: + example: 2020-06-19T16:13:18.229Z + first_added: + example: 2020-06-19T16:13:18.229Z + id: + example: 3 + resource_storage: + example: [] + groupItemappcomponents: + type: object + properties: + cppcomponents_1: + type: object + properties: + traverse_subdirectories: + example: yes + config_file_location: + example: /opt/atlassian/jira/conf/ + id: + example: 13 + application_category_id: + example: 2 + what: + example: Services + rule_type_id: + example: 1 + rule_type: + example: Windows + application_category_name: + example: Application Layer + related_services_ids: + example: 55, + service_listening_port: + example: 8080 + app_name_pattern: + example: "%(device_name)s - %(app_template_name)s" + customer: + example: ABC LLC + name: + example: App-Comp-Template-T2 + enabled: + example: yes + service_cmd_arg_match: + example: service + match_type: + example: Text + match_type_id: + example: 0 + groupItemServices: + type: object + properties: + cservices_1: + type: object + properties: + name: + example: 'Device_Name' + type_id: + example: 2 + serial_no: + example: 'FOC1252W6EW' + asset_no: + example: '123456' + device_url: + example: '/api/2.0/devices/64/' + device_id: + example: '64' + type: + example: 'physical' + uuid: + example: '' + + devicesAllv2: + type: object + properties: + total_count: + example: '709' + limit: + example: '1' + devices: + type: array + items: + type: object + properties: + name: + example: 'Device_Name' + type_id: + example: 2 + serial_no: + example: 'FOC1252W6EW' + asset_no: + example: '123456' + device_url: + example: '/api/2.0/devices/64/' + device_id: + example: '64' + type: + example: 'physical' + uuid: + example: '' + offset: + example: '0' + deviceAllAliase: + type: array + items: + example: [NHCTWS001.fqdn, NHCTWS] + deviceAllCustomField: + type: array + items: + $ref: '#/definitions/deviceAllCustomFieldData' + deviceAllCustomFieldData: + type: object + properties: + key: + example: Skynet + notes: + example: '' + value: + example: T1000 + deviceAllExternalLink: + type: array + items: + $ref: '#/definitions/deviceAllExternalLinkData' + deviceAllExternalLinkData: + type: object + properties: + link: + example: 'http://{{device.name}}' + notes: + example: Dev Test web server + deviceAllpurchaseLine: + type: array + items: + $ref: '#/definitions/deviceAllpurchaseLineData' + deviceAllpurchaseLineData: + type: object + properties: + line_cancel_policy: + example: '' + line_contract_type: + example: Warranty + line_cost: + example: '400.0' + line_cost_center: + example: '5001245' + line_end_date: + example: '2017-01-09' + line_frequency: + example: One Time + line_item_type: + example: Device + line_no: + example: '1' + line_notes: + example: '' + line_quantity: + example: '1' + line_renew_date: + example: '2017-01-09' + line_start_date: + example: '2017-01-09' + line_type: + example: Contract + purchase_id: + example: '9' + purchase_order_no: + example: 010914Warr + deviceAllHdd: + type: array + items: + $ref: '#/definitions/deviceAllHddData' + deviceAllHddData: + type: object + properties: + description: + example: '' + hdd: + type: object + properties: + bytes: + example: GB + description: + example: SATA 6 Gb/s 64MB Cache + hd_id: + example: '6' + location: + example: 'IT Lab 2nd Floor New Haven, CT' + manufacturer_id: + example: '6' + notes: + example: '' + partno: + example: '' + rpm: + type: object + properties: + id: + example: '2' + name: + example: 10k + size: + example: '500.0' + type: + type: object + properties: + id: + example: '1' + name: + example: SATA + hddcount: + example: '1' + raid_group: + example: '' + raid_type: + example: Raid 1 + deviceAllIp_addresses: + type: object + properties: + ip: + example: 10.1.10.11 + label: + example: '' + macaddress: + example: '00:14:bf:aa:46:18' + subnet: + example: Infra-10.1.10.0/24(Infrastructure Services) + subnet_id: + example: '4' + type: + example: '1' + deviceAllMac_addresses: + type: object + properties: + mac: + example: '00:11:22:33:44:55' + port: + example: FastEthernet0/4 @ nh-lab-switch-01 + port_name: + example: '' + vlan: + example: 'null' + devicesCustomerId: + type: object + properties: + Devices: + $ref: '#/definitions/deviceCustomerIdDevice' + deviceCustomerIdDevice: + type: array + items: + $ref: '#/definitions/deviceCustomerIdDeviceData' + deviceCustomerIdDeviceData: + type: object + properties: + aliases: + type: array + items: + example: device.domain + asset_no: + example: 'null' + category: + example: Development Machine + cpucore: + example: '2' + cpucount: + example: '1' + cpuspeed: + example: '3300.0' + custom_fields: + example: [] + customer: + example: Finance Group + customer_id: + example: '3' + device_external_links: + example: [] + device_purchase_line_items: + example: [] + hdd_details: + example: '' + hddcount: + example: '' + hddraid: + example: '' + hddraid_type: + example: '' + hddsize: + example: '' + hw_depth: + example: 1 + hw_model: + example: ProLiant DL360 G7 + hw_size: + example: '1.0' + in_service: + example: false + ip_addresses: + type: array + items: + $ref: '#/definitions/deviceAllIp_addresses' + last_updated: + example: '2014-01-07T02:23:36.350Z' + mac_addresses: + type: array + items: + $ref: '#/definitions/deviceCustomerIdMac_addresses' + manufacturer: + example: '' + name: + example: d42-231 + notes: + example: '' + os: + example: '' + ram: + example: '512.000' + serial_no: + example: '' + service_level: + example: QA + type: + example: virtual + ucs_manager: + example: '' + uuid: + example: 6BB7DC86-D744-8943-B991-B6BF82B55F99 + virtual_host_name: + example: HYPER01 + agent_version: + example: '18.00.00.1649418756' + agent_last_checkin_date: + example: 'April 22, 2022, 5:51 p.m.' + deviceCustomerIdMac_addresses: + type: object + properties: + mac: + example: '00:15:5d:0b:72:0b' + devicesImpactList: + type: array + items: + $ref: '#/definitions/devicesImpactListData' + devicesImpactListData: + type: object + properties: + children: + type: array + items: + type: object + properties: + children: + type: array + items: + type: object + properties: + children: + type: array + items: + type: object + properties: + children: + type: array + items: + type: object + properties: + duplicate: + example: 'yes' + name: + example: site2.com - webserver.dev + name: + example: Dependant Apps + duplicate: + example: 'yes' + name: + example: Apache HTTP Server - Production Site + name: + example: Dependant Apps + duplicate: + example: 'yes' + name: + example: Apache Tomcat server + deviceName: + example: + - device added or updated + - 46 + - db-080-westport + - true + - true + objectArchive: + example: + - Object archived + - 46 + - db-080-westport + - true + - true + IPAMsubnets: + type: object + properties: + allocated: + example: 'no' + allow_broadcast_address: + example: 'no' + allow_network_address: + example: 'no' + assigned: + example: 'no' + can_edit: + example: 'yes' + category_id: + example: '' + category_name: + example: '' + custom_fields: + example: [] + customer_id: + example: 9 + description: + example: Infrastructure Devices + gateway: + example: '' + mask_bits: + example: 24 + name: + example: Infra + network: + example: 10.1.10.0 + notes: + example: '' + parent_subnet_id: + example: '' + parent_vlan_id: + example: '' + parent_vlan_name: + example: '' + parent_vlan_number: + example: '' + range_begin: + example: 10.1.10.5 + range_end: + example: 10.1.10.254 + service_level: + example: Production + subnet_id: + example: 4 + tags: + example: [] + vrf_group_id: + example: 1 + vrf_group_name: + example: Infrastructure Services + IPAMvlans: + type: object + properties: + description: + example: '' + name: + example: CRMConsultant + notes: + example: '' + number: + example: 20 + switches: + type: array + items: + type: object + properties: + asset_no: + example: '' + device_id: + example: 1 + device_url: + example: /api/api/1.0/devices/id/1/ + name: + example: nh-lab-switch-01 + serial_no: + example: FAB0447Y35M + uuid: + example: '' + tags: + example: [] + vlan_id: + example: 13 + IPAMips_1: + type: object + properties: + available: + example: 'no' + custom_fields: + type: array + items: + type: object + properties: + key: + example: test + notes: + example: '' + value: + example: '' + device: + example: USNHCTVH001 + device_id: + example: 116 + id: + example: 38 + ip: + example: 10.1.10.5 + label: + example: '' + last_updated: + example: '2015-11-12T17:31:57.985Z' + mac_address: + example: '' + mac_id: + example: '' + notes: + example: '' + subnet: + example: Infra-10.1.10.0/24(Infrastructure Services) + subnet_id: + example: 4 + type: + example: Reserved + IPAMips_2_device: + type: object + properties: + available: + example: 'no' + custom_fields: + type: array + items: + type: object + properties: + key: + example: test + notes: + example: '' + value: + example: '' + id: + example: 38 + ip: + example: 10.1.10.5 + label: + example: '' + last_updated: + example: '2015-11-12T17:31:57.985Z' + mac_address: + example: '' + mac_id: + example: '' + notes: + example: '' + subnet: + example: Infra-10.1.10.0/24(Infrastructure Services) + subnet_id: + example: 5 + type: + example: Reserved + is_shared: + example: false + devices: + type: array + items: + type: object + properties: + device_id: + example: 4924 + name: + example: '17R0TW1' + locked: + example: false + IPAMips_2_resource: + type: object + properties: + available: + example: 'no' + custom_fields: + type: array + items: + type: object + properties: + key: + example: test + notes: + example: '' + value: + example: '' + id: + example: 41 + ip: + example: 10.1.20.6 + label: + example: '' + last_updated: + example: '2017-06-12T17:31:57.985Z' + mac_address: + example: '' + mac_id: + example: '' + notes: + example: '' + subnet: + example: Infra-10.1.20.0/24(Infrastructure Services) + subnet_id: + example: 7 + type: + example: Reserved + is_shared: + example: false + resource: + type: object + properties: + id: + example: 42 + name: + example: 'DEFAULT' + identifier: + example: 'boot/DEFAULT' + devices: + example: [] + IPAMmacs: + type: object + properties: + device: + type: object + properties: + asset_no: + example: '' + device_id: + example: 11 + device_url: + example: /api/api/1.0/devices/id/11/ + name: + example: DeviceTOM4 + serial_no: + example: '' + type: + example: physical + uuid: + example: '' + macaddress: + example: '00:0a:cd:1f:c9:2f' + macaddress_id: + example: 24 + port_name: + example: vmnic0 + IPAMmacs_port: + type: object + properties: + description: + example: FastEthernet0/21 + devices: + example: nh-hyperv-02 + is_connected: + example: 'yes' + mac_ids: + example: 61; 60 + macs: + example: '00:15:5d:0b:9e:02; 00:1c:c4:44:d1:32' + normalized_port: + example: FastEthernet0000/0021 + obj_label: + example: Hyper-V Virtual Ethernet Adapte + port: + example: FastEthernet0/21 + switch: + type: object + properties: + asset_no: + example: '' + device_id: + example: 1 + device_url: + example: /api/api/1.0/devices/id/1/ + name: + example: nh-lab-switch-01 + serial_no: + example: FAB0447Y35M + type: + example: physical + uuid: + example: '' + switchport_id: + example: 10 + tags: + example: [] + type: + example: '' + vlan_ids: + example: '14' + vlans: + example: default + IPAMtap_ports: + type: object + properties: + port_to_from_id: + example: 9 + id: + example: 7 + mac: + example: 'mac' + port_type: + example: Fiber FC + tap: + example: tap device + port_type_id: + example: 5 + monitor_direction: + example: to + label: + example: tap1 + tap_id: + example: 9129 + module_id: + example: 667 + monitor_port_1_id: + example: 9 + port_capability: + example: Device + monitor_port_2_id: + example: 11 + module: + example: tap + mirror_port_id: + example: 4 + netport_id: + example: 8 + IPMdns_records: + type: object + properties: + name: + example: '@' + prio: + example: '' + dns_zone: + example: device42.pvt + content: + example: nh-win2k8r2-vm-03 hostmaster 107489 900 600 86400 3600 + ttl: + example: 3600 + change_date: + example: '' + nameserver: + example: 192.168.11.161 + type: + example: SOA + id: + example: 1 + buildings: + type: array + items: + type: object + properties: + address: + example: 879 main st + building_id: + example: 3 + contact_name: + example: roger + custom_fields: + example: [] + groups: + example: 'Prod_East:no, Corp:yes' + name: + example: Las Vegas Office + notes: + example: super critical + tags: + example: [] + longitude: + example: '60' + latitude: + example: '30' + contact_phone: + example: '' + building: + type: object + properties: + address: + example: 879 main st + building_id: + example: 3 + contact_name: + example: roger + custom_fields: + example: [] + groups: + example: 'Prod_East:no, Corp:yes' + name: + example: Las Vegas Office + notes: + example: super critical + tags: + example: [] + longitude: + example: '60' + latitude: + example: '30' + contact_phone: + example: '' + savedDOQLQueries: + type: array + items: + type: object + properties: + name: + example: Power_outlet + tags: + type: array + items: + example: power + include_headers: + example: true + notes: + example: query + saved_query: + example: select * from view_rudata_v2 + output_type: + example: csv + id: + example: 182 + rooms: + type: array + items: + type: object + properties: + building: + example: New Haven DC + building_id: + example: 1 + custom_fields: + example: [] + groups: + example: 'Prod_East:no, Corp:yes' + name: + example: 1st floor + notes: + example: super critical + room_id: + example: 1 + tags: + example: ["data_centre", "storage"] + horizontal_grid_numbering: + example: 0 + horizontal_grid_start: + example: '1' + vertical_grid_numbering: + example: 1 + vertical_grid_start: + example: 'A' + RoomsRacks: + type: object + properties: + rack: + type: object + properties: + orientation: + example: left + numbering_start_from_bottom: + example: 'yes' + custom_fields: + example: [] + size: + example: 42 + available_u: + example: 35 + row: + example: 1 + rack_id: + example: 20 + rack_middle_option: + example: Start at + number_between_us: + example: true + tags: + example: [] + col_size: + example: 1 + start_col: + example: 3 + row_size: + example: 1 + first_number: + example: 0 + manufacturer: + example: APC Inc. + building: + example: New Haven + start_row: + example: 6 + name: + example: NH-DC1-01 + room: + example: NHDC1 + notes: + example: '' + asset_no: + example: '' + rack_url: + example: /api/api/1.0/racks/20/ + racks: + type: object + properties: + asset_no: + example: '' + available_u: + example: 45 + building: + example: Building + col_size: + example: 1 + custom_fields: + example: [] + first_number: + example: 1 + groups: + example: '' + manufacturer: + example: APC Inc. + name: + example: RA1 + notes: + example: '' + number_between_us: + example: true + numbering_start_from_bottom: + example: 'yes' + rack_id: + example: 255 + rack_middle_option: + example: End at + rack_url: + example: /api/api/1.0/racks/255/ + room: + example: Main room + row: + example: '' + row_size: + example: 1 + size: + example: '45' + start_col: + example: 4 + start_row: + example: 2 + tags: + example: [] + RackDevices: + type: object + properties: + depth: + example: Full Depth + device: + type: object + properties: + asset_no: + example: '' + device_id: + example: 215 + device_url: + example: /api/api/1.0/devices/id/215/ + is_it_blade_host: + example: 'no' + is_it_switch: + example: 'no' + is_it_virtual_host: + example: 'no' + name: + example: USNHCS-DCM06 + serial_no: + example: '' + type: + example: physical + uuid: + example: '' + file_names: + example: + - /var/www/graphics/images/HP--ProLiant-DL380p-Gen8.png + - /var/www/graphics/images/HP--ProLiant-DL380p-Gen8-B.png + orientation: + example: Front + reversed: + example: 'no' + size: + example: 2 + start_at: + example: 1 + where: + example: Rack Mounted + width: + example: 2520 + xpos: + example: 0 + Assets: + type: object + properties: + asset_contracts: + example: [] + asset_id: + example: 16 + asset_no: + example: '0075' + asset_purchases: + example: [] + building: + example: New Haven + custom_fields: + example: '' + depth: + example: Half Depth + imagefile_id: + example: 2 + name: + example: DC1R5PP1 + notes: + example: '' + orientation: + example: Front + patch_panel_model_id: + example: 5 + rack: + example: NH-DC1-05 + rack_id: + example: 24 + room: + example: NHDC1 + row: + example: 2 + serial_no: + example: '' + service_level: + example: In Service + size: + example: 2 + start_at: + example: 40 + type: + example: Patch Panel + vendor: + example: Black Box Corp. + vendor_id: + example: 36 + where: + example: Rack Mounted + object_categories: + type: object + properties: + id: + example: 1 + description: + example: >- + Devices that the Network Administration team should have full access + to + name: + example: Network Admin Team + HardwareModels: + type: object + properties: + hardware_id: + example: 1 + watts: + example: 1000 + physicalsubtype_id: + example: 9 + vendor_id: + example: 269 + last_changed: + example: "2020-11-18T19:26:56.333326Z" + network_device: + example: false + name: + example: "PowerLogic" + part_number: + example: 12 + physicalsubtype: + example: "Branch Circuit Power Meter" + add_ports_when_creating_device: + example: false + specification_url: + example: "" + end_of_life_date: + example: "2019-11-04" + end_of_support_date: + example: "2019-03-13" + notes: + example: "hardware notes" + blade_host: + example: false + OperatingSystems: + type: object + properties: + aliases: + example: [] + category: + example: '' + id: + example: 1 + licensed_count: + example: 5 + manufacturer: + example: '' + name: + example: Microsoft Windows 7 Professional + not_licensed_count: + example: 0 + notes: + example: '' + total_count: + example: 5 + discovered_license_count: + example: 5 + enriched_data: + type: object + properties: + service_pack: + example: '' + vendor: + example: 'Juniper' + os_version: + example: '12.3' + golden_record_id: + example: 'gros_00000571' + os_version_no: + example: '' + eol: + example: '2023-11-23 00:00:00' + eos: + example: '2027-03-01 00:00:00' + edition: + example: '' + os_architecture: + example: '' + os_family: + example: '*nix' + enriched_os: + example: 'Juniper Junos OS' + id: + example: 3, + os_name: + example: 'Junos OS' + Device_os: + type: object + properties: + discovered_license_key: + example: '' + os_id: + example: 2 + osver: + example: '12.3R12-S1' + dont_change_via_api: + example: 'no' + device: + example: 'sb-n15-10' + device_os_id: + example: 2 + license_key: + example: '' + osverno: + example: '' + os: + example: junos + id: + example: 2 + count_in_licensing: + example: 'yes' + device_id: + example: 120 + enriched_data: + type: object + properties: + service_pack: + example: '' + vendor: + example: 'Juniper' + os_version: + example: '12.3' + golden_record_id: + example: 'gros_00000571' + os_version_no: + example: '' + eol: + exmaple: '2023-11-23 00:00:00' + eos: + example: '2027-03-01 00:00:00' + edition: + example: '' + os_architecture: + example: '' + os_family: + example: '*nix' + enriched_os: + example: 'Juniper Junos OS' + id: + example: 3, + os_name: + example: 'Junos OS' + get_power_unit_return: + type: object + properties: + total_count: + example: 24 + offset: + example: 0 + pdus: + type: array + items: + type: object + properties: + building: + example: West Haven Office + pdu_id: + example: 1 + name: + example: "Sentry / ADTK0000001 / 10.42.10.9" + pdu_model: + type: object + properties: + pdu_model_id: + example: 1 + sequential_numbering_for_ports: + example: true + name: + example: "CWG-8H1A114" + width: + example: "null" + notes: + example: "" + height: + example: "null" + size: + example: 2.0 + description: + example: "" + width_ratio: + example: 2520 + ports in pdu model: + example: [] + back_image: + example: "null" + type: + example: pdu + front_image: + example: "null" + depth: + example: Half Depth + port_court: + example: 0 + manufacturer: + example: serverTech + notes: + example: "" + room: + example: room3 + rack: + example: Rack 1 Manual + rack_id: + example: 4 + pdu_serial_no: + example: 9C96300196 + category: + example: West Haven + device_mapping: + type: object + properties: + hddcount: + example: "null" + hdd_details: + example: "null" + name: + example: "prod-vert-pdu-01 / ZA0737007687 / 10.42.10.8" + customer_id: + example: 1 + hw_model_id: + example: 18 + ucs_manager: + example: "null" + cpucount: + example: "null" + serial_no: + example: ADTK0000003 + hw_depth: + example: "null" + mac_addresses: + type: array + items: + port: + example: "GigabitEthernet1/0/32 - 00:24:98:48:9a:a4 @ wh-lab-sw-02" + vlan: + example: "null" + mac: + example: "00:0a:4c:51:97:88" + port_name: + example: eth0 + nonauthoritativealiases: + example: [] + cpucore: + example: "null" + device_id: + example: 3863 + custom_fields: + type: array + items: + type: object + properties: + value: + example: "null" + notes: + example: "null" + key: + example: "alpha.eksctl.io/nodegroup-name" + is_it_virtual_host: + example: no + cpuspeed: + example: "null" + virtual_host_name: + example: "null" + aliases: + example: [] + ip_addresses: + type: array + items: + type: object + properties: + ip: + example: "172.25.160.187" + macaddress: + example: "00:0w:5d:29:di:45" + subnet: + example: "10.41.0.0/19" + type: + example: "null" + subnet_id: + example: 2 + label: + example: br0 + hw_model: + example: "PX3-5497JV-N2A2" + preferred_alias: + example: "null" + device_purchase_line_items: + example: [] + is_it_blade_host: + example: no + hddraid: + example: "null" + pdu_mapping_url: + example: "/api/1.0/power_units/14/" + device_sub_type: + example: PDU + tags: + example: + - 'live-lab-snmp' + - 'live-lab-power' + id: + example: 346 + asset_no: + example: "" + notes: + example: "" + in_service: + example: true + customer: + example: Device42 + last_updated: + example: "2022-05-23T16:24:56.220410Z" + hddsize: + example: "null" + category: + example: west Haven + type: + example: other + osver: + example: "00.00.0010" + ram: + example: "null" + os: + example: Eaton Firmware + is_it_switch: + example: no + service_level: + example: Production + uuid: + example: "null" + manufacturer: + example: serverTech + device_external_links: + example: [] + hddraid_type: + example: "null" + type: + example: pdu + custom_fields: + example: [] + gateway_pdu_id: + example: 3 + building_id: + example: 1 + room_id: + example: 1 + get_power_unit_return_single: + type: object + properties: + building: + example: West Haven Office + pdu_id: + example: 1 + name: + example: "Sentry / ADTK0000001 / 10.42.10.9" + pdu_model: + type: object + properties: + pdu_model_id: + example: 1 + sequential_numbering_for_ports: + example: true + name: + example: "CWG-8H1A114" + width: + example: "null" + notes: + example: "" + height: + example: "null" + size: + example: 2.0 + description: + example: "" + width_ratio: + example: 2520 + ports in pdu model: + example: [] + back_image: + example: "null" + type: + example: pdu + front_image: + example: "null" + depth: + example: Half Depth + port_court: + example: 0 + manufacturer: + example: serverTech + notes: + example: "" + room: + example: room3 + rack: + example: Rack 1 Manual + rack_id: + example: 4 + pdu_serial_no: + example: 9C96300196 + category: + example: West Haven + device_mapping: + type: object + properties: + hddcount: + example: "null" + hdd_details: + example: "null" + name: + example: "prod-vert-pdu-01 / ZA0737007687 / 10.42.10.8" + customer_id: + example: 1 + hw_model_id: + example: 18 + ucs_manager: + example: "null" + cpucount: + example: "null" + serial_no: + example: ADTK0000003 + hw_depth: + example: "null" + mac_addresses: + type: array + items: + port: + example: "GigabitEthernet1/0/32 - 00:24:98:48:9a:a4 @ wh-lab-sw-02" + vlan: + example: "null" + mac: + example: "00:0a:4c:51:97:88" + port_name: + example: eth0 + nonauthoritativealiases: + example: [] + cpucore: + example: "null" + device_id: + example: 3863 + custom_fields: + type: array + items: + type: object + properties: + value: + example: "null" + notes: + example: "null" + key: + example: "alpha.eksctl.io/nodegroup-name" + is_it_virtual_host: + example: no + cpuspeed: + example: "null" + virtual_host_name: + example: "null" + aliases: + example: [] + ip_addresses: + type: array + items: + type: object + properties: + ip: + example: "172.25.160.187" + macaddress: + example: "00:0w:5d:29:di:45" + subnet: + example: "10.41.0.0/19" + type: + example: "null" + subnet_id: + example: 2 + label: + example: br0 + hw_model: + example: "PX3-5497JV-N2A2" + preferred_alias: + example: "null" + device_purchase_line_items: + example: [] + is_it_blade_host: + example: no + hddraid: + example: "null" + pdu_mapping_url: + example: "/api/1.0/power_units/14/" + device_sub_type: + example: PDU + tags: + example: + - 'live-lab-snmp' + - 'live-lab-power' + id: + example: 346 + asset_no: + example: "" + notes: + example: "" + in_service: + example: true + customer: + example: Device42 + last_updated: + example: "2022-05-23T16:24:56.220410Z" + hddsize: + example: "null" + category: + example: west Haven + type: + example: other + osver: + example: "00.00.0010" + ram: + example: "null" + os: + example: Eaton Firmware + is_it_switch: + example: no + service_level: + example: Production + uuid: + example: "null" + manufacturer: + example: serverTech + device_external_links: + example: [] + hddraid_type: + example: "null" + type: + example: pdu + custom_fields: + example: [] + gateway_pdu_id: + example: 3 + building_id: + example: 1 + room_id: + example: 1 + post_power_unit_return: + type: object + properties: + msg: + example: + - Power unit successfully added + - 22 + - Primary Power Unit + - true + - true + code: + example: 0 + put_power_unit_return: + type: object + properties: + msg: + example: + - Power unit successfully added + - 22 + - Primary Power Unit + - true + - false + code: + example: 0 + general_delete_return: + type: object + properties: + deleted: + example: 'true' + id: + example: 9 + Pdu_models: + type: object + properties: + back_image: + type: object + properties: + id: + example: 22 + imgfile: + example: /var/www/graphics/images/apc-rack-pdu-front.png + depth: + example: Half Depth + description: + example: '' + front_image: + type: object + properties: + id: + example: 66 + imgfile: + example: /var/www/graphics/images/d42-apc-rack-pdu-front.png + manufacturer: + example: Server Technology + name: + example: CXG-8H1A113 + notes: + example: '' + pdu_model_id: + example: 7 + port_count: + example: 8 + ports in pdu model: + type: array + items: + properties: + pdu_port_count: + example: 12 + pdu_port_type: + example: custom + sequential_numbering_for_ports: + example: false + size: + example: 1 + type: + example: pdu + width_ratio: + example: 2520 + Pdus: + type: object + properties: + building: + example: New Haven + building_id: + example: 1 + category: + example: Prod_East + device mapping: + example: '' + name: + example: NHCTPDU01 + notes: + example: '' + pdu_id: + example: 4 + pdu_model: + properties: + back_image: + example: '' + depth: + example: Half Depth + description: + example: '' + front_image: + properties: + id: + example: 22 + imgfile: + example: /var/www/graphics/images/apc-rack-pdu-front.png + manufacturer: + example: APC Inc. + name: + example: APC 8841 + notes: + example: '' + pdu_model_id: + example: 4 + port_count: + example: 12 + ports in pdu model: + type: array + items: + properties: + pdu_port_count: + example: 12 + pdu_port_type: + example: IEC 320 C19 + sequential_numbering_for_ports: + example: true + size: + example: 1 + type: + example: pdu + width_ratio: + example: 2520 + rack: + example: NH-DC1-01 + rack_id: + example: 20 + room: + example: NHDC1 + room_id: + example: 1 + type: + example: pdu + Pdu_by_Id: + type: object + properties: + building: + example: '' + building_id: + example: '' + device mapping: + type: object + properties: + aliases: + example: [] + asset_no: + example: '' + building: + example: New Haven + cpucore: + example: '' + cpucount: + example: '' + cpuspeed: + example: '' + custom_fields: + type: array + items: + properties: + key: + example: Agent email address + notes: + example: '' + value: + example: '' + customer: + example: '' + device_external_links: + example: [] + device_id: + example: 122 + device_purchase_line_items: + example: [] + device_sub_type: + example: UPS + hdd_details: + example: '' + hddcount: + example: '' + hddraid: + example: '' + hddraid_type: + example: '' + hddsize: + example: '' + hw_depth: + example: '' + hw_model: + example: '' + hw_size: + example: '' + id: + example: 122 + in_service: + example: true + ip_addresses: + example: [] + last_updated: + example: '2016-07-05T22:08:34.849Z' + mac_addresses: + example: [] + manufacturer: + example: '' + name: + example: UPS1 + notes: + example: '' + os: + example: '' + pdu_mapping_url: + example: /api/api/1.0/power_units/232/ + ram: + example: '' + room: + example: NHDC1 + serial_no: + example: '' + service_level: + example: Production + tags: + example: [] + type: + example: other + ucs_manager: + example: '' + uuid: + example: '' + virtual_host_name: + example: '' + name: + example: UPS1 + notes: + example: '' + pdu_id: + example: 232 + pdu_model: + example: '' + rack: + example: '' + rack_id: + example: '' + room: + example: '' + room_id: + example: '' + type: + example: ups + Patch_panel: + type: object + properties: + asset_contracts: + example: [] + asset_id: + example: 29 + asset_no: + example: '0010' + asset_purchases: + example: [] + building: + example: New Haven + custom_fields: + example: '' + customer_id: + example: 1 + depth: + example: Half Depth + imagefile_id: + example: 2 + name: + example: DC1R1PP1 + no_ports: + example: 12 + no_ports_in_row: + example: 12 + notes: + example: 'Notes, Notes, Notes...' + numbering_direction: + example: left-right + numbering_start_location: + example: top-left + orientation: + example: Back + patch_panel_model_id: + example: 6 + ports: + type: array + items: + properties: + back_connection_id: + example: 109 + back_pp_id: + example: 16 + cable_color: + example: black + color: + example: '#659a39' + content_type: + example: device + device_id: + example: 153 + device_name: + example: USNHCTVH002 + full_path: + example: >- + USNHCTVH002 <-> [DC1R1PP1-29:1] <-> DC1R5PP1-109:1 <-> + NHCTCORE01(gbE/1) + number: + example: 1 + obj_label: + example: LI + object_id: + example: 153 + panel_id: + example: 29 + panel_name: + example: DC1R1PP1 + rack: + example: NH-DC1-04 + rack_id: + example: 23 + room: + example: NHDC1 + row: + example: 1 + serial_no: + example: '4242424242' + service_level: + example: In Service + size: + example: 2 + start_at: + example: 40 + type: + example: 1 + vendor: + example: Black Box Corp + vendor_id: + example: 36 + where: + example: Rack Mounted + Patch_panel_port: + type: object + properties: + id: + type: integer + example: 123 + color: + type: string + example: "#666B61" + object_id: + type: integer + example: 1235 + content_type: + type: string + example: "patch_panel_port" + Pp_port_end: + type: string + example: "good" + obj_label: + type: string + example: "label" + number: + type: integer + example: 24 + panel_name: + type: string + example: "Patch3" + pp_port: + type: integer + example: 1 + connection_id: + type: array + items: + type: object + properties: + type: + type: boolean + example: false + id: + type: integer + example: 1234 + patch_panel_name: + type: string + example: "Patch4" + type_name: + type: string + example: "patch_panel_port" + name: + type: string + example: "Patch4 1 (To Patch3)" + patch_panel_id: + type: integer + example: 891 + module_id: + type: integer + example: 12 + full_path: + type: string + example: "None <-> AC Unit-AC101-None : 12 <-> None" + cable_color: + type: string + example: "black" + Parts: + properties: + asset_no: + example: '' + assignment: + example: device + change_perm: + example: 'yes' + count: + example: 1 + custom_fields: + example: [] + date_changed: + example: '' + description: + example: '' + device: + example: AAA switch 2 + device_id: + example: 388 + firmware: + example: '' + first_added: + example: '2014-02-20T18:13:54.099Z' + last_updated: + example: '2014-11-14T22:03:08.717Z' + part_id: + example: 1 + partmodel: + properties: + available: + example: 0 + description: + example: '' + in_devices: + example: 1 + in_rma: + example: 0 + in_storage_racks: + example: 0 + in_storage_rooms: + example: 0 + in_transit: + example: 0 + length: + example: '' + location: + example: 'IT Lab 2nd Floor New Haven, CT' + manufacturer: + example: Kingston Technology Corp. + modelno: + example: '' + name: + example: Kingston 8GB DDR31600 + notes: + example: '' + partmodel_id: + example: 3 + partno: + example: KVR16E11/8 + ramsize: + example: 8192 + ramspeed: + example: '1600' + ramtype: + example: 'DDR3 ' + total_count: + example: 1 + type: + example: RAM + used: + example: 1 + serial_no: + example: '' + tags: + example: [] + Partmodels: + type: object + properties: + limit: + example: 2 + offset: + example: 0 + partmodels: + type: array + items: + properties: + available: + example: 2 + cores: + example: 4 + cpuspeed: + example: 3400 + description: + example: 3.4GHz (3.9GHz Turbo) + in_devices: + example: 0 + in_rma: + example: 0 + in_storage_racks: + example: 0 + in_storage_rooms: + example: 2 + in_transit: + example: 0 + length: + example: '' + location: + example: 'IT Lab 2nd Floor New Haven, CT' + manufacturer: + example: Intel Corp. + modelno: + example: '' + name: + example: Core i7-3770 + notes: + example: "Socket:LGA 1155\r\nSpeedDual-channel DDR3 Memory Controller supports DDR3-1333 and DDR3-1600 memory\r\nIntel HD Graphics 4000\r\nLimited Warranty period (parts): 3 years\r\nLimited Warranty period (labor): 3 years\r\n" + partmodel_id: + example: 1 + partno: + example: BX80637I73770 + threads: + example: '' + total_count: + example: 2 + type: + example: CPU + used: + example: 0 + total_count: + example: 71 + Purchases: + type: object + properties: + purchases: + type: array + items: + properties: + purchase_id: + example: '1' + po_date: + example: 'null' + vendor: + example: 'Amazon' + building: + example: 'West Haven Office' + order_no: + example: '9000000001' + line_items: + example: [] + notes: + example: 'null' + line_items_one_time_cost: + example: '0' + customer: + example: 'Device42' + cost: + example: '100.00' + groups: + example: '' + completed: + example: 'no' + custom_fields: + example: [] + Appcomps_Custom_fields: + type: object + properties: + key: + example: Project + notes: + example: '' + value: + example: Migration + Services: + type: array + items: + type: object + properties: + category: + type: string + description: + type: string + displayname: + type: string + id: + type: integer + name: + type: string + notes: + type: string + service_type: + type: string + tags: + example: [] + vendor: + type: string + example: + - category: '' + vendor: '' + description: '' + tags: [] + notes: '' + service-type: 'null' + displayname: apport-autoreport + id: 2 + - category: '' + vendor: '' + description: '' + tags: [] + notes: '' + service-type: 'null' + displayname: apport-forward@ + id: 3 + Service_details: + type: object + properties: + appcomp: + example: Device42 Production + appcomp_id: + example: Device42 Production + device: + example: Device42 Appliance + device_id: + example: 445 + first_detected: + example: '2015-02-27T19:20:29.493Z' + last_updated: + example: '2015-02-27T19:20:44.029Z' + service_detail_id: + example: '3' + service_display_name: + example: DB service + service_id: + example: '1' + service_name: + example: DB service + startmode: + example: automatic + state: + example: running + user: + example: 'null' + user_id: + example: 'null' + vendor: + example: 'null' + vendor_id: + example: 'null' + Service_ports: + type: object + properties: + description: + example: '' + device_name: + example: app21.device42.pvt + discovered_process: + example: '' + discovered_service: + example: mysqld + id: + example: 1 + listening_ip: + example: 127.0.0.1 + mapped_service: + example: '' + port: + example: 3306 + remote_ips: + example: 192.241.191.123 + Client_stats: + type: object + properties: + avg_time_span: + example: 5 + first_found: + example: '2016-09-16T14:45:14' + ip: + example: 76.127.207.96 + last_found: + example: '2016-09-16T14:57:56' + last_time_span: + example: 7 + latest_contiguous_stats: + type: object + properties: + avg_time_span: + example: 5 + detected_connections: + example: 3 + ephemeral_ports: + example: '(17741:25283:23991)' + first_found: + example: '2016-09-16T14:45:14' + last_found: + example: '2016-09-16T14:57:56' + last_time_span: + example: 7 + max_time_span: + example: 7 + min_time_span: + example: 0 + std_dev_time_span: + example: 29 + total_detected: + example: 2 + max_time_span: + example: 7 + min_time_span: + example: 0 + std_dev_time_span: + example: 29 + total_detected: + example: 2 + Networkshare_details: + type: object + properties: + caption: + example: Remote Admin + description: + example: Remote Admin + device_name: + example: ovh01-w2012-04 + first_detected: + example: '2016-04-08T16:14:04.612Z' + id: + example: '5' + install_date: + example: '' + last_updated: + example: '2016-04-08T16:14:04.612Z' + name: + example: ADMIN$ + path: + example: 'C:\Windows' + status: + example: OK + type: + example: Disk Drive + Get_Software_details: + type: object + properties: + count_in_licensing: + example: true + device: + example: d42laptop01 + device_id: + example: ovh01-w2012-04 + first_detected: + example: '2015-05-20T12:33:13.343Z' + id: + example: '108' + install_date: + example: '' + last_updated: + example: '2016-04-08T16:14:04.612Z' + license_use_count: + example: 1.0$ + software: + example: Hyper-V Tools + software_alias: + example: '' + software_id: + example: '108' + user: + example: '' + user_id: + example: '' + vendor: + example: Probus-IT + vendor_id: + example: '62' + version: + example: 2.03.00.04 + Get_Software_Component_details: + type: object + properties: + discovered_count: + example: '' + custom_fields: + example: [] + rating: + example: 5.0 + description: + example: 'Sample description' + licensed_count: + example: '' + licensing_model: + example: Individual - Device/Perpetual + track_licensed_count_by_keys: + example: 'yes' + notes: + example: test + tags: + example: + - def + vendor: + example: cisco + category: + example: past_time2 + aliases: + example: '3pay, 4pay' + name: + example: 2pay + software_type: + example: prohibited + deployment_type: + example: mobile + id: + example: '583' + Get_Software_License_Keys: + type: object + properties: + count: + example: 1 + id: + example: 1 + key: + example: '124124' + notes: + example: '' + software_id: + example: 114 + software_name: + example: accountsservice + Get_certificates: + type: object + properties: + content_commitment_usage: + example: false + crl_sign_usage: + example: false + custom_fields: + example: [] + data_encipherment_usage: + example: false + days_to_expiry: + example: 1077 + decipher_only_usage: + example: false + digital_signature_usage: + example: true + encipher_only_usage: + example: false + extended_key_usage: + example: | + SERVERAUTH(1.3.6.1.5.5.7.3.1) + CLIENTAUTH(1.3.6.1.5.5.7.3.2) + id: + example: '3' + san: + example: '' + issued_by: + example: '' + issued_to: + example: registration.device42.com + key_agreement_usage: + example: false + key_cert_sign_usage: + example: false + key_encipherment_usage: + example: true + parent_cert: + example: '' + serial_number: + example: 77eb9b55e9228635f2157fd374b8da8 + signature_algorithm: + example: sha256WithRSAEncryption + signature_hash: + example: '708489795' + subject: + example: >- + /OU=Domain Control + Validated/OU=PositiveSSL/CN=registration.device42.com + valid_from: + example: '2014-08-10' + valid_to: + example: '2019-08-09' + vendor: + example: '' + version: + example: 2 + Get_certificate_instances: + type: object + properties: + id: + type: integer + example: 1 + description: The unique ID of the certificate instance. + ip: + type: string + example: '192.168.1.1' + description: The IP address associated with the certificate instance. + valid_from: + type: string + format: date + example: '2024-01-01' + description: The date when the certificate becomes valid. + valid_to: + type: string + format: date + example: '2025-12-31' + description: The certificate's expiration date. + device_id: + type: integer + example: 1 + description: The device ID associated with the certificate. + device: + type: string + example: 'example-device' + description: The device name associated with the certificate instance. + certificate_id: + type: integer + example: 1 + description: The unique ID of the certificate. + certificate: + type: string + example: 'example.com' + description: The domain associated with the certificate. + cipher_suites: + type: object + additionalProperties: + type: string + example: + TLSv1.2: "TLS_RSA_WITH_AES_256_CBC_SHA" + description: Supported cipher suites for the certificate. + fqdn: + type: string + example: 'example.com' + description: Fully Qualified Domain Name. + serial_number: + type: string + example: 'ABC1234567890' + description: The certificate's serial number. + ssl_version: + type: string + example: 'TLSv1.2' + description: SSL version used. + last_added: + type: string + format: date-time + example: 'null' + description: The date and time when the certificate instance was last added. + first_added: + type: string + format: date-time + example: '2024-01-01T00:00:00Z' + description: The date and time when the certificate instance was first added. + Get_All_Password_Accounts: + type: object + properties: + category: + example: Service + custom_fields: + example: [] + first_added: + example: '2013-09-20T19:36:21.585Z' + id: + example: 4 + label: + example: Patch Management Service Account + last_pw_change: + example: '2014-03-18T13:03:04Z' + notes: + example: '' + password: + example: '' + username: + example: usnhctpatchmanager + view_edit_groups: + example: '' + view_edit_users: + example: admin + view_groups: + example: sys_eng + view_users: + example: Ford Prefect + Get_all_Vendors: + type: object + properties: + account_no: + example: '1234' + contact_info: + example: '8004553432' + escalation_1: + example: 'no' + escalation_2: + example: 'no' + groups: + example: 'Prod_East:no, Corp:yes' + home_page: + example: www.acer.com + name: + example: Acer Incorporated + notes: + example: acer + vendor_id: + example: '10' + enrichai_data: + type: object + properties: + id: + example: 33 + enriched_vendor: + example: 'Acer' + Customers: + properties: + Contacts: + type: array + items: + properties: + address: + example: 123 main st + email: + example: rick@d42.com + name: + example: Random Guy + phone: + example: 555-555-5555 + type: + example: Technical + Custom Fields: + type: array + items: + properties: + key: + example: custID + notes: + example: '' + value: + example: '42' + value2: + example: '' + contact_info: + example: '555 Technical Lane, Cool City.' + devices_url: + example: /api/api/1.0/devices/customer_id/1/ + groups: + example: 'Prod_East:no, Corp:yes' + id: + example: 1 + name: + example: 'ABC, Inc.' + notes: + example: some notes here + subnets_url: + example: /api/api/1.0/subnets/customer_id/1/ + Get_all_Circuits: + type: object + properties: + ID: + example: 1 + bandwidth: + example: '' + circuit_id: + example: L3-01 + custom_fields: + type: array + items: + properties: + key: + example: Region + notes: + example: '' + value: + example: APAC + customer: + example: ABC Inc. + end_point_id: + example: 124 + end_point_type: + example: patch_panel_port + notes: + example: '' + origin_id: + example: 193 + origin_type: + example: 'vendor' + origin_vendor: + example: 'TF1' + provision_date: + example: '' + turn_on_date: + example: '' + type: + example: Dedicated Ethernet + vendor: + example: '' + full_path_list: + type: array + items: + properties: + type: + type: string + id: + type: integer + name: + type: string + example: + - type: 'organisation' + id: 193 + name: 'TF1' + - type: 'circuit' + id: 1 + name: 'L3-01' + - type: 'patch_panel_port' + id: 124 + name: 'MDF-CORE-A : 24' + Get_all_Power_Circuits: + type: object + properties: + amps: + example: '' + asset_connections: + example: [] + bcpm: + example: '' + bcpm_id: + example: '' + breakerpanel: + example: Primary Breaker Panel + breakerpanel_id: + example: '10' + connection: + example: '' + device_connections: + example: [] + label: + example: Testing Circuits + number: + example: Main Power Circuit + power_circuit_id: + example: '85' + powerunit_connections: + example: [] + voltage: + example: '' + Cable: + type: object + properties: + cable_id: + example: 'Fiber 1:Multi' + cable_length: + example: '' + cable_length_units: + example: m + custom_fields: + example: [] + end_back_patch_panel: + example: false + end_cable_color: + example: '' + end_cable_type: + example: '' + end_connector_type: + example: '' + end_content_type: + example: cable + end_optic_type: + example: '' + end_point_multiple: + example: true + id: + example: 3 + notes: + example: '' + origin_back_patch_panel: + example: false + origin_cable_color: + example: '' + origin_cable_type: + example: '' + origin_connector_type: + example: '' + origin_content_type: + example: netport + origin_netport_id: + example: 899 + origin_netport_name: + example: '' + origin_optic_type: + example: '' + room: + example: '' + tags: + example: [] + vendor: + example: '' + getHistory: + type: object + properties: + action: + example: Add/Change(API) + action_time: + example: '2014-03-19T13:09:35.474Z' + change_message: + example: >- + added/edited via api with values: {u'domain': u'd42.net', u'type': + u'A', u'nameserver': u'ns1', u'name': u'oxrouter', u'ttl': u'3'}. + content_type: + example: DNS A or AAAA Record + obj_repr: + example: oxrouter + user: + example: admin + getAuditLogs: + type: object + properties: + total_count: + example: 6 + limit: + example: 1000 + offset: + example: 0 + auditlogs: + type: array + items: + type: object + properties: + object_id: + example: 1 + from: + example: Internal + object_type: + example: user + object_fields: + example: '{\"id\": \"1\", \"status\": \"Affinity Group processing completed in 0:00:00.088542\", \"enabled\": \"t\", \"upgraded\": \"t\", \"saved_doql_id\": \"1\", \"last_processed\": \"2022-11-08 15:33:00.733269+00\", \"target_reports\": \"3\"}' + user: + example: admin + x_d42_source: + example: 'null' + changed_fields: + type: object + properties: + message: + example: User logged in from ['10.42.08'] + status: + example: Affinity Group processing completed in 0:00:00.254720. + action_time: + example: '2022-11-09T15:37:04.632566Z' + api_data: + example: 'null' + action: + example: Login + url: + example: 'null' + healthstat_status: + type: object + properties: + version: + example: '18.10.00.1690226275' + backup_status: + type: array + items: + type: object + properties: + id: + example: 1 + job_name: + example: Demo Backup + status: + example: Good @ 2019-01-10 18:51:31 + cpu_used_percent: + example: '2.51904' + dbsize: + example: 84 MB + disk_used_percent: + example: '8' + memory_in_MB: + type: object + properties: + buffers: + example: 92 + cached: + example: 254 + memfree: + example: 1728 + memtotal: + example: 3948 + swapfree: + example: 8187 + swaptotal: + example: 8187 + rc_stats: + type: array + items: + type: object + properties: + rc_name: + example: 'DC1-RC' + state: + example: 'disconnected' + version: + example: '18.10.00-1690226275' + nvenv: + type: object + properties: + core-app: + example: 'OK' + app_mgr: + example: 'NOK' + superset: + example: 'OK' + rc_python: + example: 'OK' + system_pkg: + type: object + properties: + status: + example: 'OK' + last_upgrade: + type: object + properties: + status: + example: 'NOK' + from_version: + example: '18.08.00.1686665414' + Service_schedules: + type: array + items: + type: object + properties: + service_name: + type: string + idle_time: + type: boolean + install_Date: + type: string + day_of_month: + type: string + at_startup: + type: boolean + user_id: + type: integer + other_trigger: + type: boolean + arguments: + type: string + event_based: + type: boolean + weeks: + type: string + status: + type: string + description: + type: string + service_schedule_id: + type: integer + month_of_year: + type: string + hours: + type: string + user: + type: string + device: + type: string + other_type: + type: string + device_id: + type: integer + days: + type: string + day_of_week: + type: string + caption: + type: string + at_logon: + type: boolean + minutes: + type: string + example: + - service_name: api_test + idle_time: false + install_Date: '2019-01-01T00:00:00Z' + day_of_month: '' + at_startup: true + user_id: 'null' + other_trigger: false + arguments: '' + event_based: false + weeks: '0' + status: Complete + description: '' + service_schedule_id: 1 + month_of_year: January + hours: '5' + user: 'null' + device: dqr1400pd + other_type: '' + device_id: 1 + days: '2' + day_of_week: '' + caption: scheduled_task_1 + at_logon: false + minutes: '' + - service_name: api_test2 + idle_time: false + install_Date: 'null' + day_of_month: '' + at_startup: false + user_id: 'null' + other_trigger: false + arguments: '' + event_based: false + weeks: '' + status: '' + description: '' + service_schedule_id: 1 + month_of_year: '' + hours: '' + user: 'null' + device: dqr1400pd2 + other_type: '' + device_id: 1 + days: '' + day_of_week: '' + caption: scheduled_task_2 + at_logon: false + minutes: '' + Service_schedule: + properties: + service_name: + type: string + idle_time: + type: boolean + install_Date: + type: string + day_of_month: + type: string + at_startup: + type: boolean + user_id: + type: integer + other_trigger: + type: boolean + arguments: + type: string + event_based: + type: boolean + weeks: + type: string + status: + type: string + description: + type: string + service_schedule_id: + type: integer + month_of_year: + type: string + hours: + type: string + user: + type: string + device: + type: string + other_type: + type: string + device_id: + type: integer + days: + type: string + day_of_week: + type: string + caption: + type: string + at_logon: + type: boolean + minutes: + type: string + example: + service_name: api_test + idle_time: false + install_Date: '2019-01-01T00:00:00Z' + day_of_month: '' + at_startup: true + user_id: 'null' + other_trigger: false + arguments: '' + event_based: false + weeks: '0' + status: Complete + description: '' + service_schedule_id: 1 + month_of_year: January + hours: '5' + user: 'null' + device: dqr1400pd + other_type: '' + device_id: 1 + days: '2' + day_of_week: '' + caption: scheduled_task_1 + at_logon: false + minutes: '' + Service_instances: + type: array + items: + type: object + properties: + appcomps: + type: string + appcomp_ids: + type: string + device: + type: string + device_id: + type: integer + first_detected: + type: string + last_updated: + type: string + service_detail_id: + type: integer + service_display_name: + type: string + service_id: + type: integer + state: + type: string + startmode: + type: string + user: + type: string + user_id: + type: integer + vendor: + type: string + vendor_id: + type: integer + cmd_paths: + example: + - '' + ignore_client_connections: + type: boolean + topology_status: + type: string + pinned: + type: boolean + example: + - service_detail_id: 1 + service_display_name: apport-autoreport + ignore_client_connections: false + last_updated: '2019-08-01T17:09:08.063Z' + first_detected: '2019-07-31T19:49:07.532Z' + vendor_id: 'null' + cmd_paths: + - '' + vendor: 'null' + topology_status: Normal + pinned: false + device: D42Test1 + state: unknown + appcomps: '' + user: 'null' + service_id: 2 + appcomp_ids: '' + user_id: 'null' + startmode: unknown + device_id: 4 + - service_detail_id: 2 + service_display_name: apport-forward@ + ignore_client_connections: false + last_updated: '2019-08-01T17:09:08.063Z' + first_detected: '2019-07-31T19:49:07.532Z' + vendor_id: 'null' + cmd_paths: + - '' + vendor: 'null' + topology_status: Normal + pinned: false + device: D42Test1 + state: unknown + appcomps: '' + user: 'null' + service_id: 2 + appcomp_ids: '' + user_id: 'null' + startmode: unknown + device_id: 4 + Service_instance: + properties: + appcomps: + type: string + appcomp_ids: + type: string + device: + type: string + device_id: + type: integer + first_detected: + type: string + last_updated: + type: string + service_detail_id: + type: integer + service_display_name: + type: string + service_id: + type: integer + state: + type: string + startmode: + type: string + user: + type: string + user_id: + type: integer + vendor: + type: string + vendor_id: + type: integer + cmd_paths: + example: + - '' + ignore_client_connections: + type: boolean + topology_status: + type: string + pinned: + type: boolean + example: + service_detail_id: 2 + service_display_name: apport-forward@ + ignore_client_connections: false + last_updated: '2019-08-01T17:09:08.063Z' + first_detected: '2019-07-31T19:49:07.532Z' + vendor_id: 'null' + cmd_paths: + - '' + vendor: 'null' + topology_status: Normal + pinned: false + device: D42Test1 + state: unknown + appcomps: '' + user: 'null' + service_id: 2 + appcomp_ids: '' + user_id: 'null' + startmode: unknown + device_id: 4 + Service_client_connections: + properties: + total_count: + example: 1 + offset: + example: 0 + limit: + example: 1000 + client_connections: + type: array + items: + type: object + properties: + listener_device_id: + type: integer + client_service_id: + type: integer + stats: + example: [] + client_device_id: + type: integer + listener_mapped_service: + type: string + listener_discovered_serivce: + type: string + listener_mapped_service_id: + type: integer + client_ip: + type: string + listener_device: + type: string + client_service: + type: string + port: + type: integer + client_device: + type: string + client_process_name: + type: string + client_process_display_name: + type: string + id: + type: integer + listener_ip: + type: string + type: + type: integer + listener_discovered_service_id: + type: integer + service_port_ip_id: + type: integer + example: + - listener_device_id: 'null' + client_service_id: 151 + stats: [] + client_device_id: 3 + listener_mapped_service: 'null' + listener_discovered_service: 'null' + listener_mapped_service_id: 'null' + client_ip: 10.90.6.15 + listener_device: 'null' + client_service: systemd-resolved + port: 80 + client_device: peter-ubu1604-90615.device42.pvt + client_process_name: >- + /usr/bin/wget -q -O - + http://169.254.169.254/latest/dynamic/instance-identity/document + client_process_display_name: wget + id: 2 + listener_ip: 169.254.169.254 + type: 0 + listener_discovered_service_id: 'null' + service_port_ip_id: 'null' + Service_listener_ports: + properties: + total_count: + example: 2 + offset: + example: 0 + limit: + example: 1000 + service_ports: + type: array + items: + type: object + properties: + discovered_service: + type: string + mapped_service: + type: string + protocol: + type: string + id: + type: integer + device_name: + type: string + listening_ip: + type: string + remote_ips_ids: + type: string + appcomp_ids: + type: string + remote_ips: + type: string + port: + type: integer + example: + - discovered_service: exim4 + mapped_service: exim4 + protocol: tcp + id: 3 + device_name: D42_Test_Device + listening_ip: '::1' + remote_ips_ids: '' + appcomp_ids: '' + remote_ips: '' + port: 25 + - discovered_service: exim4 + mapped_service: exim4 + protocol: tcp + id: 4 + device_name: D42_Test_Device + listening_ip: 127.0.0.1 + remote_ips_ids: '' + appcomp_ids: '' + remote_ips: '' + port: 25 + Service_listener_port: + properties: + service_ports: + type: object + properties: + discovered_service: + type: string + mapped_service: + type: string + protocol: + type: string + id: + type: integer + device_name: + type: string + listening_ip: + type: string + remote_ips_ids: + type: string + appcomp_ids: + type: string + remote_ips: + type: string + port: + type: integer + example: + discovered_service: exim4 + mapped_service: exim4 + protocol: tcp + id: 3 + device_name: D42_Test_Device + listening_ip: 127.0.0.1 + remote_ips_ids: '' + appcomp_ids: '' + remote_ips: '' + port: 25 + Listener_connection_stats: + properties: + total_count: + example: 2 + offset: + example: 0 + limit: + example: 1000 + service_ports: + type: array + items: + type: object + properties: + listener_device_id: + type: integer + protocol: + type: string + listener_device_name: + type: string + client_ips_ids: + type: string + client_ips: + type: string + client_stats: + type: array + items: + type: string + id: + type: integer + listening_ip: + type: string + appcomp_ids: + type: string + listener_service: + type: string + port: + type: integer + listener_service_id: + type: integer + example: + - listener_device_id: 10 + protocol: tcp + listener_device_name: D42_Test_Device + client_ips_ids: '' + client_ips: '' + client_stats: [] + id: 3 + listening_ip: '::1' + appcomp_ids: '' + listener_service: exim4 + port: 25 + listener_service_id: 162 + - listener_device_id: 10 + protocol: tcp + listener_device_name: D42_Test_Device + client_ips_ids: '' + client_ips: '' + client_stats: [] + id: 4 + listening_ip: 127.0.0.1 + appcomp_ids: '' + listener_service: exim4 + port: 25 + listener_service_id: 162 + Listener_connection_stats_id: + properties: + service_ports: + type: object + properties: + listener_device_id: + type: integer + protocol: + type: string + listener_device_name: + type: string + client_ips_ids: + type: string + client_ips: + type: string + client_stats: + type: array + items: + type: string + id: + type: integer + listening_ip: + type: string + appcomp_ids: + type: string + listener_service: + type: string + port: + type: integer + listener_service_id: + type: integer + example: + listener_device_id: 10 + protocol: tcp + listener_device_name: D42_Test_Device + client_ips_ids: '' + client_ips: '' + client_stats: [] + id: 4 + listening_ip: 127.0.0.1 + appcomp_ids: '' + listener_service: exim4 + port: 25 + listener_service_id: 162 + auto_discoveryPortscan: + type: object + properties: + job_id: + example: '1' + name: + example: Portscan1 + servers: + example: 192.168.1.1 + start_ip: + example: 192.168.1.1 + end_ip: + example: 192.168.1.1 + schedule_time: + example: 11:40 + schedule_days: + example: 0,1,2,3 + last_status: + example: success + run_report: + example: finished successfully + exclude_servers: + example: 192.168.1.10 + task_name_template: + example: '%name% - %platform% (autocreated)' + debug_level_id: + example: '1' + debug_level: + example: Debug On + vserver_debug_level: + example: yes + hostname_precedence: + example: yes + ignore_host_serial: + example: no + ignore_host_uuid: + example: yes + discover_vms: + example: yes + discover_vm_creation_date: + example: no + set_device_dnp: + example: no + device_name_format: + example: hostname + add_nonauthoritativealiases: + example: yes + ignore_ipv6: + example: no + ignore_subnets: + example: yes + ignore_virt_subtype: + example: yes + discover_parts: + example: no + capture_hosts_file: + example: no + discover_software: + example: no + initial_software_type: + example: managed + discover_services: + example: no + discover_applications: + example: yes + discover_cloudid: + example: no + discover_cluster: + example: yes + store_config_files: + example: no + store_software_config_files: + example: no + store_registry_info: + example: no + store_filesystem_info: + example: yes + strip_domain_suffix: + example: yes + service_level_id: + example: '1' + service_level: + example: Development + object_category_id: + example: '1' + object_category: + example: Test + overwrite_device_categories: + example: yes + customer_id: + example: '1' + customer: + example: customer1 + vrfgroup_id: + example: '1' + vrfgroup: + example: vrfgroup1 + remote_collector_id: + example: '1' + remote_collector: + example: RC1 + polling_interval: + example: '300' + enable_resources_monitoring: + example: yes + collect_db_info: + example: no + tags: + example: + - abc + - sql + ignore_host_os_info: + example: yes + allow_sudo: + example: yes + allow_su: + example: yes + enc_unpwd_ids: + example: '' + db_enc_unpwd_ids: + example: '' + api_client: + type: object + properties: + id: + example: 2 + client_key: + example: "e230e6edfc5b4781a3f2600272506278" + last_used: + example: "2022-03-21T14:26:03.704Z" + created: + example: "2022-03-21T14:16:08.481Z" + resource_owner: + example: "apiclient" + failed_attempts: + example: 0 + is_locked: + example: false + token_ttl: + example: 60 + active: + example: true + aws_role_account: + type: object + properties: + id: + example: 3 + aws_account_id: + example: "123456789012" + aws_role_id: + example: 1 + aws_role: + type: object + properties: + id: + example: 2 + role_name: + example: "example role" + role_description: + example: "An Example AWS Role" + name: + example: "Example Role" + accounts: + type: array + items: + $ref: '#/definitions/aws_role_account' + businessapps_element: + type: object + properties: + businessapp_element_uuid: + example: "344316e2-409d-4bbf-b994-f4e3f152947a" + businessapp_id: + example: 2 + device_id: + example: 4 + name: + example: "test device" + orphaned: + example: "no" + businessapps_element_delete: + type: object + properties: + businessapp_element_uuid: + example: "344316e2-409d-4bbf-b994-f4e3f152947a" + deleted: + example: "true" + businessapps_connection: + type: object + properties: + businessapp_connection_uuid: + example: "344316e2-409d-4bbf-b994-f4e3f152947a" + from_businessapp_element_uuid: + example: "344316e2-409d-4bbf-b994-f4e3f152947b" + to_businessapp_element_uuid: + example: "344316e2-409d-4bbf-b994-f4e3f152947c" + type: + example: "test" + labels: + example: "test" + custom_fields: + type: array + items: + type: object + properties: + id: + example: 2 + key: + example: "room" + type_id: + example: 1 + type: + example: "Text" + filterable: + example: "false" + mandatory: + example: "true" + fk_model_id: + example: "null" + fk_model_input: + example: "null" + log_for_api: + example: "true" + is_multi: + example: "false" + picklist: + example: "null" + BadRequest: + description: Bad Request (A validation exception has occurred.) + examples: + errors: + - code: 400 + reason: BAD_REQUEST + title: The error response code title. + detail: Details of the error response. + Unauthorized: + description: Unauthorized (Your credentials suck) + examples: + errors: + - code: 401 + reason: Unauthorized + title: Unauthorized + detail: Your credentials suck + Forbidden: + description: Forbidden (The resource requested is hidden) + examples: + errors: + - code: 403 + reason: Forbidden + title: Forbidden + detail: The resource requested is hidden + NotFound: + description: Not Found (The specified resource could not be found) + examples: + errors: + - code: 404 + reason: Not Found + title: Not Found + detail: The specified resource could not be found. + InternalServerError: + description: >- + Internal Server Error (Some parameter missing or issue with the + server. Check with returned “msg” from the call.) + examples: + errors: + - code: 500 + reason: Internal Server Error + title: Internal Server Error + detail: >- + Some parameter missing or issue with the server. Check with + returned “msg” from the call. + ServiceUnavailable: + description: >- + Service Unavailable (Please check if your Device42 instance is + working normally.) + examples: + errors: + - code: 503 + reason: Service Unavailable + title: Service Unavailable + detail: Please check if your Device42 instance is working normally. + PowerUnitModelPort: + type: object + properties: + id: + example: '1' + type: string + normalized_port_name: + example: foo + type: string + orientation: + example: 1 + type: integer + port_name: + example: foo + type: string + port_type: + example: IEC 320 C13 + type: string + port_type_id: + example: 2 + type: integer + power_unit_model_id: + example: 2 + type: integer + x_pos: + example: 0 + type: integer + y_pos: + example: 0 + type: integer diff --git a/static/assets/files/d42-swagger-v190800.yaml b/static/assets/files/d42-swagger-v190800.yaml new file mode 100644 index 000000000..a7b02d97f --- /dev/null +++ b/static/assets/files/d42-swagger-v190800.yaml @@ -0,0 +1,36258 @@ +swagger: '2.0' +info: + title: Device42 API + version: '2.0' + description: >- +

                                            API Overview


                                            Restful API are supported in Device42 as one of the + primary methods of entering, editing and retrieving data.

                                            If you'd like to see your changes on + our UI, please visit and use credentials 'guest:device42_rocks!'. + Please be aware that every 30 minutes our database resets and all data + entered with POST/PUT calls from this page will be lost.

                                            If you have + any questions/suggestions, please send us a note to support at device42.com + below. +

                                            NOTE: Secrets/Password passphrase has been disabled on the swagger demo instance. + When you use Try It functionality with API method that provides or modifies a secret, you will receive an error. +

                                            API Authentication

                                            + The RESTful API's enforce the role-based security that is created with the + Device42 app and support two HTTP authentication schemes: Basic Authentication and Token + Authentication.
                                            +
                                            Basic Authentication +
                                            Using Basic Authentication, the API consumer sends an Authorization header that contains the + string 'Basic ' followed by a base64-encoded string username:password. The username and password + must be those of a Device42 user. If you want a user to have access + via the API, but not via the UI - deselect 'Staff Status' for that user from + UI Tools > Admins & Permissions > Administrators.
                                            +
                                            Token Authentication +
                                            Token authentication uses a digitally signed token, called a Bearer token, to provide secure, + credential-less API call authorizations. When using Bearer tokens, the API consumer sends an Authorization + header that contains the string 'Bearer ' followed by the Bearer token data returned by Device42. +

                                            Device42 Bearer tokens are secure JWT tokens using an RSA SHA256 encrypted signature. + The RSA encryption keys used to encrypt the tokens are unique to each Device42 installation. + Bearer tokens are time limited, and, once expired, cannot be used again.
                                            +
                                            When using token authentication, a Device42 entity called an API Client is required and + an additional step is necessary before making API calls. The API consumer + must request a token by authenticating with an API Client. If the authentication succeeds, + a token is returned and API Calls can then be made using the token as the Bearer token. +

                                            API Clients are created as needed by a Device42 administrator. API Clients act as a proxy + to a Device42 user (the user must have its Staff Status deselected). Role-based security is inherited by the + API Client from the associated Device42 user. +

                                            When an API Client is created, a pair of universally unique ids + are generated, called the Client key and Client Secret key. The Client key identifies the API Client. + The Client and Client Secret keys are used as username and password respectively when requesting a token. +

                                            To request a token, the API consumer sends a POST request to the Device42 /tauth/1.0/token/ endpoint. + The request uses Basic authentication with the username set to the Client key and the password set to Cient + Secret key. The successful response to this request will be a JSON object containing the token and other properties. + The token is then used in subsequent Device42 API calls as the Bearer token. +

                                            Tokens can also be extended and deleted using the /tauth/1.0/token/ endpoint. +

                                            For a walkthrough on setting up Token authentication visit API Token Usage in Details +
                                            +

                                            Response & + Status Messages

                                            Responses
                                            The response to most POST calls + will have the following format:
                                            {'msg':['PartModel added/updated', 17, + 'RAM Acme 123456', true, true], 'code':0}

                                            Using the example + above:
                                            '17' = ID of the object
                                            'RAM Acme 123456' = representation of + the object
                                            'true, true' = object added and is new.
                                            'true, false' = + object updated.
                                            'false, false' = no changes.

                                            Status + Codes
                                            Code 0
                                            Success! e.g. = {'msg': 'device added or updated', + code:0}

                                            'HTTP/1.1 200 OK'
                                            Success! All other responses are + errors and will display an error code e.g.: 400, 401, 403, 405, 410, 500, 503. These are explained + in each call.

                                            Please let us know if you notice something odd with a response and we will fix it! :) +

                                            API Get Limits and Offsets

                                            In + Device42’s global settings we have the option to enforce API GET limits and + this setting is recommended for better performance. To set this value from + Device42, go to Tools>Settings>Global Settings and the click Edit in the top + right. Toward the bottom of the screen you will see the API section. First + check the “Enforce API GET Limits” checkbox, then enter a value for API GET + Limit. A good limit to start with is 500 or 1000, depending on the + performance you experience.

                                            After setting this limit all GET calls + below can have the results augmented via “offset” and “limit” parameters to + tell Device42 which value to start returning results from, and how many + results to return at maximum.
                                            Examples:

                                            '/?limit=50' returns the + first 50 results.

                                            '/?offset=100' will start at the 101st result. +

                                            '/?offset=42&limit=42' returns 42 results, starting at the 43rd.

                                            + Note that offset is used for paging - that is, the offset is only applied when the total number of objects returned exceeds the limit that is returned.


                                            + Commit: # + contact: + name: Device42 + email: support@device42.com +host: +schemes: + - https +consumes: + - application/json + - application/x-www-form-urlencoded +produces: + - application/json +paths: + /tauth/1.0/token/: + post: + operationId: postapitoken + summary: Request an API Token + description: >- + Used to request a token from an API Client. Once a token has been obtained, the token can be used as the Bearer token on subsequent API calls + The Client key and Client secret key of an API Client are provided as Basic authentication userid and password. + tags: + - API Token Authentication + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: '0' + expires: + example: '2022-02-03T19:23:03.267Z' + token: + example: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJEZXZpY2U0MiIsInRva2VuX2lkIjozOSwiY2xpZW50X2lkIjo2LCJleHAiOjE2NDM5MTYxODMsImV4aSI6NjAwfQ.CYZvhvXtKTpOJRpeQudAzFlqjdZc5tTx3oS9XOwXk_N2P9WCmQlsiXSFSVVUsU3XGRprLEULrBKlcpuo08c4mZxiNGV99X40HFWlGrWWjB0scW3CwHX0c2Y6xHbUhH70Fhw5J2ivMsuwb5ecUuQnVqLzXPAriirwjn90ikCEF56_1MPWN9Qgy6r_ZjSre2JpCFgkPZ0PKAMkq-lTH1FNLwcTGG9dB8BwWW7okEQdvU_RJsjJZCOj-i5AdPcWrHMAqpJKE1FqKTSOCD3YbMIbsLA0rhCUFzqaIgUKm8kcknCTjcpPrpzKk6toqA82UuToW8IUFoyLO7-p3hbKForc8PQR5lu3wcoqpQ_kIWRuT3e9uai7VFOZ-oZMXGnXgNrR32FVPg7ZGZBxMmTh-C_MByp9RAWa0Uqhx0cyYOe-C9uUaixXB73qigTsSSrpKGRyl96e5WqCwDeztG8XCLMiSBceZW8JSLBL-Kt10xIuSHue0bnDz6kH5kdgnc_b6l1Q5EWYIVM_BmWGj0yq5WF0cPFHlOc2rjcLZFiVsY6M0kiMIFN1EdJskP_4JS3UgnP7QwYCjUvalpJUiU85Qri_SvVqvZeXcQfTiD8BX_nT59IlopD0JIRL8ajc3RQS6g8mYNdFkzKz2jSADuryTW-yFQMo0IoYfZQLX1Xs9FrQVYc' + ttl: + example: 10 + msg: + example: 'connected' + token_id: + example: 42 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /tauth/1.0/token/{token_id}/: + put: + operationId: putapitoken + summary: Extend an API Token + description: >- + Used to extend the expiraton time of the API Token provided as the Bearer token. The token is extended by the + Time to Live value set by the API Client. The id of the token is required. + It is important to note that, when this request completes, a new token is generated along with a new token_id. The new + token must be used as the Bearer token in subsequent API calls. The original token is invalid and has been deleted. + tags: + - API Token Authentication + parameters: + - $ref: '#/parameters/token_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: '0' + expires: + example: '2022-02-03T19:27:01.872Z' + token: + example: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJEZXZpY2U0MiIsInRva2VuX2lkIjo0MCwiY2xpZW50X2lkIjo2LCJleHAiOjE2NDM5MTY0MjEsImV4aSI6NjAwfQ.Uko8axOaUuJDt6IRsNZhzBZSrAG_0jMyHHJGN3x3i3PqA-xaVO3P5djud3D7Jz4GkYolEZQSudMB9FE8NPQXVCjjuUVMbGKmBele_oIxnC1dAwnJ0H2ZDC2AM1GO-8685nmi39wMEPrtfm0PbY8KW4uB4_BJOQWVv4GYd_J_c4wxQ-THKRir8fFRyNO5Jjr220-Irn6Le2zV4DqoSbLG88gATjECbUSKyBIQwwB_zPHe05xYyP5DCKF7FRAl5kab1HZYWJ_0FBVYyqddSgZxQ4und3u5TgIVtp3VXrFdOKFAmj9pAK8kNieApxb4-NY2jZYmwGZpu3yca-tULj3q-dn3RXq5niZBD1cJqvsI-fkiOrD_OMvraR95OJqEo93OWILbS5rXXQAHS_zONkKkoEKe1kCb7EzW59-Z8eQI0UxgtYJM238ZCLxvucIjg518zSsxDOV7TK875FL-WyCiRZ4N86gbCHJvWkfqCb1Dx5MojgujMOG0LkE2zs9LMyftUDFx1MYf756xgt-iILZyQFD1Su-uHHjqV1Pb5_-fqTWg3XfD3ALNmmX8mdEux_GPRbeaHTSASaRtVXJVDrqLO18rg93xraTKF1J1IvgtxjI3bPSQ99o3z_LK1sSg0dFcUJw3dHb3OG-jaW3KnGRkKlCldFaWsb1eL9HP4nxL1wU' + ttl: + example: 10 + msg: + example: 'connected' + token_id: + example: 43 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteapitoken + summary: Delete an API Token + description: >- + Used to deelete the API Token provided as the Bearer token. The token is deleted thus preventing it from validating in subsequent API call. + The id of the token is required. + tags: + - API Token Authentication + parameters: + - $ref: '#/parameters/token_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: 'API Token deleted' + code: + example: '0' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/api_clients/: + get: + operationId: getapiclients + summary: Get All API Clients + description: >- + Get all API Clients + tags: + - API Clients + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + api_client: + type: array + items: + $ref: '#/definitions/api_client' + total_count: + example: 1 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAPIClient + description: This call will create/update an API Client + summary: Create/update API Client + tags: + - API Clients + parameters: + - name: client_key + type: string + description: unique client key + in: formData + - name: client_secret_key + type: string + description: unique client secret key + in: formData + - name: resource_owner + type: string + description: username of a Device42 non-staff user + in: formData + - name: token_ttl + type: integer + description: token time to live in seconds + in: formData + - name: active + type: boolean + description: true if the token is active + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - 7 + - "57a1272bd48940a29f3b3b0fc78acc4e" + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/api_clients/{client_id}: + get: + operationId: getapiclient_id + summary: Get an API Client + description: >- + Get an API Client by ID + tags: + - API Clients + parameters: + - name: client_id + in: path + description: API Client ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/api_client' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteapiclient_id + summary: Delete an API Client + description: >- + Delete an API Client by ID + tags: + - API Clients + parameters: + - name: client_id + in: path + description: API Client ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '3' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + + /api/2.0/api_client_keys/: + get: + operationId: getapiclientkeys + summary: Get API Client Keys + description: >- + This API retrieves key and secret key for an API client + tags: + - API Client Keys + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + apiclient_key: + example: "0a7048d7be904028b798900657d4c8b9" + apiclient_secret_key: + example: "aa460be4f08a48488bb46b03eae07736_6468d3616a61430190ad65fceaf38b1a" + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + # AWS Roles API + /api/2.0/aws_roles/: + get: + operationId: getawsroles + summary: Get All AWS Roles + description: >- + Get all AWS Roles + tags: + - AWS Roles + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + aws_roles: + type: array + items: + $ref: '#/definitions/aws_role' + total_count: + example: 1 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postawsroles + description: This call will create/update an AWS Role + summary: Create/update AWS Role + tags: + - AWS Roles + parameters: + - name: name' + type: string + description: Device42 AWS Role object name + in: formData + required: true + - name: role_name + type: string + description: AWS Role name + in: formData + required: true + - name: role_description + type: string + description: Device42 description of the Role object + in: formData + - name: account_id + type: string + description: Optional AWS Account ID (to add with this Role) + in: formData + - name: external_id + type: string + description: Optional External ID for the Optional AWS Account + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - 7 + - "example role" + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/aws_roles/{aws_role_id}: + get: + operationId: getaawsrole_id + summary: Get an AWS Role by ID + description: >- + Get an AWS Role by ID + tags: + - AWS Roles + parameters: + - name: aws_role_id + in: path + description: AWS Role ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/aws_role' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteawsrole_id + summary: Delete an AWS Role + description: >- + Delete an AWS Role by ID + tags: + - AWS Roles + parameters: + - name: aws_role_id + in: path + description: AWS Role ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '3' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/aws_roles/accounts/: + get: + operationId: getaawsaccountaccount_id + summary: Get AWS Role Accounts + description: >- + Get AWS Role Accounts, optionally limited to acccounts for a specified AWS Role + tags: + - AWS Roles + parameters: + - name: aws_role_id + in: query + description: Optional AWS Role ID. (If provided, account list will be limited to the accounts linked to this role.) + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + aws_accounts: + type: array + items: + $ref: '#/definitions/aws_role_account' + total_count: + example: 1 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postawsaccount + description: This call will create/update an AWS Role Account + summary: Create/update AWS Role Account + tags: + - AWS Roles + parameters: + - name: aws_role_id + type: string + description: Device42 AWS Role to add this AWS Account to + in: formData + required: true + - name: aws_account_id + type: string + description: AWS Account ID + in: formData + required: true + - name: external_id + type: string + description: Optional AWS External ID for the AWS Account + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - 12 + - "999999999999" + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/aws_roles/accounts/{aws_account_id}: + get: + operationId: getaawsaccountaccount_id + summary: Get an AWS Role Account by ID + description: >- + Get an AWS Role Account by ID + tags: + - AWS Roles + parameters: + - name: aws_account_id + in: path + description: AWS Role Account ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/aws_role_account' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteawsroleaccount_id + summary: Delete an AWS Role Accont + description: >- + Delete an AWS Role Account by ID + tags: + - AWS Roles + parameters: + - name: aws_account_id + in: path + description: AWS Role Account ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '3' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/buildings/: + get: + operationId: getBuildings + description: Retrieve information about all buildings + summary: Get all + tags: + - Buildings + parameters: + - $ref: '#/parameters/name' + - $ref: '#/parameters/building_include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + buildings: + $ref: '#/definitions/buildings' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postBuildings + description: Create/update building + summary: Create/update + tags: + - Buildings + parameters: + - name: name + type: string + in: formData + required: true + description: Name of building + - name: latitude + type: string + in: formData + description: north-south position + - name: longitude + type: string + in: formData + description: east-west position + - $ref: '#/parameters/address_post' + - $ref: '#/parameters/contact_name_post' + - $ref: '#/parameters/contact_phone_post' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/groups_post' + - name: tags + type: string + description: add tags (comma separated) + in: formData + - name: tags_remove + type: string + in: formData + description: comma separated tags to remove + - name: new_name + type: string + in: formData + description: Change name of an existing building. This parameter is ignored when creating a new building. + + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Building added/updated successfully + - 4 + - main office + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/buildings/{ID}/': + get: + operationId: getBuildingByID + description: This call will get a building by ID + summary: Get specific building by id + tags: + - Buildings + parameters: + - name: id + in: path + description: Building ID. + type: integer + required: true + - $ref: '#/parameters/building_include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/building' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteBuildings + summary: Delete + description: >- + This API is used to delete the building with the building id supplied as + the required argument + tags: + - Buildings + parameters: + - name: ID + type: integer + in: path + description: building id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/building/: + put: + operationId: putCustom_fieldsBuilding + summary: Custom fields + description: >- + Create or update custom fields for building. "ID" or "name" of building + is needed even when value is not being changed + tags: + - Buildings + parameters: + - name: name + type: string + in: formData + description: Name of building + - name: id + type: string + in: formData + description: ID of building + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/groups_post' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - main office + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/rooms/: + get: + operationId: getRooms + description: Retrieve information about all rooms + summary: Get all + tags: + - Rooms + parameters: + - $ref: '#/parameters/name' + - $ref: '#/parameters/building_id' + - $ref: '#/parameters/building' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + rooms: + $ref: '#/definitions/rooms' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postRooms + description: >- + Create or update a Room. Required parameters:
                                            • name
                                            • +
                                            • building_id OR building
                                            • + summary: Create/update + tags: + - Rooms + parameters: + - name: name + type: string + in: formData + required: true + description: Name of room + - name: building_id + type: string + in: formData + description: Existing building ID + - name: building + type: string + in: formData + description: Existing building name + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/horizontal_grid_numbering' + - $ref: '#/parameters/horizontal_grid_start' + - $ref: '#/parameters/vertical_grid_numbering' + - $ref: '#/parameters/vertical_grid_start' + - $ref: '#/parameters/uom' + - $ref: '#/parameters/height' + - $ref: '#/parameters/grid_rows' + - $ref: '#/parameters/grid_cols' + - $ref: '#/parameters/raised_floor' + - $ref: '#/parameters/raised_floor_height' + - $ref: '#/parameters/groups_post' + - $ref: '#/parameters/reverse_xaxis' + - $ref: '#/parameters/reverse_yaxis' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Room added successfully + - 7 + - 2nd Floor + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/rooms/{ID}/': + get: + operationId: getRoomsID + summary: Get specific + description: >- + Retrieve detailed information about a specific room includes racks, + devices and objects directly related to that room + tags: + - Rooms + parameters: + - name: ID + type: integer + in: path + required: true + description: The ID of the room to retrieve + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + building: + example: New Haven + reverse_yaxis: + example: 'no' + name: + example: NHDC1 + notes: + example: Demo Room + horizontal_grid_numbering: + example: 0 + horizontal_grid_start: + example: '1' + vertical_grid_numbering: + example: 1 + vertical_grid_start: + example: 'A' + devices: + type: array + items: + properties: + device: + type: object + properties: + uuid: + example: '' + serial_no: + example: '' + asset_no: + example: '' + name: + example: CRAC2 + device_url: + example: /api/api/1.0/devices/id/123/ + type: + example: other + device_id: + example: 123 + preferred_alias: + example: "Device's preferred alias" + wall: + example: middle + grid_cols: + example: 10 + room_id: + example: 1 + reverse_xaxis: + example: 'no' + grid_rows: + example: 9 + building_id: + example: 1 + racks: + type: array + items: + $ref: '#/definitions/RoomsRacks' + assets: + type: array + items: + properties: + asset_id: + example: 30 + serial_no: + example: '' + type: + example: Breaker Panel + name: + example: Power1 + asset_no: + example: 0084 + tags: + type: array + items: + type: string + example: "carbon_footprint" + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putRoomsID + description: Update information for an existing room + summary: Update + tags: + - Rooms + parameters: + - name: ID + type: integer + in: path + required: true + description: id of the room + - name: name + type: string + in: formData + description: Name of room + - $ref: '#/parameters/notes_post' + - name: building_id + type: string + in: formData + description: Existing building ID + - $ref: '#/parameters/horizontal_grid_numbering' + - $ref: '#/parameters/horizontal_grid_start' + - $ref: '#/parameters/vertical_grid_numbering' + - $ref: '#/parameters/vertical_grid_start' + - $ref: '#/parameters/uom' + - $ref: '#/parameters/height' + - $ref: '#/parameters/grid_rows' + - $ref: '#/parameters/grid_cols' + - $ref: '#/parameters/raised_floor' + - $ref: '#/parameters/raised_floor_height' + - $ref: '#/parameters/groups_post' + - $ref: '#/parameters/reverse_xaxis' + - $ref: '#/parameters/reverse_yaxis' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Room updated successfully + - 7 + - 3nd Floor + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteRoomsID + summary: Delete + description: >- + This API is used to delete the room with the room id supplied as the + required argument + tags: + - Rooms + parameters: + - name: ID + type: integer + in: path + required: true + description: room id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/room/: + put: + operationId: putCustom_fieldsRoom + description: >- + Create or update custom fields for rooms. "ID" or "name" of room is + needed even when value is not being changed. + summary: Custom fields + tags: + - Rooms + parameters: + - name: name + type: string + in: formData + description: Name of room + - name: id + type: string + in: formData + description: Room ID or UI > Tools > Export > Room + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 7 + - 2nd Floor @ main office + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/room/: + post: + operationId: postDeviceRoom + description: Add device to a room + summary: Add device + tags: + - Rooms + parameters: + - name: room_id + type: integer + in: formData + required: true + description: Room ID or UI > Tools > Export > Room + - name: name + type: string + in: formData + description: The name of the device to add + required: true + - name: type + type: string + in: formData + enum: + - CRAC + - UPS + required: true + - name: wall + type: string + in: formData + description: >- + Choose 'middle' if you do not want the object to be placed along one + of the 4 walls. + enum: + - left + - right + - top + - bottom + - middle + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + example: + - device added to room + - 1 + - main office - 3nd Floor + - true + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/device/room/{ID}/': + delete: + operationId: deleteDeviceRoom + summary: Delete device + description: >- + This API is used to delete the device from its room with the device id + supplied as the required argument + tags: + - Rooms + parameters: + - name: ID + type: integer + in: path + required: true + description: device id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/assets/room/: + post: + operationId: postAssetsRoom + description: Add an asset to a room or update an existing asset in a room + summary: Add/Update an asset + tags: + - Rooms + parameters: + - name: room_id + type: integer + in: formData + description: Room ID. This is required if room is not provided. + - name: room + type: string + in: query + description: The name of the room. This is required if room_id is not provided. + - name: asset_id + type: integer + in: formData + description: Asset ID. This is required if asset is not provided. + - name: asset + type: string + in: formData + description: The name of the asset. This is required if asset_id is not provided. If this field it used, type must also be provided. + - name: type + type: string + in: formData + description: The type of the asset. Only provide asset types with the server room option enabled. + - name: building + type: string + in: formData + description: The name of the building + - name: wall + type: string + in: formData + description: >- + Choose 'middle' if you do not want the object to be placed along one + of the 4 walls. + enum: + - left + - right + - top + - bottom + - middle + - name: grid_x + type: string + in: formData + description: x coordinate of grid + - name: grid_y + type: string + in: formData + description: y coordinate of grid + - name: start_row + type: string + in: formData + description: Starting row + - name: start_col + type: string + in: formData + description: Starting column + - name: space_rows + type: string + in: formData + description: Rows to space + - name: space_cols + type: string + in: formData + description: Columns to space + - name: grid_rows + type: string + in: formData + description: Grid row + - name: grid_cols + type: string + in: formData + description: Grid column + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Asset added to/updated in room + - 1 + - bp122 (in 3nd Floor) + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/asset/room/{id}/': + delete: + operationId: deleteAssetsRoom + summary: Delete an asset + description: >- + This API is used to delete the asset with the asset id supplied as the + required argument from its room + tags: + - Rooms + parameters: + - name: id + type: integer + in: path + required: true + description: asset id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/racks/: + get: + operationId: getRacks + summary: Get all + description: This API will retrieve basic information about all racks + tags: + - Racks + parameters: + - $ref: '#/parameters/name' + - $ref: '#/parameters/building_id' + - $ref: '#/parameters/building' + - $ref: '#/parameters/room_id' + - $ref: '#/parameters/room' + - name: size + type: integer + description: filter by rack size in U + in: query + - name: row + type: string + description: filter by row name + in: query + - name: asset_no + type: string + description: filter by asset number + in: query + - name: manufacturer + type: string + description: filter by manufacturer + in: query + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 2 + offset: + example: 0 + racks: + type: array + items: + $ref: '#/definitions/racks' + total_count: + example: 275 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postRacks + description: >- + Create / Update Racks. Creating a new rack requires both +
                                              • name
                                              • size

                                              However, if updating a rack, use

                                              • rack_id

                                              or all of

                                              +
                                              • name
                                              • room
                                              • building

                                              If using + room/building name, first combination of room name or room and building + name will be used.

                                              + summary: Create/update + tags: + - Racks + parameters: + - name: name + type: string + in: formData + required: true + description: Rack name - must be unique within a room + - name: size + type: integer + description: In UI + in: formData + required: true + - name: rack_id + type: integer + description: >- + Required to update a rack using ID. This has highest priority to update a + rack. + in: formData + - name: room + type: string + description: Name of room - Required if changing a rack without rack_id. + in: formData + - name: building + type: string + in: formData + description: Name of building - Used when there are non-unique room names. + - $ref: '#/parameters/new_name' + - $ref: '#/parameters/room_id_post' + - $ref: '#/parameters/numbering_start_from_bottom' + - $ref: '#/parameters/first_number' + - $ref: '#/parameters/row' + - $ref: '#/parameters/manufacturer_post' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/start_row' + - $ref: '#/parameters/start_col' + - $ref: '#/parameters/row_size' + - $ref: '#/parameters/col_size' + - $ref: '#/parameters/orientation_rack' + - $ref: '#/parameters/groups_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - rack added. + - 29 + - '34' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/racks/{ID}/': + get: + operationId: getRacksID + description: >- + Retrieve detailed information about a specific rack including all racked + devices, assets and PDUs + summary: Get specific + tags: + - Racks + parameters: + - name: ID + type: integer + in: path + required: true + description: The ID of the rack to retrieve + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + asset_no: + example: '' + assets: + example: [] + available_u: + example: 10 + building: + example: New Haven + custom_fields: + type: array + items: + properties: + key: + example: Master Key? + notes: + example: '' + value: + example: '' + devices: + type: array + items: + $ref: '#/definitions/RackDevices' + first_number: + example: 0 + manufacturer: + example: APC Inc. + name: + example: NH-DC1-02 + notes: + example: '' + number_between_us: + example: true + numbering_start_from_bottom: + example: 'yes' + pdus: + type: array + items: + properties: + bootstrap_power: + example: 0.00 W + depth: + example: Half Depth + file_names: + example: + - /var/www/graphics/images/apc-rack-pdu-front.png + - '' + name: + example: USNHCTPDU-03 + num_ports: + example: '32' + orientation: + example: Back + pdu_id: + example: 16 + power_draw: + example: ' ' + reversed: + example: 'no' + size: + example: 1 + start_at: + example: '' + total_ports: + example: 32 + where: + example: Right + width: + example: 2520 + xpos: + example: 0 + rack_id: + example: 21 + rack_middle_option: + example: Start at + rack_url: + example: /api/api/1.0/racks/21/ + room: + example: NHDC1 + row: + example: '' + row_size: + example: 1 + size: + example: 42 + start_col: + example: 29 + start_row: + example: 10 + tags: + example: [] + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteRacksID + description: >- + This API is used to delete the rack with the rack id supplied as the + required argument + summary: Delete + tags: + - Racks + parameters: + - name: ID + type: integer + in: path + required: true + description: rack id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/asset/rack/{id}/': + delete: + operationId: deleteAssetsRack + summary: Remove Asset from Rack + description: This API is used to un-rack the asset + tags: + - Racks + parameters: + - name: id + type: integer + in: path + required: true + description: Asset ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/rack/: + put: + operationId: putCustom_fieldsRack + description: >- + Create or update custom fields for racks. "ID" or "name" of rack is + needed even when value is not being changed + summary: Custom fields + tags: + - Racks + parameters: + - name: name + type: string + in: formData + description: name of room + - name: id + type: string + in: formData + description: Rack ID or UI > Tools > Export > Rack + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 29 + - 34 - 12 (in 3nd Floor @ main office) + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/assets/: + get: + operationId: getAssets + description: Retrieve basic information about all assets + summary: Get all + tags: + - Assets + parameters: + - $ref: '#/parameters/asset_no' + - $ref: '#/parameters/serial_no' + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + - name: type + type: string + description: filter by asset type + in: query + - $ref: '#/parameters/asset_id' + - $ref: '#/parameters/service_level' + - $ref: '#/parameters/customer' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + - $ref: '#/parameters/asset_no_contains' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - $ref: '#/parameters/related_device_id' + - $ref: '#/parameters/include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + assets: + type: array + items: + $ref: '#/definitions/Assets' + limit: + example: 2 + offset: + example: 0 + total_count: + example: 209 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAssets + description: Create assets + summary: Create + tags: + - Assets + parameters: + - name: type + in: formData + enum: + - 'AC' + - 'Block Tile' + - 'Breaker Panel' + - 'Cable Modem' + - 'DMARC' + - 'Door' + - 'Fabric Extender' + - 'Fax Machine' + - 'Filler Panel' + - 'Monitor' + - 'Patch Panel' + - 'Patch Panel Module' + - 'Projector' + - 'Scanner' + - 'Sensor' + - 'Shredder' + - 'Software' + - 'Speaker Phone' + - 'TAP Module' + - 'Window' + description: The type of the asset. - required.
                                              You can add a new asset type also in PUT. + required: true + type: string + - name: name + in: formData + description: name of asset + type: string + - name: service_level + in: formData + description: >- + In Service, Spare, Not in Service are pre-defined - or choose your + own. + type: string + - name: back_connection_type + in: formData + type: string + description: Type of back connection for asset. Options are panel, switch, circuit, cable. + - name: tap_module_model_id + in: formData + type: integer + description: ID of Tap Module Model + - name: tap_module_model + in: formData + type: string + description: Tap Module Model + - name: tap_module_host_id + in: formData + type: integer + description: ID of Tap Module Host + - name: tap_module_host + in: formData + type: string + description: Tap Module Host for asset. + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + - name: storage_room + in: formData + type: string + description: Name of storage room to apply asset to. + - $ref: '#/parameters/in_service_status' + - $ref: '#/parameters/device_ids' + - $ref: '#/parameters/device_name' + - name: reversed + in: formData + type: string + enum: + - 'yes' + - 'no' + description: Is the asset reversed on the rack? + - name: building + type: string + in: formData + description: Building name + - name: serial_no + in: formData + type: string + description: The serial number of the asset. + - name: asset_no + in: formData + type: string + description: The asset number of the asset. + - $ref: '#/parameters/customer_form' + - name: storage_room_id + in: formData + type: string + description: ID of Storage Room + - $ref: '#/parameters/location' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/building_post' + - name: vendor + in: formData + type: string + description: Name of existing vendor + - $ref: '#/parameters/imgfile_id' + - $ref: '#/parameters/imgfile' + - $ref: '#/parameters/back_image_id' + - $ref: '#/parameters/back_image' + - name: rack + in: formData + type: string + description: Name of existing rack to add asset to. + - name: rack_id + in: formData + type: integer + description: ID of existing rack to add asset to. + - $ref: '#/parameters/start_at' + - name: size + type: integer + in: formData + description: Required if adding asset to rack. in U. + - name: orientation + type: string + in: formData + description: Back if back facing. Otherwise ignored + - $ref: '#/parameters/where' + - $ref: '#/parameters/x_pos' + - $ref: '#/parameters/depth' + - name: device_id + type: integer + description: ID of the related device + in: formData + - name: tags + type: string + description: add tags (comma separated) + in: formData + - name: tags_remove + type: string + description: remove tags (comma separated) + in: formData + - $ref: '#/parameters/patch_panel_model_id' + - $ref: '#/parameters/patch_panel_model' + - $ref: '#/parameters/numbering_start_from' + - $ref: '#/parameters/patch_panel_module_model_id' + - $ref: '#/parameters/patch_panel_module_model' + - $ref: '#/parameters/module_host_id' + - $ref: '#/parameters/module_host' + - $ref: '#/parameters/slot_no' + - $ref: '#/parameters/width_ratio_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + type: array + items: + example: + - asset added/edited. + - 54 + - test_api + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAssets + description: Modify assets. Need either Asset ID or Asset + summary: Modify + tags: + - Assets + parameters: + - name: name + type: string + in: formData + description: Name of Asset. + - name: asset_id + description: Asset ID + type: integer + in: formData + - name: asset + description: Name of asset. Required if asset_id not provided. + in: formData + type: string + - name: type + in: formData + enum: + - 'AC' + - 'Block Tile' + - 'Breaker Panel' + - 'Cable Modem' + - 'DMARC' + - 'Door' + - 'Fabric Extender' + - 'Fax Machine' + - 'Filler Panel' + - 'Monitor' + - 'Patch Panel' + - 'Patch Panel Module' + - 'Projector' + - 'Scanner' + - 'Sensor' + - 'Shredder' + - 'Software' + - 'Speaker Phone' + - 'TAP Module' + - 'Window' + description: The type of the asset. - required. + required: true + - name: service_level + in: formData + description: >- + In Service, Spare, Not in Service are pre-defined - or choose your + own. + type: string + - name: building + type: string + in: formData + description: Building name + - name: serial_no + in: formData + type: string + description: The serial number of the asset. + - name: asset_no + in: formData + type: string + description: The asset number of the asset. + - $ref: '#/parameters/customer_form' + - name: back_connection_type + in: formData + type: string + description: Type of back connection for asset. Options are panel, switch, circuit, cable. + - name: tap_module_model_id + in: formData + type: integer + description: ID of Tap Module Model + - name: tap_module_model + in: formData + type: string + description: Tap Module Model + - name: tap_module_host_id + in: formData + type: integer + description: ID of Tap Module Host + - name: tap_module_host + in: formData + type: string + description: Tap Module Host for asset. + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + - name: storage_room + in: formData + type: string + description: Name of storage room to apply asset to. + - $ref: '#/parameters/in_service_status' + - $ref: '#/parameters/device_ids' + - $ref: '#/parameters/device_name' + - name: reversed + in: formData + type: string + enum: + - 'yes' + - 'no' + description: Is the asset reversed on the rack? + - name: storage_room_id + in: formData + type: string + description: ID of Storage Room + - $ref: '#/parameters/location' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/building_post' + - name: vendor + in: formData + type: string + description: Name of existing vendor + - $ref: '#/parameters/imgfile_id' + - $ref: '#/parameters/imgfile' + - $ref: '#/parameters/back_image_id' + - $ref: '#/parameters/back_image' + - name: rack + in: formData + type: string + description: Name of existing rack to add asset to. + - name: rack_id + in: formData + type: integer + description: ID of existing rack to add asset to. + - $ref: '#/parameters/start_at' + - name: size + type: integer + in: formData + description: Required if adding asset to rack. in U. + - name: orientation + type: string + in: formData + description: Back if back facing. Otherwise ignored + - $ref: '#/parameters/where' + - $ref: '#/parameters/x_pos' + - $ref: '#/parameters/depth' + - name: device_id + type: integer + description: ID of the related device + in: formData + - name: tags + type: string + description: add tags (comma separated) + in: formData + - name: tags_remove + type: string + description: remove tags (comma separated) + in: formData + - $ref: '#/parameters/patch_panel_model_id' + - $ref: '#/parameters/patch_panel_model' + - $ref: '#/parameters/numbering_start_from' + - $ref: '#/parameters/patch_panel_module_model_id' + - $ref: '#/parameters/patch_panel_module_model' + - $ref: '#/parameters/module_host_id' + - $ref: '#/parameters/module_host' + - $ref: '#/parameters/slot_no' + - $ref: '#/parameters/width_ratio_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + type: array + items: + example: + - asset added/edited. + - 54 + - test_api + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/assets/{id}/': + get: + operationId: getAssets_id + description: Retrieve detailed information about a specific asset + summary: Get specific + tags: + - Assets + parameters: + - name: id + type: integer + in: path + required: true + description: The ID of the asset to retrieve + - $ref: '#/parameters/include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Assets' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAssets + description: Modify assets. + summary: Modify + tags: + - Assets + parameters: + - name: id + type: integer + in: path + required: true + description: The ID of the asset + - name: name + type: string + in: formData + description: Name of Asset. + - name: type + in: formData + enum: + - 'AC' + - 'Block Tile' + - 'Breaker Panel' + - 'Cable Modem' + - 'DMARC' + - 'Door' + - 'Fabric Extender' + - 'Fax Machine' + - 'Filler Panel' + - 'Monitor' + - 'Patch Panel' + - 'Patch Panel Module' + - 'Projector' + - 'Scanner' + - 'Sensor' + - 'Shredder' + - 'Software' + - 'Speaker Phone' + - 'TAP Module' + - 'Window' + description: The type of the asset. - required. + - name: service_level + in: formData + description: >- + In Service, Spare, Not in Service are pre-defined - or choose your + own. + type: string + - name: building + type: string + in: formData + description: Building name + - name: serial_no + in: formData + type: string + description: The serial number of the asset. + - name: asset_no + in: formData + type: string + description: The asset number of the asset. + - $ref: '#/parameters/customer_form' + - name: back_connection_type + in: formData + type: string + description: Type of back connection for asset. Options are panel, switch, circuit, cable. + - name: tap_module_model_id + in: formData + type: integer + description: ID of Tap Module Model + - name: tap_module_model + in: formData + type: string + description: Tap Module Model + - name: tap_module_host_id + in: formData + type: integer + description: ID of Tap Module Host + - name: tap_module_host + in: formData + type: string + description: Tap Module Host for asset. + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + - name: storage_room + in: formData + type: string + description: Name of storage room to apply asset to. + - $ref: '#/parameters/in_service_status' + - $ref: '#/parameters/device_ids' + - $ref: '#/parameters/device_name' + - name: reversed + in: formData + type: string + enum: + - 'yes' + - 'no' + description: Is the asset reversed on the rack? + - $ref: '#/parameters/location' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/building_post' + - name: vendor + in: formData + type: string + description: Name of existing vendor + - $ref: '#/parameters/imgfile_id' + - $ref: '#/parameters/imgfile' + - $ref: '#/parameters/back_image_id' + - $ref: '#/parameters/back_image' + - name: rack + in: formData + type: string + description: Name of existing rack to add asset to. + - name: rack_id + in: formData + type: integer + description: ID of existing rack to add asset to. + - $ref: '#/parameters/start_at' + - name: size + type: integer + in: formData + description: Required if adding asset to rack. in U. + - name: orientation + type: string + in: formData + description: Back if back facing. Otherwise ignored + - $ref: '#/parameters/where' + - $ref: '#/parameters/x_pos' + - $ref: '#/parameters/depth' + - name: device_id + type: integer + description: ID of the related device + in: formData + - name: tags + type: string + description: add tags (comma separated) + in: formData + - name: tags_remove + type: string + description: remove tags (comma separated) + in: formData + - $ref: '#/parameters/category' + - $ref: '#/parameters/patch_panel_model_id' + - $ref: '#/parameters/patch_panel_model' + - $ref: '#/parameters/numbering_start_from' + - $ref: '#/parameters/patch_panel_module_model_id' + - $ref: '#/parameters/patch_panel_module_model' + - $ref: '#/parameters/module_host_id' + - $ref: '#/parameters/module_host' + - $ref: '#/parameters/slot_no' + - $ref: '#/parameters/width_ratio_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + type: array + items: + example: + - asset added/edited. + - 54 + - test_api + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteAssets + description: >- + This API is used to delete the asset with the asset id supplied as the + required argument. + summary: Delete + tags: + - Assets + parameters: + - name: id + type: integer + in: path + required: true + description: asset id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/asset/: + put: + operationId: putCustom_fieldsAsset + description: >- + Create or update custom fields for assets. "ID" or "name" of asset is + needed even when value is not being changed + summary: Custom fields + tags: + - Assets + parameters: + - name: name + type: string + in: formData + description: Name of asset + - name: id + type: string + in: formData + description: ID of asset + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 29 + - 34 - 12 (in 3nd Floor @ main office) + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/devices/: + get: + operationId: getDevices + description: Retrieve basic information about all devices + summary: Get all (brief) v1 + tags: + - Devices + parameters: + - name: type + type: string + in: query + description: >- + filter by device type (physical, virtual, blade, other, cluster, or + unknown) + - name: device_id + type: integer + in: query + description: Filter by Device ID + - $ref: '#/parameters/device_sub_type' + - $ref: '#/parameters/device_sub_type_id' + - $ref: '#/parameters/service_level' + - $ref: '#/parameters/in_service' + - $ref: '#/parameters/customer' + - name: customer_id + type: integer + in: query + description: Filter by Customer ID + - $ref: '#/parameters/tags' + - name: blade_host_id + type: integer + in: query + description: Filter by Blade Host ID + - $ref: '#/parameters/blade_host_name' + - name: virtual_host_id + type: integer + in: query + description: Filter by Virtual Host ID + - $ref: '#/parameters/virtual_host_name' + - $ref: '#/parameters/building_id' + - $ref: '#/parameters/building' + - $ref: '#/parameters/room_id' + - $ref: '#/parameters/room' + - $ref: '#/parameters/rack_id' + - $ref: '#/parameters/rack' + - $ref: '#/parameters/serial_no' + - $ref: '#/parameters/serial_no_contains' + - $ref: '#/parameters/object_category_get' + - $ref: '#/parameters/object_category_id' + - $ref: '#/parameters/asset_no' + - $ref: '#/parameters/name' + - $ref: '#/parameters/tags_and' + - $ref: '#/parameters/uuid' + - $ref: '#/parameters/is_it_switch' + - $ref: '#/parameters/is_it_virtual_host' + - $ref: '#/parameters/is_it_blade_host' + - $ref: '#/parameters/hardware' + - $ref: '#/parameters/hardware_ids' + - $ref: '#/parameters/os' + - name: os_category + type: string + in: query + description: Filter by OS Category + - name: service_displayname + type: string + in: query + description: Filter by display name of service that the device uses. + - name: storage_room_id + type: integer + in: query + description: Filter by storage room ID + - name: storage_room + type: string + in: query + description: Filter by name of storage room device is in. + - $ref: '#/parameters/virtual_subtype' + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + Devices: + $ref: '#/definitions/devices' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/devices/: + get: + operationId: getDevices_2 + description: Retrieve information about all devices + summary: Get all v2 + tags: + - Devices + parameters: + - $ref: '#/parameters/device_include_cols' + - name: device_id + type: string + in: query + description: D42 device ID + - $ref: '#/parameters/name' + - $ref: '#/parameters/serial_no' + - $ref: '#/parameters/serial_no_contains' + - $ref: '#/parameters/asset_no' + - name: asset_no_contains + type: string + in: query + description: Filter by partial asset number match. + - $ref: '#/parameters/uuid' + - $ref: '#/parameters/in_service' + - $ref: '#/parameters/service_level' + - name: service_level_id + type: string + in: query + description: D42 ID of service level name. + - name: type + type: string + in: query + description: >- + filter by device type (unknown, physical, virtual, or cluster) + - name: type_id + type: string + in: query + description: 'D42 type ID
                                              1: unknown, 2: physical, 3: virtual
                                              4: cluster' + - name: last_edited_lt + type: string + in: query + description: Last edited less than date YYYY-MM-DD format + - name: last_edited_gt + type: string + in: query + description: Last edited greater than date YYYY-MM-DD format + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + - name: objectcategory_id + type: string + in: query + description: D42 ID of object category name. + - name: objectcategory + type: string + in: query + description: Object category name. + - name: tags + type: string + in: query + description: Filter by tags, comma-separated for multiple tags. (This is an OR filter, gets all the devices for all comma separated tags.) + - $ref: '#/parameters/tags_and' + - name: cluster_device_id + type: string + in: query + description: D42 ID of cluster device. + - name: customer_id + type: string + in: query + description: D42 ID of customer or department name. + - $ref: '#/parameters/customer' + - name: hardware_id + type: string + in: query + description: D42 ID of hardware. + - name: hardware + type: string + in: query + description: filter by hardware name + - name: device_host_chassis_id + type: string + in: query + description: D42 ID of host chassis. + - name: device_virtual_host_id + type: string + in: query + description: D42 ID of device virtual host. + - $ref: '#/parameters/rack_id' + - name: virtualsubtype + type: string + in: query + description: Name of virtual subtype. + - name: virtualsubtype_id + type: string + in: query + description: ID of virtual subtype. + - name: os_id + type: string + in: query + description: OS ID. + - name: os_name + type: string + in: query + description: OS name. + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - name: virtual_host + type: string + in: query + description: Filter by whether virtual host or not. Use yes or no. + - name: blade_chassis + type: string + in: query + description: Filter by whether a blade chassis or not. Use yes or no. + - name: physicalsubtype + type: string + in: query + description: Physical subtype name. + - name: physicalsubtype_id + type: string + in: query + description: D42 ID of physical subtype name. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + Devices: + $ref: '#/definitions/devicesAllv2' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDevice_2 + summary: Create/Update + description: >- + This API is used to create a new device with the name supplied as the + required argument or to update an existing device by an existing name or device ID, serial + number or uuid. You can also update a device name using the device ID + tags: + - Devices + parameters: + - name: device_id + type: integer + in: formData + description: >- + Update a device by its D42 device ID. + - name: serial_no + type: string + description: |- + The serial number of the device. + + Update Behavior: + If you pass a new serial number for an existing device, its serial number will be updated to the new value. + - To clear the serial number, pass `serial_no=d42null`. + - Serial numbers with fewer than 3 characters, or certain generic values like `123456789` or `not specified`, are ignored and not saved. + in: formData + - name: name + type: string + description: >- + The device name. If device with the name already exists, the existing device is updated. + If an existing device based on device_id, serial_no or uuid is found, the name will be updated. + in: formData + - name: asset_no + type: string + in: formData + description: The asset number of the device. + - name: uuid + type: string + in: formData + description: >- + The uuid of the device. If a device with a matching uuid is found, + that device is updated. + - name: virtual_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates the device is a virtual host + - name: in_service + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + ‘yes’ indicates if device is in service, ‘no’ indicates not in + service + - name: type_id + type: string + in: formData + enum: + - '1' + - '2' + - '3' + - '4' + description: Device type ID
                                              1. unknown 2. physical
                                              3. virtual 4. cluster + - name: type + type: string + in: formData + enum: + - 'unknown' + - 'physical' + - 'virtual' + - 'cluster' + description: Device type by name. + - name: physicalsubtype_id + type: string + in: formData + description: >- + Used to set the device subtype - the device must be physical or unknown.
                                              + 1. Generic 2. Rackable 3. Blade 4. PDU 5. Access Point 6. CRAC 7. UPS 8. TAP 9. Branch Circuit Power Meter 10. Power Unit 11. WorkStation 12. ThinClient 13. Network Printer 14. Laptop 15. Environment Monitor
                                              OR D42 ID of user-generated subtype + - name: physicalsubtype + type: string + in: formData + description: >- + Either a system-generated subtype name or a user-generated subtype name. + - name: network_device + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a network switch. + - name: blade_chassis + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a blade host. + - name: manufacturer + type: string + in: formData + description: The hardware manufacturer for the device. This is used to match on the correct hardware. + - name: hardware_id + type: string + in: formData + description: >- + Hardware model id - for physical devices. Use to set device hardware model. Only for devices without hardware. + - name: hardware + type: string + in: formData + description: >- + Hardware model name. Use instead of hardware_id. For physical devices. Use to set device hardware model. + If hardware model with provided name is not found and user provided manufacturer, new hardware model will + be created and assigned to device. Only for devices without hardware. + - name: new_hardware + type: string + in: formData + description: >- + If you want to change the hardware model for a device. This will not create + new hardware models - you can only change to an existing model. + - name: virtual_host_device_id + type: string + in: formData + description: >- + Host ID of virtual device. Use d42null to clear. + - name: virtual_host_device + type: string + in: formData + description: >- + Host name of virtual device. Use d42null to clear. + - name: host_chassis_device_id + type: string + in: formData + description: >- + Host chassis device ID. Use d42null to clear. + - name: host_chassis_device + type: string + in: formData + description: >- + Host chassis device name - for blades. Use d42null to clear. + - name: bladeno + type: integer + in: formData + description: 'Slot number for blade device.' + - name: chassisslot_id + type: string + in: formData + description: Chassis slot ID. If chassis slot exists, the slot number will be updated to it's slot number. + - name: service_level_id + type: string + in: formData + description: >- + Service level ID for the device + - name: service_level + type: string + in: formData + description: >- + The service level name for the device. Use instead of service_level_id. + - name: customer_id + type: string + in: formData + description: Legacy field. Use customers parameter instead of this. ID of the customer. Customer record must already exist. Using this will override all existing customer associations. Use d42null to reset value. + - name: customer + type: string + in: formData + description: Legacy field. Use customers parameter instead of this. Name of the customer. Customer record must already exist. Using this will override all existing customer associations. Use d42null to reset value. + - name: customers + type: string + in: formData + description: CSV list of customer names. Customer records must already exist. Use this instead of customer/customer_id. Customers will be associated with the device. + - name: customers_remove + type: string + in: formData + description: CSV list of customer names. Customers will be disassociated from the device. Use * to clear all customer associations. + - name: additional_location + type: string + in: formData + description: Additional location info. + - name: building_id + type: string + in: formData + description: >- + Building ID. This field should only be used if the device is NOT in a server room, storage room, or rack. + Selecting a building will cause any room and rack associations to be deleted. + - name: building + type: string + in: formData + description: >- + Building Name. This field should only be used if the device is NOT in a server room, storage room, or rack. + Selecting a building will cause any room and rack associations to be deleted. + - name: storage_room + type: string + in: formData + description: Name of storage room. Device will be automatically removed from rack or server room + - name: storage_room_id + type: string + in: formData + description: ID of storage room. Device will be automatically removed from rack or server room + - name: notes + type: string + in: formData + description: >- + Device notes. + - name: objectcategory_id + type: string + in: formData + description: >- + Object category ID. If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: objectcategory + type: string + in: formData + description: >- + Object category name. Use instead of objectcategory_id. If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: dont_inherit + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + If 'yes', multi-tenancy permissions will not be inherited from the host so you can assign virtual devices + and blades devices to different object categories. + - $ref: '#/parameters/virtualsubtype_id' + - name: virtualsubtype + type: string + in: formData + enum: + - Internal VM + - Amazon EC2 Instance + - Azure Cloud Service + - Azure SQL Server + - Azure Storage + - Other + - Outscale Instance + - Linode Instance + - DigitalOcean Instance + - Azure Virtual Machine + - VMWare + - Citrix/Xen + - KVM + - Hyper-V + - Docker Container + - LXC Container + - Rackspace VM + - Softlayer VM + - QEMU + - Joyent Instance + - VirtualBox + - Oracle VM + - OpenStack + - Xen + - LPAR + - GCE + - Amazon Service + - Context + - Alibaba Cloud Instance + - Oracle Cloud Instance + - Kubernetes Container + - AIX VIOS + - Nutanix AHV + description: Virtual subtype name. Use instead of virtual_subtype_id. Only for virtual devices. + - name: datacenter + type: string + in: formData + description: >- + Data center name. + - name: ram_size + type: string + in: formData + description: >- + RAM. Just numbers. Use d42null to clear. + - name: ram_size_type_id + type: string + in: formData + description: >- + RAM size type ID. Use d42null to clear.
                                              1 MB | 2 GB | 3 TB + - name: ram_size_type + type: string + in: formData + description: >- + RAM size type name. Use instead of ram_type_size. Use d42null to clear.
                                              MB - GB - TB + - name: total_cpus + type: string + in: formData + description: >- + Total number of CPUs. Use d42null to clear. + - name: core_per_cpu + type: string + in: formData + description: >- + Number of Cores/CPU. Use d42null to clear. + - name: threads_per_core + type: string + in: formData + description: >- + Number of Threads/Core. Use d42null to clear. + - name: cpu_speed + type: string + in: formData + description: >- + CPU speed. Use d42null to clear. + - name: hz_id + type: string + in: formData + description: >- + Type ID of CPU Speed. Use d42null to clear.
                                              1 MHz | 2 GHz + - name: hz + type: string + in: formData + description: >- + Type name of CPU Speed. Use d42null to clear.
                                              MHz - GHz + - name: hard_disk_count + type: string + in: formData + description: >- + Total number of HDD. Use d42null to clear. + - name: hard_disk_size + type: string + in: formData + description: >- + HDD size. Use d42null to clear. + - name: hard_disk_size_type_id + type: string + in: formData + description: >- + Type ID of hard disk size. Use d42null to clear.
                                              GB - TB - PB + - name: hard_disk_size_type + type: string + in: formData + description: >- + Type name of hard disk size. Use instead of hard_disk_size_type_id. Use d42null to clear.
                                              GB - TB - PB + - name: hw_sw_raid_id + type: string + in: formData + description: >- + Raid ID. Use d42null to clear.
                                              1. Hardware - 2. Software + - name: hw_sw_raid + type: string + in: formData + description: >- + Raid name. Use instead of hw_sw_raid_id. Use d42null to clear.
                                              Hardware - Software + - name: raid_type_id + type: string + in: formData + description: >- + Raid type ID. Use d42null to clear.
                                              1. Raid 0 | 2. Raid 1 | 3. Raid 3 | 4. Raid 5 | + 5. Raid 6 | 6. Raid 10 | 7. Raid 50 | 8. Raidz | 9. Raidz2 + - name: raid_type + type: string + in: formData + description: >- + Raid type name. Use instead of raid_type_id Use d42null to clear.
                                              Raid 0 | Raid 1 | Raid 3 | Raid 5 | + Raid 6 | Raid 10 | Raid 50 | Raidz | Raidz2 + - name: devices_in_clusters_ids + type: string + in: formData + description: >- + Comma-separated device IDs for devices in cluster. Only valid for cluster devices. + - name: nonauthoritativealiases + type: string + in: formData + description: >- + Comma-separated non-authoritative aliases for the device. Must not exist; ignored otherwise. + - name: nonauthoritativealiases_remove + type: string + in: formData + description: >- + Comma-separated non-authoritative aliases to remove. + - name: aliases + type: string + in: formData + description: >- + Comma separated aliases for the device. Must not exist; ignored otherwise. + - name: aliases_remove + type: string + in: formData + description: >- + Comma-separated aliases to remove. + - name: tags + type: string + in: formData + description: >- + Comma-separated tags. + - name: tags_remove + type: string + in: formData + description: >- + Comma-separated tags to remove. + - name: bios_version + type: string + in: formData + description: Basic Input/Output system version + - name: bios_release_date + type: string + in: formData + description: Basic Input/Output system release date + - name: bios_revision + type: string + in: formData + - name: bios_fw_revision + type: string + in: formData + - name: bios_vendor + type: string + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/deviceName' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/devices/{id}/: + get: + operationId: getDevices_id + description: Retrieve detailed information about a specific device + summary: Get specific device + tags: + - Devices + parameters: + - name: id + type: integer + in: path + required: true + description: The ID of the device to retrieve + - $ref: '#/parameters/device_include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Assets' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteDevicesIdv2 + summary: Delete + description: >- + This API is used to delete a device with the device id supplied as the + required argument + tags: + - Devices + parameters: + - name: id + type: integer + in: path + required: true + description: Device id + - name: delete_vms + type: string + in: formData + enum: + - 'yes' + - 'no' + description: If deleting a host, also delete VMs on the host - yes/no. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + admin: + example: + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putDevicesIdv2 + summary: Update + description: >- + This API is used to update a device with the device_id supplied with the provided parameters. + tags: + - Devices + parameters: + - name: id + type: integer + in: path + required: true + description: Device id + - name: name + type: string + description: >- + The device name. + in: formData + - name: asset_no + type: string + in: formData + description: The asset number of the device. + - name: uuid + type: string + in: formData + description: >- + The uuid of the device. If a device with a matching uuid is found, + that device is updated. + - name: virtual_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates the device is a virtual host + - name: in_service + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + ‘yes’ indicates if device is in service, ‘no’ indicates not in + service + - name: type_id + type: string + in: formData + enum: + - '1' + - '2' + - '3' + - '4' + description: Device type ID
                                              1. unknown 2. physical
                                              3. virtual 4. cluster + - name: type + type: string + in: formData + enum: + - 'unknown' + - 'physical' + - 'virtual' + - 'cluster' + description: Device type by name. + - name: physicalsubtype_id + type: string + in: formData + description: >- + Used to set the device subtype - the device must be physical or unknown.
                                              + 1. Generic 2. Rackable 3. Blade 4. PDU 5. Access Point 6. CRAC 7. UPS 8. TAP 9. Branch Circuit Power Meter 10. Power Unit 11. WorkStation 12. ThinClient 13. Network Printer 14. Laptop 15. Environment Monitor
                                              OR D42 ID of user-generated subtype + - name: physicalsubtype + type: string + in: formData + description: >- + Either a system-generated subtype name or a user-generated subtype name. + - name: network_device + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a network switch. + - name: blade_chassis + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a blade host. + - name: manufacturer + type: string + in: formData + description: The hardware manufacturer for the device. This is used to match on the correct hardware. + - name: hardware_id + type: string + in: formData + description: >- + Hardware model id - for physical devices. Use to set device hardware model. Only for devices without hardware. + - name: hardware + type: string + in: formData + description: >- + Hardware model name. Use instead of hardware_id. For physical devices. Use to set device hardware model. + If hardware model with provided name is not found and user provided manufacturer, new hardware model will + be created and assigned to device. Only for devices without hardware. + - name: new_hardware + type: string + in: formData + description: >- + If you want to change the hardware model for a device. This will not create + new hardware models - you can only change to an existing model. + - name: virtual_host_device_id + type: string + in: formData + description: >- + Host ID of virtual device. Use d42null to clear. + - name: virtual_host_device + type: string + in: formData + description: >- + Host name of virtual device. Use d42null to clear. + - name: host_chassis_device_id + type: string + in: formData + description: >- + Host chassis device ID. Use d42null to clear. + - name: host_chassis_device + type: string + in: formData + description: >- + Host chassis device name - for blades. Use d42null to clear. + - name: bladeno + type: integer + in: formData + description: 'Slot number for blade device.' + - name: chassisslot_id + type: string + in: formData + description: Chassis slot ID. If chassis slot exists, the slot number will be updated to it's slot number. + - name: service_level_id + type: string + in: formData + description: >- + Service level ID for the device + - name: service_level + type: string + in: formData + description: >- + The service level name for the device. Use instead of service_level_id. + - name: customer_id + type: string + in: formData + description: Legacy field. Use customers parameter instead of this. ID of the customer. Customer record must already exist. Using this will override all existing customer associations. Use d42null to reset value. + - name: customer + type: string + in: formData + description: Legacy field. Use customers parameter instead of this. Name of the customer. Customer record must already exist. Using this will override all existing customer associations. Use d42null to reset value. + - name: customers + type: string + in: formData + description: CSV list of customer names. Customer records must already exist. Use this instead of customer/customer_id. Customers will be associated with the device. + - name: customers_remove + type: string + in: formData + description: CSV list of customer names. Customers will be disassociated from the device. Use * to clear all customer associations. + - name: additional_location + type: string + in: formData + description: Additional location info. Use 'D42_NULL' to clear Additional Location Info field. + - name: building_id + type: string + in: formData + description: >- + Building ID. This field should only be used if the device is NOT in a server room, storage room, or rack. + Selecting a building will cause any room and rack associations to be deleted. + - name: storage_room + type: string + in: formData + description: Name of storage room. Device will be automatically removed from rack or server room + - name: storage_room_id + type: string + in: formData + description: ID of storage room. Device will be automatically removed from rack or server room + - name: notes + type: string + in: formData + description: >- + Device notes. + - name: objectcategory_id + type: string + in: formData + description: >- + Object category ID. If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: objectcategory + type: string + in: formData + description: >- + Object category name. Use instead of objectcategory_id. If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: dont_inherit + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + If 'yes', multi-tenancy permissions will not be inherited from the host so you can assign virtual devices + and blades devices to different object categories. + - $ref: '#/parameters/virtualsubtype_id' + - name: virtualsubtype + type: string + in: formData + enum: + - Internal VM + - Amazon EC2 Instance + - Azure Cloud Service + - Azure SQL Server + - Azure Storage + - Other + - Outscale Instance + - Linode Instance + - DigitalOcean Instance + - Azure Virtual Machine + - VMWare + - Citrix/Xen + - KVM + - Hyper-V + - Docker Container + - LXC Container + - Rackspace VM + - Softlayer VM + - QEMU + - Joyent Instance + - VirtualBox + - Oracle VM + - OpenStack + - Xen + - LPAR + - GCE + - Amazon Service + - Context + - Alibaba Cloud Instance + - Oracle Cloud Instance + - Kubernetes Container + - AIX VIOS + - Nutanix AHV + description: Virtual subtype name. Use instead of virtual_subtype_id. Only for virtual devices. + - name: datacenter + type: string + in: formData + description: >- + Data center name. + - name: ram_size + type: string + in: formData + description: >- + RAM. Just numbers. Use d42null to clear. + - name: ram_size_type_id + type: string + in: formData + description: >- + RAM size type ID. Use d42null to clear.
                                              1 MB | 2 GB | 3 TB + - name: ram_size_type + type: string + in: formData + description: >- + RAM size type name. Use instead of ram_type_size. Use d42null to clear.
                                              MB - GB - TB + - name: total_cpus + type: string + in: formData + description: >- + Total number of CPUs. Use d42null to clear. + - name: core_per_cpu + type: string + in: formData + description: >- + Number of Cores/CPU. Use d42null to clear. + - name: threads_per_core + type: string + in: formData + description: >- + Number of Threads/Core. Use d42null to clear. + - name: cpu_speed + type: string + in: formData + description: >- + CPU speed. Use d42null to clear. + - name: hz_id + type: string + in: formData + description: >- + Type ID of CPU Speed. Use d42null to clear.
                                              1 MHz | 2 GHz + - name: hz + type: string + in: formData + description: >- + Type name of CPU Speed. Use d42null to clear.
                                              MHz - GHz + - name: hard_disk_count + type: string + in: formData + description: >- + Total number of HDD. Use d42null to clear. + - name: hard_disk_size + type: string + in: formData + description: >- + HDD size. Use d42null to clear. + - name: hard_disk_size_type_id + type: string + in: formData + description: >- + Type ID of hard disk size. Use d42null to clear.
                                              GB - TB - PB + - name: hard_disk_size_type + type: string + in: formData + description: >- + Type name of hard disk size. Use instead of hard_disk_size_type_id. Use d42null to clear.
                                              GB - TB - PB + - name: hw_sw_raid_id + type: string + in: formData + description: >- + Raid ID. Use d42null to clear.
                                              1. Hardware - 2. Software + - name: hw_sw_raid + type: string + in: formData + description: >- + Raid name. Use instead of hw_sw_raid_id. Use d42null to clear.
                                              Hardware - Software + - name: raid_type_id + type: string + in: formData + description: >- + Raid type ID. Use d42null to clear.
                                              1. Raid 0 | 2. Raid 1 | 3. Raid 3 | 4. Raid 5 | + 5. Raid 6 | 6. Raid 10 | 7. Raid 50 | 8. Raidz | 9. Raidz2 + - name: raid_type + type: string + in: formData + description: >- + Raid type name. Use instead of raid_type_id Use d42null to clear.
                                              Raid 0 | Raid 1 | Raid 3 | Raid 5 | + Raid 6 | Raid 10 | Raid 50 | Raidz | Raidz2 + - name: devices_in_clusters_ids + type: string + in: formData + description: >- + Comma-separated device IDs for devices in cluster. Only valid for cluster devices. + - name: nonauthoritativealiases + type: string + in: formData + description: >- + Comma-separated non-authoritative aliases for the device. Must not exist; ignored otherwise. + - name: nonauthoritativealiases_remove + type: string + in: formData + description: >- + Comma-separated non-authoritative aliases to remove. + - name: aliases + type: string + in: formData + description: >- + Comma separated aliases for the device. Must not exist; ignored otherwise. + - name: aliases_remove + type: string + in: formData + description: >- + Comma-separated aliases to remove. + - name: tags + type: string + in: formData + description: >- + Comma-separated tags. + - name: tags_remove + type: string + in: formData + description: >- + Comma-separated tags to remove. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/deviceName' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/devices/{id}/archive/: + post: + operationId: archiveDevicesIdv2 + description: This API archives a device by ID + summary: Archive device by ID + tags: + - Devices + parameters: + - name: id + type: integer + in: path + required: true + description: Device id. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/objectArchive' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/devices/all/: + get: + operationId: getDevicesAll + description: Get all devices with detailed output (added in v6.3.4) + summary: Get all (detailed) v1 + tags: + - Devices + parameters: + - $ref: '#/parameters/include_cols' + - $ref: '#/parameters/limit' + - $ref: '#/parameters/offset' + - $ref: '#/parameters/blankasnull' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/devicesAll' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/id/{device-id}/': + get: + operationId: getDevicesId + summary: Get device by ID + description: Retrieve detailed information about a specific device using device id + tags: + - Devices + parameters: + - name: device-id + type: integer + in: path + required: true + - $ref: '#/parameters/follow' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/devicesAll' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/customer_id/{customer-id}/': + get: + operationId: getDevicesCustomer_id + summary: Get device by customer ID + description: Retrieve all devices associated with a specific customer + tags: + - Devices + parameters: + - name: customer-id + type: integer + in: path + required: true + - $ref: '#/parameters/include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/devicesCustomerId' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/name/{device-name}/': + get: + operationId: getDevicesName + summary: Get device by name + description: Retrieve detailed information about a specific device by device name + tags: + - Devices + parameters: + - name: device-name + type: string + in: path + format: uuid + required: true + - $ref: '#/parameters/include_cols' + - name: follow + type: string + in: query + description: >- + use yes if you want to see virtuals in a virtual host, modules in a + blade chassis and devices in a clusetered device + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/devicesCustomerId' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/serial/{device-serial}/': + get: + operationId: getDevicesSerial + summary: Get device by serial + description: >- + Retrieve detailed information about a specific device by device serial + number + tags: + - Devices + parameters: + - name: device-serial + type: string + in: path + format: uuid + required: true + - $ref: '#/parameters/include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/devicesCustomerId' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/asset/{device-asset}/': + get: + operationId: getDevicesAsset + summary: Get device by asset + description: >- + Retrieve detailed information about a specific device by device asset + number + tags: + - Devices + parameters: + - name: device-asset + type: string + in: path + format: uuid + required: true + - $ref: '#/parameters/include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/devicesCustomerId' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/id/{device-id}/attachments/': + get: + operationId: getAllDevicesAttachments + summary: Get attachments by device ID + description: >- + Retrieve all file attachments for a specific device using device id.
                                              + Returns a zip file of all the attachments associated with the device with the specified ID in URL.
                                              + Note that this implementation of Swagger does not support file download - use another mechanism such as CURL.
                                              +
                                              cURL example:
                                              + curl -X GET \
                                              + URL/api/1.0/devices/id/3/attachments \
                                              + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI=' + tags: + - Devices + parameters: + - name: device-id + type: integer + in: formData + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + file_download: + example: attachments_archive.6646-2020-01-24.zip + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: uploadDevicesAttachments + summary: Upload a device attachment + description: >- + Uploads a file attachment for a specific device using device id and a selected file.
                                              + Note that this implementation of Swagger does not support file upload - use another mechanism such as CURL.
                                              +
                                              cURL example:
                                              + curl -X POST \
                                              + URL/api/1.0/devices/id/3/attachments/17 \
                                              + -H 'Accept-Encoding: gzip, deflate' \
                                              + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI='
                                              + -H 'Content-Type: multipart/form-data; boundary=--------------------------216746989913126372322897' \
                                              + -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
                                              + -F 'name=@/C:/path/to/attachment/Some test pdf.pdf' \
                                              + -F 'file_attachment_details={"some test pdf.pdf":"hello world! I'\''m a pdf description!"}' + tags: + - Devices + parameters: + - name: device-id + type: integer + in: formData + required: true + - name: name + type: string + in: formData + required: True + description: >- + The name of the file attachment you select for upload.
                                              + This filename is also required for the file_attachment_details parameter. + - name: file_attachment_details + type: string + in: formData + required: true + description: >- + The name of the file to upload and a description.
                                              Example: {"TEST_Attachment-3.txt": "test attachment-3"} + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - TEST-Attachment-3.txt + - attachment_id + - 17 + - success + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/id/{device-id}/attachments/{attachment_id}/': + get: + operationId: getaDevicesAttachment + summary: Get a device attachment + description: >- + Retrieves a specific file attachment for a specific device using device id and attachment id.
                                              + Note that this implementation of Swagger does not support file download - use another mechanism such as CURL.
                                              +
                                              cURL example:
                                              + curl -X GET \
                                              + URL/api/1.0/devices/id/3/attachments/17 \
                                              + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI=' + tags: + - Devices + parameters: + - name: device-id + type: integer + in: formData + required: true + - name: attachment_id + type: integer + in: formData + required: true + description: ID of the attachment to get. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + file_download: + example: attachment_1.txt + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/id/{device-id}/attachments/{id}/': + delete: + operationId: deleteDevicesAttachment + summary: Delete device attachment + description: Delete a file attachment for a specific device using device ID and the attachment ID + tags: + - Devices + parameters: + - name: device-id + type: integer + in: formData + required: true + - name: id + type: integer + in: path + required: true + description: ID of the attachment to delete. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + attachment_id: + example: 34 + success: + example: 'true' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/devices/{id}/': + get: + operationId: getDevices_id + description: Retrieve detailed information about a specific device + summary: Get specific device + tags: + - Devices + parameters: + - name: id + type: integer + in: path + required: true + description: The ID of the device to retrieve + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Assets' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteDevicesId + summary: Delete + description: >- + This API is used to delete a device with the device id supplied as the + required argument + tags: + - Devices + parameters: + - name: id + type: integer + in: path + required: true + description: Device id + - name: delete_vms + type: string + in: formData + enum: + - 'yes' + - 'no' + description: If deleting a host, also delete VMs on the host - yes/no. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + admin: + example: + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/: + post: + operationId: postDevice + summary: Create/update + description: >- + This API is used to create a new device with the name supplied as the + required argument or update an existing device that has the name, serial + # or uuid of the required argument. For information purposes, this is + also the API that is used by the Device42 autodiscovery tool. + tags: + - Devices + parameters: + - name: name + type: string + description: >- + Device name. If device with name already exists - the existing + device is updated. If an existing device based on serial # or uuid + are found - name is ignored. In that case existing name is not + changed and you can use new_name if you wish to change the name. + in: formData + - name: new_name + type: string + description: >- + As mentioned above, this can be used to change the name of an + existing device + in: formData + - name: serial_no + type: string + description: >- + the serial # of the device. If a device with matching serial # is + found - that device is updated. Serial # with less than 3 characters + in length are ignored. Also, certain generic serial #s like + 123456789 or ‘not specified’ are ignored. + in: formData + - name: uuid + type: string + in: formData + description: >- + The uuid of the device. If a device with a matching uuid is found - + that device is updated. + - name: asset_no + type: string + in: formData + description: 'the asset # of the device.' + - name: manufacturer + type: string + in: formData + description: the hardware manufacturer for the device. + - name: hardware + type: string + in: formData + description: >- + the name of the hardware model for the device. Use in conjunction + with the manufacturer argument. However, an update will only occur + if no hardware model is previously assigned to the device. + - name: new_hardware + type: string + in: formData + description: >- + If you want to change the hardware model for a device. If the device + is rack mounted, it will unmount the device before changing hardware + model and attempt to mount it back to same rack location (Changed in + v6.3.2) + - name: is_it_switch + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a network switch + - name: is_it_virtual_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a virtual host + - name: is_it_blade_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a blade host + - name: in_service + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + ‘yes’ indicates if device is in service, ‘no’ indicates not in + service + - name: type + type: string + in: formData + enum: + - unknown + - physical + - virtual + - blade + - cluster + - other + description: >- + is the type for device. Valid values are ‘unknown’, ‘physical’, ‘virtual’, + ‘blade’, ‘cluster’, or ‘other’. + - name: service_level + type: string + in: formData + description: >- + the service level name for the device. The service level must be + pre-defined in the device42 appliance before it can be referenced in + an api call. + - name: virtual_host + type: string + in: formData + description: >- + Is the name for the host of the virtual machine. Two conditions must + be met for this value to successfully update: 1. The device must be + a virtual machine. 2. The virtual host must already exist in the + device42 application and must be already marked as a virtual host. + - name: blade_host + type: string + in: formData + description: >- + the name of the host for the blade machine. Two conditions must be + met for this value to successfully update: 1. The device must be a + blade type. 2. The blade host must already exist and must already be + marked as a blade host. + - name: slot_no + type: integer + in: formData + description: 'slot # for blade device.' + - name: storage_room_id + type: integer + in: formData + description: ID of the room to assign device to storage room. Added in v5.5.0 + - name: storage_room + type: string + in: formData + description: >- + name of the room to assign device to, only used if the room name is + unique. Added in v5.5.0 + - name: os + type: string + in: formData + description: >- + the name of the operating system (os needs to be provided if updating + osver or osverno, case insensitive, gets capitalized upon update/creation) + - name: osver + in: formData + type: string + description: >- + the version of the operating system (os needs to be provided if updating + osver or osverno, case insensitive, gets capitalized upon update/creation). + Use d42null to clear field. + - name: osarch + type: string + in: formData + description: The architecture of the operating system (32 or 64) + - name: osverno + type: integer + in: formData + description: >- + the version # or build # of the operating system (os needs to be provided if updating + osver or osverno, case insensitive, gets capitalized upon update/creation) + - name: memory + type: string + in: formData + description: the total memory(RAM) in MB. Just numbers. + - name: cpucount + type: integer + in: formData + description: 'total # of CPUs. (If updating, cpupower and cpucore required)' + - name: cpupower + type: string + in: formData + description: >- + CPU speed in MHz, just numbers. (If updating, cpucount and cpucore + required) + - name: cpucore + type: string + in: formData + description: >- + number of cores/CPU. Integer. (If updating, cpupower and cpucount + required) + - name: hddcount + type: integer + in: formData + description: >- + total # of HDD (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddsize + type: string + in: formData + description: >- + HDD Size in GB (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid + type: string + in: formData + enum: + - none + - software + - hardware + description: >- + Raid. Possible values: software or hardware. none to clear. (none + added in v9.1.0) (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid_type + type: string + in: formData + enum: + - none + - raid 0 + - raid 1 + - raid 3 + - raid 5 + - raid 6 + - raid 10 + - raid 50 + - raidz + - raidz2 + description: >- + Raid Type. (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: macaddress + type: string + in: formData + description: >- + the mac address value. Use multiple POST/PUT to add multiple mac + addresses. + - name: devices_in_cluster + type: string + in: formData + description: >- + comma separated device names for devices in cluster. Only valid for + device type cluster. + - name: appcomps + type: string + in: formData + description: comma separated application component names on this device. + - name: customer + type: string + in: formData + description: Name of the Customer. Customer record must already exist. Using this will override all existing customer associations. + - name: customer_id + type: string + in: formData + description: ID of the Customer record. Customer record must already exist. Using this will override all existing customer associations. + - name: contract_id + type: integer + in: formData + description: >- + ID for the contract. Available via GET /api/api/1.0/contracts/ – + DEPRECATED in v550. + - name: contract + type: string + in: formData + description: >- + Name of the contract. Used only if contract name is unique. – + DEPRECATED in v550. + - name: aliases + type: string + in: formData + description: >- + optional. Comma separated aliases for the device. Must not exist, + ignored otherwise. + - name: subtype + type: string + in: formData + description: Only for device type other. Must exist internally first. + - name: blade_host_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: clear blade host for device + - name: virtual_subtype + type: string + in: formData + default: internal VM + enum: + - Internal VM + - Amazon EC2 Instance + - Azure Cloud Service + - Azure SQL Server + - Azure Storage + - Other + - Outscale Instance + - Linode Instance + - DigitalOcean Instance + - Azure Virtual Machine + - VMWare + - Citrix/Xen + - KVM + - Hyper-V + - Docker Container + - LXC Container + - Rackspace VM + - Softlayer VM + - QEMU + - Joyent Instance + - VirtualBox + - Oracle VM + - OpenStack + - Xen + - LPAR + - GCE + - Amazon Service + - Context + - Alibaba Cloud Instance + - Oracle Cloud Instance + - Kubernetes Container + - AIX VIOS + description: Only for device type virtual. Default is internal VM. + - name: notes + type: string + in: formData + - name: tags + type: string + in: formData + description: comma separated tags (Added in v5.9.2) + - name: virtual_host_clear + type: string + in: formData + description: yes to clear virtual host for a VM (added in v9.1.0) + - name: tags_remove + type: string + in: formData + description: comma separated tags to remove (added in v9.1.0) + - name: aliases_remove + type: string + in: formData + description: comma separated aliases to remove + - name: devices_in_cluster_remove + type: string + in: formData + description: >- + comma separated device names for removing devices in cluster. Only + valid for device type cluster. (added in v9.2.0) + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + - name: bios_version + type: string + in: formData + description: Basic Input/Output system version + - name: bios_release_date + type: string + in: formData + description: Basic Input/Output system release date + - name: bios_revision + type: string + in: formData + - name: bios_firmware_revision + type: string + in: formData + - name: bios_vendor + type: string + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/deviceName' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putDevice + description: >- + Update Device by Name, ID, Serial or Asset. Requires one of the + following parameters: name, serial, asset, device_id + summary: Update + tags: + - Devices + parameters: + - name: name + type: string + in: formData + description: >- + Updates the device found with that name. Otherwise returns “device + not found" + - name: serial + type: string + in: formData + description: >- + If the serial number is provided, it must be a unique serial number + or a “device not found” error will result. If it is a unique serial + number, then the device that has that serial number will be updated. + - name: asset + type: string + in: formData + description: >- + If the asset number is provided, it must be a unique asset number or + a “device not found” error will result. If it is a unique asset + number, then the device that has that asset number will be updated. + - name: device_id + type: string + in: formData + description: update the device by Device42 ID + - name: new_name + type: string + description: >- + As mentioned above, this can be used to change the name of an + existing device + in: formData + - name: serial_no + type: string + description: >- + the serial # of the device. If a device with matching serial # is + found - that device is updated. Serial # with less than 3 characters + in length are ignored. Also, certain generic serial #s like + 123456789 or ‘not specified’ are ignored. + in: formData + - name: uuid + type: string + in: formData + description: >- + the uuid of the device. If a device with matching uuid is found - + that device is updated. + - name: asset_no + type: string + in: formData + description: 'the asset # of the device.' + - name: manufacturer + type: string + in: formData + description: the hardware manufacturer for the device. + - name: hardware + type: string + in: formData + description: >- + the name of the hardware model for the device. Use in conjunction + with the manufacturer argument. However, an update will only occur + if no hardware model is previously assigned to the device. + - name: new_hardware + type: string + in: formData + description: >- + If you want to change the hardware model for a device. If the device + is rack mounted, it will unmount the device before changing hardware + model and attempt to mount it back to same rack location (Changed in + v6.3.2) + - name: is_it_switch + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a network switch + - name: is_it_virtual_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a virtual host + - name: is_it_blade_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a blade host + - name: in_service + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + ‘yes’ indicates if device is in service, ‘no’ indicates not in + service + - name: type + type: string + in: formData + enum: + - physical + - virtual + - blade + - cluster + - other + description: type of the device + - name: service_level + type: string + in: formData + description: >- + the service level name for the device. The service level must be + pre-defined in the device42 appliance before it can be referenced in + an api call. + - name: virtual_host + type: string + in: formData + description: >- + Is the name for the host of the virtual machine. Two conditions must + be met for this value to successfully update: 1. The device must be + a virtual machine. 2. The virtual host must already exist in the + device42 application and must be already marked as a virtual host. + - name: blade_host + type: string + in: formData + description: >- + the name of the host for the blade machine. Two conditions must be + met for this value to successfully update: 1. The device must be a + blade type. 2. The blade host must already exist and must already be + marked as a blade host. + - name: slot_no + type: integer + in: formData + description: 'slot # for blade device.' + - name: storage_room_id + type: integer + in: formData + description: ID of the room to assign device to storage room. Added in v5.5.0 + - name: storage_room + type: string + in: formData + description: >- + name of the room to assign device to, only used if the room name is + unique. Added in v5.5.0 + - name: os + type: string + in: formData + description: >- + the name of the operating system (os needs to be provided if updating + osver or osverno, case insensitive, gets capitalized upon update/creation) + - name: osver + in: formData + type: string + description: >- + the version of the operating system (os needs to be provided if updating + osver or osverno). Use d42null to clear field. + - name: osarch + type: string + in: formData + description: The architecture of the operating system (32 or 64) + - name: osverno + type: integer + in: formData + description: >- + the version # or build # of the operating system (os needs to be provided if + updating osver or osverno) + - name: memory + type: string + in: formData + description: the total memory(RAM) in MB. Just numbers. + - name: cpucount + type: integer + in: formData + description: 'total # of CPUs. (If updating, cpupower and cpucore required)' + - name: cpupower + type: string + in: formData + description: >- + CPU speed in MHz, just numbers. (If updating, cpucount and cpucore + required) + - name: cpucore + type: string + in: formData + description: >- + number of cores/CPU. Integer. (If updating, cpupower and cpucount + required) + - name: hddcount + type: integer + in: formData + description: >- + total # of HDD (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddsize + type: string + in: formData + description: >- + HDD Size in GB (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid + type: string + in: formData + enum: + - none + - software + - hardware + description: >- + Raid. Possible values: software or hardware. none to clear. (none + added in v9.1.0) (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid_type + type: string + in: formData + enum: + - none + - raid 0 + - raid 1 + - raid 3 + - raid 5 + - raid 6 + - raid 10 + - raid 50 + - raidz + - raidz2 + description: >- + Raid Type. (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: macaddress + type: string + in: formData + description: >- + the mac address value. Use multiple POST/PUT to add multiple mac + addresses. + - name: devices_in_cluster + type: string + in: formData + description: >- + comma separated device names for devices in cluster. Only valid for + device type cluster. + - name: appcomps + type: string + in: formData + description: comma separated application component names on this device. + - name: customer + type: string + in: formData + description: Name of the Customer. Customer record must already exist. Using this will override all existing customer associations. + - name: customer_id + type: string + in: formData + description: ID of the Customer record. Customer record must already exist. Using this will override all existing customer associations. + - name: contract_id + type: integer + in: formData + description: >- + ID for the contract. Available via GET /api/api/1.0/contracts/ – + DEPRECATED in v550. + - name: contract + type: string + in: formData + description: >- + Name of the contract. Used only if contract name is unique. – + DEPRECATED in v550. + - name: aliases + type: string + in: formData + description: >- + optional. Comma separated aliases for the device. Must not exist, + ignored otherwise. + - name: subtype + type: string + in: formData + description: Only for device type other. Must exist internally first. + - name: blade_host_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: clear blade host for device + - name: virtual_subtype + type: string + in: formData + default: internal VM + enum: + - internal VM + - ec2 + - azure_vm + - azure_sql + - azure_storage + - other + - outscale + - linode + - digitalOcean + - vmware + - citrix + - kvm + - hyperv + - docker + - lxc + - rackspace_vm + - softlayer_vm + - ovirt + - joyent_vm + - virtualbox + description: Only for device type virtual. Default is internal VM. + - name: notes + type: string + in: formData + - name: tags + type: string + in: formData + description: comma separated tags (Added in v5.9.2) + - name: virtual_host_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes to clear virtual host for a VM (added in v9.1.0) + - name: tags_remove + type: string + in: formData + description: comma separated tags to remove (added in v9.1.0) + - name: aliases_remove + type: string + in: formData + description: comma separated aliases to remove + - name: devices_in_cluster_remove + type: string + in: formData + description: >- + comma separated device names for removing devices in cluster. Only + valid for device type cluster. (added in v9.2.0) + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/deviceName' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/device/: + put: + operationId: putCustom_Field_Devices + summary: Custom fields + description: Create or update a custom field for a device. The device_id parameter is required to identify the device. + tags: + - Devices + parameters: + - name: device_id + in: formData + description: D42 ID of the device. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/include_in_context_popups' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 8 + - Business Unit + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/multiserials/: + post: + operationId: postMultiSerialDevice + summary: Create/update multi-serial device by name + description: >- + This API is used to create a new device with the name supplied as the + required argument or update an existing device that with that name. This + is similar to /api/1.0/devices/ POST call - but you can add + duplicate serial numbers and UUIDs for high density servers that share + the same serial # and/or UUID + tags: + - Devices + parameters: + - name: name + type: string + description: >- + Device name. If device with name already exists - the existing + device is updated. If an existing device based on serial # or uuid + are found - name is ignored. In that case existing name is not + changed and you can use new_name if you wish to change the name. + in: formData + - name: new_name + type: string + description: >- + As mentioned above, this can be used to change the name of an + existing device + in: formData + - name: serial_no + type: string + description: >- + the serial # of the device. If a device with matching serial # is + found - that device is updated. Serial # with less than 3 characters + in length are ignored. Also, certain generic serial #s like + 123456789 or ‘not specified’ are ignored. + in: formData + - name: uuid + type: string + in: formData + description: >- + the uuid of the device. If a device with matching uuid is found - + that device is updated. + - name: asset_no + type: string + in: formData + description: 'the asset # of the device.' + - name: manufacturer + type: string + in: formData + description: the hardware manufacturer for the device. + - name: hardware + type: string + in: formData + description: >- + the name of the hardware model for the device. Use in conjunction + with the manufacturer argument. However, an update will only occur + if no hardware model is previously assigned to the device. + - name: new_hardware + type: string + in: formData + description: >- + If you want to change the hardware model for a device. If the device + is rack mounted, it will unmount the device before changing hardware + model and attempt to mount it back to same rack location (Changed in + v6.3.2) + - name: is_it_switch + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a network switch + - name: is_it_virtual_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a virtual host + - name: is_it_blade_host + type: string + in: formData + description: ‘yes’ indicates if device is a blade host + - name: in_service + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + ‘yes’ indicates if device is in service, ‘no’ indicates not in + service + - name: type + type: string + in: formData + enum: + - physical + - virtual + - blade + - cluster + - other + description: >- + is the type for device. Valid values are ‘physical’, ‘virtual’, + ‘blade’, ‘cluster’, or ‘other’. + - name: service_level + type: string + in: formData + description: >- + the service level name for the device. The service level must be + pre-defined in the device42 appliance before it can be referenced in + an api call. + - name: virtual_host + type: string + in: formData + description: >- + Is the name for the host of the virtual machine. Two conditions must + be met for this value to successfully update: 1. The device must be + a virtual machine. 2. The virtual host must already exist in the + device42 application and must be already marked as a virtual host. + - name: blade_host + type: string + in: formData + description: >- + the name of the host for the blade machine. Two conditions must be + met for this value to successfully update: 1. The device must be a + blade type. 2. The blade host must already exist and must already be + marked as a blade host. + - name: slot_no + type: integer + in: formData + description: 'slot # for blade device.' + - name: storage_room_id + type: integer + in: formData + description: ID of the room to assign device to storage room. Added in v5.5.0 + - name: storage_room + type: string + in: formData + description: >- + name of the room to assign device to, only used if the room name is + unique. Added in v5.5.0 + - name: os + type: string + in: formData + description: >- + the name of the operating system (os, osver, and osverno all + required if updating any of the three). + - name: osver + in: formData + type: string + description: >- + the version of the operating system (os, osver, and osverno all + required if updating any of the three) + - name: osarch + type: string + in: formData + description: The architecture of the operating system (32 or 64) + - name: osverno + type: integer + in: formData + description: >- + the version # or build # of the operating system (os, osver, and + osverno all required if updating any of the three) + - name: memory + type: string + in: formData + description: the total memory(RAM) in MB. Just numbers. + - name: cpucount + type: integer + in: formData + description: 'total # of CPUs. (If updating, cpupower and cpucore required)' + - name: cpupower + type: string + in: formData + description: >- + CPU speed in MHz, just numbers. (If updating, cpucount and cpucore + required) + - name: cpucore + type: string + in: formData + description: >- + number of cores/CPU. Integer. (If updating, cpupower and cpucount + required) + - name: hddcount + type: integer + in: formData + description: >- + total # of HDD (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddsize + type: string + in: formData + description: >- + HDD Size in GB (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid + type: string + in: formData + enum: + - none + - software + - hardware + description: >- + Raid. Possible values: software or hardware. none to clear. (none + added in v9.1.0) (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid_type + type: string + in: formData + enum: + - none + - raid 0 + - raid 1 + - raid 3 + - raid 5 + - raid 6 + - raid 10 + - raid 50 + - raidz + - raidz2 + description: >- + Raid Type. (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: macaddress + type: string + in: formData + description: >- + the mac address value. Use multiple POST/PUT to add multiple mac + addresses. + - name: devices_in_cluster + type: string + in: formData + description: >- + comma separated device names for devices in cluster. Only valid for + device type cluster. + - name: appcomps + type: string + in: formData + description: comma separated application component names on this device. + - name: customer + type: string + in: formData + description: Name of the Customer. Customer record must already exist. Using this will override all existing customer associations. + - name: customer_id + type: string + in: formData + description: ID of the Customer record. Customer record must already exist. Using this will override all existing customer associations. + - name: contract_id + type: integer + in: formData + description: >- + ID for the contract. Available via GET /api/api/1.0/contracts/ – + DEPRECATED in v550. + - name: contract + type: string + in: formData + description: >- + Name of the contract. Used only if contract name is unique. – + DEPRECATED in v550. + - name: aliases + type: string + in: formData + description: >- + optional. Comma separated aliases for the device. Must not exist, + ignored otherwise. + - name: subtype + type: string + in: formData + description: Only for device type other. Must exist internally first. + - name: blade_host_clear + type: string + in: formData + description: clear blade host for device + - name: virtual_subtype + type: string + in: formData + default: internal VM + enum: + - internal VM + - ec2 + - azure_vm + - azure_sql + - azure_storage + - other + - outscale + - linode + - digitalOcean + - vmware + - citrix + - kvm + - hyperv + - docker + - lxc + - rackspace_vm + - softlayer_vm + - ovirt + - joyent_vm + - virtualbox + description: Only for device type virtual. Default is internal VM. + - name: notes + type: string + in: formData + - name: tags + type: string + in: formData + description: comma separated tags (Added in v5.9.2) + - name: virtual_host_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes to clear virtual host for a VM (added in v9.1.0) + - name: tags_remove + type: string + in: formData + description: comma separated tags to remove (added in v9.1.0) + - name: aliases_remove + type: string + in: formData + description: comma separated aliases to remove + - name: devices_in_cluster_remove + type: string + in: formData + description: >- + comma separated device names for removing devices in cluster. Only + valid for device type cluster. (added in v9.2.0) + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/deviceName' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/multinodes/: + post: + operationId: postMultiNodeDevice + summary: Create/update multi-node device by name + description: >- + This API is used to create a new device with the name supplied as the + required argument or update an existing device that with that name. This + is similar to /api/1.0/devices/ POST call - but you can add + duplicate serial #s and UUID for high density servers that share the + same serial # and/or UUID + tags: + - Devices + parameters: + - name: name + type: string + description: >- + Device name. If device with name already exists - the existing + device is updated. If an existing device based on serial # or uuid + are found - name is ignored. In that case existing name is not + changed and you can use new_name if you wish to change the name. + in: formData + - name: new_name + type: string + description: >- + As mentioned above, this can be used to change the name of an + existing device + in: formData + - name: serial_no + type: string + description: >- + the serial # of the device. If a device with matching serial # is + found - that device is updated. Serial # with less than 3 characters + in length are ignored. Also, certain generic serial #s like + 123456789 or ‘not specified’ are ignored. + in: formData + - name: uuid + type: integer + in: formData + description: >- + the uuid of the device. If a device with matching uuid is found - + that device is updated. + - name: asset_no + type: string + in: formData + description: 'the asset # of the device.' + - name: manufacturer + type: string + in: formData + description: the hardware manufacturer for the device. + - name: hardware + type: string + in: formData + description: >- + the name of the hardware model for the device. Use in conjunction + with the manufacturer argument. However, an update will only occur + if no hardware model is previously assigned to the device. + - name: new_hardware + type: string + in: formData + description: >- + If you want to change the hardware model for a device. If the device + is rack mounted, it will unmount the device before changing hardware + model and attempt to mount it back to same rack location (Changed in + v6.3.2) + - name: is_it_switch + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a network switch + - name: is_it_virtual_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a virtual host + - name: is_it_blade_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ indicates if device is a blade host + - name: in_service + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + ‘yes’ indicates if device is in service, ‘no’ indicates not in + service + - name: type + type: string + in: formData + enum: + - physical + - virtual + - blade + - cluster + - other + description: the type of the device + - name: service_level + type: string + in: formData + description: >- + the service level name for the device. The service level must be + pre-defined in the device42 appliance before it can be referenced in + an api call. + - name: virtual_host + type: string + in: formData + description: >- + Is the name for the host of the virtual machine. Two conditions must + be met for this value to successfully update: 1. The device must be + a virtual machine. 2. The virtual host must already exist in the + device42 application and must be already marked as a virtual host. + - name: blade_host + type: string + in: formData + description: >- + the name of the host for the blade machine. Two conditions must be + met for this value to successfully update: 1. The device must be a + blade type. 2. The blade host must already exist and must already be + marked as a blade host. + - name: slot_no + type: integer + in: formData + description: 'slot # for blade device.' + - name: storage_room_id + type: integer + in: formData + description: ID of the room to assign device to storage room. Added in v5.5.0 + - name: storage_room + type: string + in: formData + description: >- + name of the room to assign device to, only used if the room name is + unique. Added in v5.5.0 + - name: os + type: string + in: formData + description: >- + the name of the operating system (os, osver, and osverno all + required if updating any of the three). + - name: osver + in: formData + type: string + description: >- + the version of the operating system (os, osver, and osverno all + required if updating any of the three) + - name: osarch + type: string + in: formData + description: The architecture of the operating system (32 or 64) + - name: osverno + type: integer + in: formData + description: >- + the version # or build # of the operating system (os, osver, and + osverno all required if updating any of the three) + - name: memory + type: string + in: formData + description: the total memory(RAM) in MB. Just numbers. + - name: cpucount + type: integer + in: formData + description: 'total # of CPUs. (If updating, cpupower and cpucore required)' + - name: cpupower + type: string + in: formData + description: >- + CPU speed in MHz, just numbers. (If updating, cpucount and cpucore + required) + - name: cpucore + type: string + in: formData + description: >- + number of cores/CPU. Integer. (If updating, cpupower and cpucount + required) + - name: hddcount + type: integer + in: formData + description: >- + total # of HDD (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddsize + type: string + in: formData + description: >- + HDD Size in GB (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid + type: string + in: formData + enum: + - none + - software + - hardware + description: >- + Raid. Possible values: software or hardware. none to clear. (none + added in v9.1.0) (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: hddraid_type + type: string + in: formData + enum: + - none + - raid 0 + - raid 1 + - raid 3 + - raid 5 + - raid 6 + - raid 10 + - raid 50 + - raidz + - raidz2 + description: >- + Raid Type. (hddcount, hddsize, hddraid, and hddraid_type all + required when updating any of the 4) + - name: macaddress + type: string + in: formData + description: >- + the mac address value. Use multiple POST/PUT to add multiple mac + addresses. + - name: devices_in_cluster + type: string + in: formData + description: >- + comma separated device names for devices in cluster. Only valid for + device type cluster. + - name: appcomps + type: string + in: formData + description: comma separated application component names on this device. + - name: customer + type: string + in: formData + description: Name of the Customer. Customer record must already exist. Using this will override all existing customer associations. + - name: customer_id + type: string + in: formData + description: ID of the Customer record. Customer record must already exist. Using this will override all existing customer associations. + - name: contract_id + type: integer + in: formData + description: >- + ID for the contract. Available via GET /api/api/1.0/contracts/ – + DEPRECATED in v550. + - name: contract + type: string + in: formData + description: >- + Name of the contract. Used only if contract name is unique. – + DEPRECATED in v550. + - name: aliases + type: string + in: formData + description: >- + optional. Comma separated aliases for the device. Must not exist, + ignored otherwise. + - name: subtype + type: string + in: formData + description: Only for device type other. Must exist internally first. + - name: blade_host_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: clear blade host for device + - name: virtual_subtype + type: string + in: formData + default: internal VM + enum: + - internal VM + - ec2 + - azure_vm + - azure_sql + - azure_storage + - other + - outscale + - linode + - digitalOcean + - vmware + - citrix + - kvm + - hyperv + - docker + - lxc + - rackspace_vm + - softlayer_vm + - ovirt + - joyent_vm + - virtualbox + description: Only for device type virtual. Default is internal VM. + - name: notes + type: string + in: formData + - name: tags + type: string + in: formData + description: comma separated tags (Added in v5.9.2) + - name: virtual_host_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes to clear virtual host for a VM (added in v9.1.0) + - name: tags_remove + type: string + in: formData + description: comma separated tags to remove (added in v9.1.0) + - name: aliases_remove + type: string + in: formData + description: comma separated aliases to remove + - name: devices_in_cluster_remove + type: string + in: formData + description: >- + comma separated device names for removing devices in cluster. Only + valid for device type cluster. (added in v9.2.0) + - name: object_category + type: string + in: formData + description: >- + If multitenancy is on, a category can be assigned to control access + to this object, e.g. Prod_East specifies that the users with access + to the Prod_East category will be able to access this device. + - name: new_object_category + type: string + in: formData + description: Used to change category on a device if it is already set. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/deviceName' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/physical_subtypes/: + get: + operationId: getPhysicalSubtypes + description: This API retrieves all device physical subtypes + summary: Get all physical subtypes + tags: + - Devices + parameters: + - name: physical_subtype_id + type: integer + in: query + description: Filter by physical subtype ID. + - name: name + type: string + in: query + description: Filter by physical subtype name. + - name: storage_room + type: string + in: query + enum: + - 'yes' + - 'no' + description: Filter if subtype is a storage room. + - name: server_room + type: string + in: query + enum: + - 'yes' + - 'no' + description: Filter if subtype is a server room. + - name: building + type: string + in: query + enum: + - 'yes' + - 'no' + description: Filter if subtype is a building. + - name: rack + type: string + in: query + enum: + - 'yes' + - 'no' + description: Filter if subtype is a rack. + - name: blade_chassis + type: string + in: query + enum: + - 'yes' + - 'no' + description: Filter if subtype is a blade chassis. + - name: system_generated_subtype + type: string + in: query + enum: + - 'yes' + - 'no' + description: Filter if subtype is system generated. + - name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example, ?include_cols=name, subtype_id will only result in name, subtype_id. + All column names above can be part of include_cols + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + total_count: + example: 11 + limit: + example: 50 + physical_subtypes: + type: array + items: + type: object + properties: + building: + example: 'true' + system_generated_subtype: + example: 'true' + name: + example: 'Rackable' + subtype_id: + example: 4 + server_room: + example: 'false' + blade_chassis: + example: 'false' + rack: + example: 'true' + storage_room: + example: 'false' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPhysicalSubtypes + description: Create/update physical subtypes. Note that you cannot modify system-generated subtypes + summary: Creates/update a physical subtype + tags: + - Devices + parameters: + - name: name + type: string + in: formData + description: Physical subtype name. + - name: physical_subtype_id + type: integer + in: formData + description: Physical subtype ID; use instead of name. + - name: storage_room + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes if subtype is a storage room. + - name: server_room + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes if subtype is a server room. + - name: building + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes if subtype is a building. + - name: rack + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes if subtype is a rack. + - name: blade_chassis + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes if subtype is a blade chassis. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - physical_subtype added/updated + - 11 + - Warehouse + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/physical_subtypes/{id}/: + get: + operationId: getPhysicalSubtypes_ID + description: This API retrieves a physical subtype by ID + summary: Get physical subtype by ID + tags: + - Devices + parameters: + - name: id + type: integer + in: path + description: Physical Subtype ID. + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + building: + example: 'true' + system_generated_subtype: + example: 'true' + name: + example: 'Rackable' + physical_subtype_id: + example: 4 + server_room: + example: 'false' + blade_chassis: + example: 'false' + rack: + example: 'true' + storage_room: + example: 'false' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deletePhysicalSubtypes + summary: Delete physical subtype + description: >- + This API is used to delete the physical subtype with ID + supplied as the required argument. + tags: + - Devices + parameters: + - name: id + in: path + required: true + description: Physical Subtype ID + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/cloud_instance/: + post: + operationId: postCloudInstanceDevice + summary: Create/update device cloud instance + description: >- + Update cloud instance information for devices. Requires either device or + device_id + tags: + - Devices + parameters: + - name: device + in: formData + description: Device name + type: string + - name: device_id + in: formData + description: Device ID + type: integer + - $ref: '#/parameters/instance_id' + - $ref: '#/parameters/vendor_post' + - $ref: '#/parameters/status' + - name: region + in: formData + description: Region for cloud instance. + type: string + - $ref: '#/parameters/location' + - $ref: '#/parameters/notes_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + description: 'The above command returns results like this:' + properties: + devices: + $ref: '#/definitions/devices' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/hdd/: + post: + operationId: postHDD_field + summary: Create/update Device HDD + description: >- + This call will add/update HDD in a Device + tags: + - Devices + parameters: + - name: device + in: formData + description: name of the existing device + type: string + required: true + - name: hd_id + in: formData + description: HDD ID; required if size is not provided + type: integer + - name: size + type: integer + in: formData + description: The size of the HDD (in GB); required if hd_id is not provided. + - name: part_no + type: integer + in: formData + description: part number + - name: manufacturer + in: formData + description: >- + manufacturer name of the hardware model + type: string + - name: type + in: formData + description: >- + Type of HDD. + type: number + format: float + - name: rpm + in: formData + type: string + - name: raid_type + in: formData + description: >- + type of raid. + type: string + - name: raid_group + in: formData + description: >- + RAID group name + type: string + - name: count + in: formData + type: string + - name: description + in: formData + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + description: 'The above command returns results like this:' + properties: + msg: + example: + - "device hd successfully added/updated" + - 47 + - "Hard Disk" + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/custom_field/: + put: + operationId: putCustom_Field + summary: Custom fields + description: >- + Create/update custom fields for a device. One of the following parameters is required: name, id, asset, or serial + tags: + - Devices + parameters: + - name: name + in: formData + description: 'name of the device, or' + type: string + - name: device_id + type: integer + description: ID of the device + in: formData + - name: asset + in: formData + description: >- + if there is more than 1 device with the same asset #, this will + return “device not found”, or + type: string + - name: serial + in: formData + description: >- + if there is more than 1 device with the same serial #, this will + return “device not found” + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/include_in_context_popups' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 8 + - nh-switch-01 + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/device/impactlist/{device-id}/': + get: + operationId: getDevicesImpactlist + description: This API endpoint retrieves the device impact list by ID + summary: Get device impact list + tags: + - Devices + parameters: + - name: device-id + type: integer + in: path + required: true + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + children: + $ref: '#/definitions/devicesImpactList' + name: + example: Dependant Apps + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/mountpoints/: + get: + operationId: getDeviceMountpoints + description: Get device mountpoints - introduced in version 10.5.0 + summary: Get device mountpoints + tags: + - Devices + parameters: + - name: device_id + in: query + description: id of the device + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + mountpoint_details: + type: array + items: + type: object + properties: + capacity: + example: 238504 + device: + example: greg-ws + filesystem: + example: '' + free_capacity: + example: 77187.07 + fstype: + example: NTFS + id: + example: 25 + label: + example: 'C:' + last_updated: + example: '2016-09-16T15:17:19.110Z' + mountpoint: + example: 'C:' + total_count: + example: 2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDeviceMountpoints + description: Create/update device mountpoints - introduced in version 10.5.0 + summary: Create/update mountpoints + tags: + - Devices + deprecated: true + parameters: + - name: mountpoint + in: formData + description: path of the mountpoint + required: true + type: string + - name: device + in: formData + description: device mountpoint is assigned to + required: true + type: string + - $ref: '#/parameters/filesytem' + - $ref: '#/parameters/fstype' + - $ref: '#/parameters/capacity' + - $ref: '#/parameters/free_capacity' + - $ref: '#/parameters/label_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - mount point added/updated + - 521 + - /home/user + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/device/mountpoints/{id}/': + delete: + operationId: deleteDeviceMountpoints + description: Delete Device Mountpoints by ID + summary: Delete device mountpoint + tags: + - Devices + deprecated: true + parameters: + - name: id + in: path + description: id of the mountpoint to delete + required: true + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '123' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/device/mountpoints/: + get: + operationId: getDeviceMountpoints + description: Get device mountpoints. API v2.0 uses resource model to support all mountpoints + summary: Get device mountpoints + tags: + - Devices + parameters: + - name: device_id + in: query + description: ID of the device + type: string + - name: filesystem + in: query + type: string + description: Filesystem name + - name: fstype + in: query + type: string + description: Filesystem type + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + mountpoint_details: + type: array + items: + type: object + properties: + capacity: + example: 238504 + device: + example: greg-ws + filesystem: + example: '' + free_capacity: + example: 77187.07 + fstype: + example: NTFS + id: + example: 25 + label: + example: 'C:' + last_updated: + example: '2016-09-16T15:17:19.110Z' + mountpoint: + example: 'C:' + total_count: + example: 2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDeviceMountpoints + description: Create/update device mountpoints. API v2.0 uses resource model to support all mountpoints + summary: Create/update mountpoints + tags: + - Devices + parameters: + - name: mountpoint + in: formData + description: Path of the mountpoint + type: string + required: true + - name: device + in: formData + description: device or device_id is required if not using fstype/unique_uuid. Device mountpoint is assigned to + type: string + - name: device_id + in: formData + description: device or device_id is required if not using fstype/unique_uuid. Device ID + type: string + - name: fstype + in: formData + type: string + description: Required if not using device or device_id. Mountpoint filesystem type + - name: unique_uuid + in: formData + type: string + description: Required if not using device or device_id. Unique identifier for mountpoint + - $ref: '#/parameters/filesytem' + - $ref: '#/parameters/capacity' + - $ref: '#/parameters/free_capacity' + - $ref: '#/parameters/label_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - mount point added/updated + - 521 + - /home/user + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/device/mountpoints/{id}/': + delete: + operationId: deleteDeviceMountpoints + description: Delete Device Mountpoints by ID + summary: Delete device mountpoint + tags: + - Devices + parameters: + - name: id + in: path + description: id of the mountpoint to delete + required: true + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '123' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/url/: + get: + operationId: getDeviceUrl + description: Get device URLs - introduced in version 7.0.0 + summary: Get device URLs + tags: + - Devices + parameters: + - name: device + in: query + description: name of the device + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + device_weblinks: + type: array + items: + type: object + properties: + device: + example: NHCTWS001 + host: + example: ' /v:{{device.name}}' + id: + example: 2 + notes: + example: TESTSERVER NHCT + port: + example: '' + type: + example: rdp + url_suffix: + example: ' /f /restrictedadmin' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDeviceUrl + description: >- + Use this API to associate a URL (e.g. an http, https, or telnet url) + with a device. + summary: Add URL to device + tags: + - Devices + parameters: + - name: type + in: formData + description: >- + the url type (e.g. http, https, telnet). This must be an existing + url type in device42. + type: string + required: true + - name: device + in: formData + description: name of the device to which this url belongs (required parameter) + type: string + required: true + - name: host + in: formData + description: >- + fqdn portion of the url. e.g. for http://www.device42.com/awesome, + host is www.device42.com + type: string + - name: port + in: formData + description: port number if any + type: string + - name: url_suffix + in: formData + description: >- + url suffix if any. e.g. it is “awesome” based on example given + above. + type: string + - name: notes + in: formData + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Device url saved succesfully. + - 2 + - 'http://www.device42.com:8080/awesome' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putDeviceUrl + summary: Update device URL + description: >- + Use this API to update and existing URL (e.g. an http, https, or telnet + url) with a device. Type and device are required if no ID is provided + tags: + - Devices + parameters: + - name: id + in: formData + description: ID of the URL + type: string + - name: type + in: formData + description: >- + the url type (e.g. http, https, telnet). This must be an existing + url type in device42. (required if no ID) + type: string + - name: device + in: formData + description: name of the device to which this url belongs (required if no ID) + type: string + - name: host + in: formData + description: >- + fqdn portion of the url. e.g. for https://example.com/awesome, host + is example.com + type: string + - name: port + in: formData + description: port number if any + type: string + - name: url_suffix + in: formData + description: >- + url suffix if any. e.g. it is “awesome” based on example given + above. + type: string + - name: notes + in: formData + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Device url updated + - 2 + - 'http://www.example.com:8080/awesome' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/device/url/{id}/': + delete: + operationId: deleteDeviceUrl + summary: Delete a device URL + description: This API call will delete a device URL (Introduced in v7.0.0) + tags: + - Devices + parameters: + - name: id + in: path + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '142' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/rack/: + post: + operationId: postDeviceRack + summary: Add/update device in rack + description: >- + This API will add a new or existing device to a rack or will update an + existing device that is already in the rack. (Introduced in v321)
                                              + Required parameters:
                                              • device OR device_id OR + serial_no OR asset_no
                                              • rack_id OR rack (with + building, room, or row to identify unique rack)
                                              • start_at
                                              • + tags: + - Devices + parameters: + - name: device + in: formData + description: name of the new or existing device + type: string + - name: device_id + in: formData + description: Device ID of existing device + type: integer + - name: serial_no + type: string + in: formData + description: 'serial # of the existing device' + - name: asset_no + type: string + in: formData + description: 'asset # of the existing device' + - name: hw_model + in: formData + description: >- + If the hw_model doesn’t exist or doesn’t have a type, we will add it + as type “regular (rack mountable)” (changed in v6.6.0) + type: string + - name: size + in: formData + description: >- + size of the hardware model, only for new hardware model or if + hardware model doesn’t have size. required for new hardware model + (added in v6.6.0) + type: number + format: float + - name: manufacturer + in: formData + description: >- + manufacturer of the hardware model. Only for new hardware model + being added(added in v6.6.0) + type: string + - name: rack_id + in: formData + description: >- + required if building name, room name or rack name are not provided. + This is the id of the rack. It can be obtained from Tools > Import > + Import Racked Devices. + type: integer + - name: building + in: formData + description: >- + building is building name, room is room name, rack is rack name and + row is optional. This is used if rack_id is not provided and a + unique rack is found with that combination. This could be just rack + for rack name, if the rack name is unique. Otherwise add row, room + or building to identify a unique rack. + type: string + - name: room + in: formData + type: string + - name: rack + in: formData + type: string + - name: row + in: formData + type: string + - name: start_at + in: formData + description: >- + This is the starting U location for the device in the rack. Starting + with v535, you can use “auto” as value to automatically mount the + device in next available slot. + type: string + required: true + - name: where + in: formData + description: >- + location in rack, one of ‘above’, ‘below’, ‘left’, ‘right’, + ‘mounted’. Note: If mounted a size must be provided or available + from the hardware model. + type: string + - name: x_pos + in: formData + description: >- + A number between 0 and 2520 representing the position within the u + slot. 0 is flush left. 2520 is flush right. + type: string + - name: orientation + in: formData + type: string + description: >- + Device mount orientation on rack. By default devices are mounted in front. + enum: + - front + - back + - name: depth + in: formData + type: string + enum: + - half + - full + description: Depth of device on rack + - name: reversed + in: formData + type: string + enum: + - 'yes' + - 'no' + deescription: Is the device reversed on the rack? + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - device added or updated in the rack + - 2 + - '[2.0] - RA1 -1st floor' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/device/rack/{device_id}/': + delete: + operationId: deleteDeviceRackDevice_Id + summary: Delete from rack + description: >- + This API call will remove/delete a device from a rack (Introduced in + v6.3.2) + tags: + - Devices + parameters: + - name: device_id + in: path + description: ID of the device to be removed from the rack + required: true + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '142' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/cpu/: + post: + operationId: postDeviceCPU + summary: Add/update cpu for a device + description: >- + This API will add or update CPU for a device +

                                                Required parameters:
                                                • cpu_id or cores or speed
                                                • device
                                                + tags: + - Devices + parameters: + - name: name + type: string + in: formData + description: Name of the device CPU. + - name: description + type: string + in: formData + description: Description of device CPU + - name: threads + in: formData + description: number of threads + type: string + - name: cores + type: string + in: formData + description: >- + Number of cores/CPU. + - name: speed + in: formData + type: string + description: 'CPU Speed enter in MHZ, e.g.: 3.5 GHZ use 3500' + - name: cpu_id + type: string + description: Use for updating existing CPU + in: formData + - name: device + in: formData + description: name of the new or existing device + type: string + required: true + - name: manufacturer + in: formData + description: 'Manufacturer' + type: string + - name: count + in: formData + type: string + description: 'Count #' + - name: part_no + in: formData + type: string + description: 'Part #' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - device cpu successfully added/updated + - 28 + - 'cpu1 : Hard Disk sda 10 GB, storage' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device/layout/{id}/: + get: + operationId: getDeviceLayout + description: Retrieve information on Device Layout + summary: Get specific + tags: + - Devices + parameters: + - name: ID + type: integer + description: filter by device ID + in: path + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + name: + example: Physical Device Test + is_blade: + example: false + is_blade_chassis: + example: true + is_switch: + example: false + parts: + example: [] + direct_ports: + example: [] + id: + example: 12 + blades: + example: [] + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/device_ignore_rules/: + get: + operationId: getDevice_Ignore_Rules + description: This call will get all device ignore rules + summary: Get all + tags: + - Device Ignore Rules + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 1 + limit: + example: 1000 + DeviceIgnoreRules: + type: array + items: + type: object + properties: + id: + example: 1 + text: + example: macad-test + option_type: + example: 3 + device_type_id: + example: 2 + device_type: + example: physical + physicalsubtype_id: + example: 1009 + physicalsubtype: + example: ats + virtualsubtype_id: + example: 2 + virtualsubtype: + example: Amazon EC2 Instance + last_discovery: + example: 2020-05-21 14:42 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationID: postDevice_Ignore_Rules + description: This call creates or updates a device ignore rule + summary: Create/update + tags: + - Device Ignore Rules + parameters: + - name: id + type: string + in: formData + description: Required to update an existing ignore rule - the D42 ID of the rule. + - name: text + type: string + in: formData + description: Text for the ignore rule - in UI, 'Ignored text contains'. + - name: option_type + type: string + in: formData + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + required: true + description: >- + Type of ignore rule for the device - in UI, 'Ignore device based on'.
                                                + 1 = Device name
                                                + 2 = OS name
                                                + 3 = Mac address prefix
                                                + 4 = Hardware model
                                                + 5 = Tag
                                                + 6 = Device type + - name: text_length_match_type + type: string + in: formData + enum: + - '1' + - '2' + - '3' + - '4' + description: >- + Exact, partial or prefix/suffix matching for length of ignore rule text.
                                                + 1 = Partial match
                                                + 2 = Exact match
                                                + 3 = Begins with
                                                + 4 = Ends with + - name: text_case_match_type + type: string + in: formData + enum: + - '1' + - '2' + description: >- + Case sensitivity match for ignore rule text.
                                                + 1 = Case insensitive
                                                + 2 = Case sensitive + - name: device_type_id + type: string + in: formData + enum: + - '1' + - '2' + - '3' + - '4' + description: Device type ID
                                                1. unknown 2. physical
                                                3. virtual 4. cluster + - name: device_type + type: string + in: formData + enum: + - 'unknown' + - 'physical' + - 'virtual' + - 'cluster' + description: Device type by name. + - name: physicalsubtype_id + type: string + in: formData + description: >- + Used to set the device subtype - the device must be physical or unknown.
                                                + 1. Generic 2. Rackable 3. Blade 4. PDU 5. Access Point 6. CRAC 7. UPS 8. TAP 9. Branch Circuit Power Meter 10. Power Unit 11. WorkStation 12. ThinClient 13. Network Printer 14. Laptop 15. Environment Monitor
                                                OR D42 ID of user-generated subtype + - name: physicalsubtype + type: string + in: formData + description: >- + Either a system-generated subtype name or a user-generated subtype name. + - $ref: '#/parameters/virtualsubtype_id' + - name: virtualsubtype + type: string + in: formData + enum: + - 'Internal VM' + - 'Amazon EC2 Instance' + - 'Azure Cloud Service' + - 'Azure SQL Server' + - 'Azure Storage' + - 'Other' + - 'Outscale Instance' + - 'Linode Instance' + - 'DigitalOcean Instance' + - 'Azure Virtual Machine' + - 'VMWare' + - 'Citrix/Xen' + - 'KVM' + - 'Hyper-V' + - 'Docker Container' + - 'LXC Container' + - 'Rackspace VM' + - 'Softlayer VM' + - 'QEMU' + - 'Joyent Instance' + - 'VirtualBox' + - 'Oracle VM' + - 'OpenStack' + - 'Xen' + - 'LPAR' + - 'GCE' + - 'Amazon Service' + - 'Context' + - 'Alibaba Cloud Instance' + - 'Oracle Cloud Instance' + - 'Kubernetes Container' + - 'AIX VIOS' + description: Virtual subtype name. Use instead of virtualsubtype_id. Only for virtual device type. + - name: last_discovery + type: string + in: formData + description: The last time this rule was applied to ignore a device during discovery (YYYY-MM-DD HH:MM). + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Device ignore rule added/updated + - 11 + - dtm-device-2 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/device_ignore_rules/{id}/: + delete: + operationId: deleteDevice_Ignore_Rules + summary: Delete + description: >- + Used to delete a device ignore rule with the rule ID as the required argument + tags: + - Device Ignore Rules + parameters: + - name: id + in: path + required: true + description: D42 ID of the ignore rule to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device_name_profile/: + get: + operationId: getdevice_name_profile + description: This call will get all device name profiles + summary: Get all + tags: + - Device Name Profile + parameters: + - name: name + type: string + in: formData + description: Used to easily identify different profiles for generating device names. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 1 + limit: + example: 1000 + device_name_profiles: + type: array + items: + type: object + properties: + start_number: + example: 1 + last_used: + example: 0 + suffix: + example: SuffixOne + number_length: + example: 4 + prefix: + example: PrefixOne + id: + example: 9 + name: + example: DevNameProfile-One + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationID: postdevice_name_profile + description: This call creates or updates a device name profile + summary: Create/update + tags: + - Device Name Profile + parameters: + - name: name + type: string + in: formData + required: true + description: Used to easily identify different profiles for generating device names. + - name: number_length + type: integer + in: formData + required: true + description: Number length between 2 and 7. For numbers up to 9999, it would be 4. Default is 4. + - name: start_number + type: integer + in: formData + required: true + description: Starting number, where you want device numbers to start from. Default is 1. + - name: last_used + type: integer + in: formData + required: true + description: DO NOT CHANGE, unless you know what it is used for :). Default is 0. + - name: prefix + type: string + in: formData + description: Prefix for the generated name number; e.g., SecretDC-Server in SecretDC-Server0042. + - name: suffix + type: string + in: formData + description: Suffix for the generated name number; e.g., .domain.pvt in SecretDC-Server0042.domain.pvt. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - device_name_profile added/updated + - 11 + - DevNameProfile-Five + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device_name_profile/{id}/: + delete: + operationId: deletedevice_name_profile + summary: Delete + description: >- + This API is used to delete a device name profile with the device name profile id + supplied as the required argument + tags: + - Device Name Profile + parameters: + - name: id + in: path + required: true + description: device name profile id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/object_categories/: + get: + operationId: getObject_categories + description: This call will get information about object categories + summary: Get all + tags: + - Object Categories + parameters: + - $ref: '#/parameters/name' + - name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example:id,name,description,groups + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 1000 + object_categories: + type: array + items: + $ref: '#/definitions/object_categories' + offset: + example: 0 + total_count: + example: 3 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postObject_categories + description: This call will create/update information about object categories + summary: Create/update + tags: + - Object Categories + parameters: + - name: name + in: formData + description: Name of object category to create/update + type: string + required: true + - name: description + in: formData + description: Description of object category + type: string + - name: groups + type: string + in: formData + description: >- + List of admin groups separated by commas to add. + - name: groups_remove + type: string + in: formData + description: >- + List of admin groups separated by commas to remove. The asterisk(*) removes all groups. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Object category added/updated successfully + - 4 + - Web Apps + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/object_categories/{id}/: + delete: + operationId: deleteObject_categories + summary: Delete + description: >- + This API is used to delete an object category with the D42 object category ID + supplied as the required argument. + tags: + - Object Categories + parameters: + - name: id + in: path + required: true + description: D42 Object Category ID + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/hardwares/: + get: + operationId: getHardwares + description: This call will get information about hardware models + summary: Get all + tags: + - Hardware Models + parameters: + - $ref: '#/parameters/name' + - name: type + type: string + in: query + description: 'could be physical, blade, or other' + - name: size + type: string + in: query + description: filter by exact size + - name: depth + type: string + in: query + description: could be half or full + - $ref: '#/parameters/part_no' + - $ref: '#/parameters/watts_get' + - $ref: '#/parameters/manufacturer' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - name: blade_size + type: string + in: query + enum: + - 'full' + - 'half' + - 'double half' + - 'double full' + - 'quarter' + description: Blade size + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + models: + type: array + items: + $ref: '#/definitions/HardwareModels' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postHardwares + description: This call will create/update information about hardware models + summary: Create/update + tags: + - Hardware Models + parameters: + - name: name + type: string + required: true + in: formData + description: >- + if similar hardware name already exists, first matching entry is + updated + - $ref: '#/parameters/new_name' + - name: type + type: integer + in: formData + enum: + - 1 + - 2 + - 3 + description: '1 = Regular, 2 = Blade, 3 = Other' + - name: device_subtype + type: string + in: formData + description: Subtype of "other" type devices + - name: size + type: string + in: formData + description: Size in U for hardware type regular + - $ref: '#/parameters/width_ratio_post' + - name: depth + type: string + in: formData + enum: + - half + - full + description: 'half by default, full to override' + - $ref: '#/parameters/blade_size' + - $ref: '#/parameters/part_no_post' + - $ref: '#/parameters/watts' + - $ref: '#/parameters/spec_url' + - $ref: '#/parameters/manufacturer_post' + - $ref: '#/parameters/front_image_id' + - $ref: '#/parameters/front_image' + - $ref: '#/parameters/back_image_id' + - $ref: '#/parameters/back_image' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/max_blades_per_row' + - $ref: '#/parameters/slot_numbering' + - $ref: '#/parameters/module_pos' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - hardware model added or updated + - 1 + - PE 1950 + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/hardwares/{id}/': + delete: + operationId: deleteHardwares + summary: Delete + description: >- + This API is used to delete the hardware model with the hardware model id + supplied as the required argument + tags: + - Hardware Models + parameters: + - name: id + in: path + required: true + description: hardware model id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/hardware/blade_slot/: + get: + operationId: getBlade_slot + description: Get hardware model blade slots + summary: Get blade slots + tags: + - Hardware Models + parameters: + - name: hardware_id + type: integer + in: path + description: Filter by hardware ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + hardware: + example: Manual Hardware Model + orientation: + example: 1 + x_pos: + example: 11 + hardware_id: + example: 190 + slot_no: + example: 1 + slot_size: + example: 1 + y_pos: + example: 4 + id: + example: 1 + location: + example: 1 + width: + example: 1 + height: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postBlade_slot + description: This call adds a blade slot to a hardware model + summary: Add blade slot + tags: + - Hardware Models + parameters: + - name: hardware + type: string + in: formData + description: >- + Hardware model name. + - name: hardware_id + type: integer + in: formData + description: Hardware model ID. + - name: id + type: integer + in: formData + description: Slot ID. + - name: slot_no + type: string + in: formData + description: Slot number. + - name: orientation + type: string + in: formData + description: Slot orientation. + - name: location + type: string + in: formData + description: Slot location. + - name: slot_size + type: string + in: formData + description: Slot size. + - name: width + type: string + in: formData + description: Slot width. + - name: height + type: string + in: formData + description: Slot height. + - name: x_pos + type: string + in: formData + description: Slot X position. + - name: y_pos + type: string + in: formData + description: Slot Y position. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - blade slot added/updated + - 1 + - test + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/hardware/blade_slot/{id}/': + get: + operationId: getBlade_slot_id + description: Get hardware model blade slot by ID + summary: Get Blade Slot + tags: + - Hardware Models + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + chassis_blade_slot: + type: object + properties: + hardware: + example: Manual Hardware Model + orientation: + example: 1 + x_pos: + example: 11 + hardware_id: + example: 190 + slot_no: + example: 1 + slot_size: + example: 1 + y_pos: + example: 4 + id: + example: 1 + location: + example: 1 + width: + example: 1 + height: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteBlade_slot + summary: Delete hardware model blade slot + description: >- + This API is used to delete a hardware model blade slot by Slot ID + tags: + - Hardware Models + parameters: + - name: ID + type: integer + in: path + required: true + description: Slot ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/hardware/port/: + get: + operationId: getDirect_port + description: Get hardware model direct ports + summary: Get direct ports + tags: + - Hardware Models + parameters: + - name: hardware_id + type: integer + in: path + description: Filter by hardware ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + hardware: + example: Manual Hardware Model + orientation: + example: 1 + x_pos: + example: 11 + hardware_id: + example: 190 + port_type_id: + example: 1 + port_name: + example: P2 + port_type: + example: Manual + y_pos: + example: 4 + id: + example: 1 + location: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDirect_port + description: This call adds direct port to a hardware model + summary: Add direct port + tags: + - Hardware Models + parameters: + - name: hardware + type: string + in: formData + description: >- + Hardware model name. + - name: id + type: integer + in: formData + description: Hardware model ID. + - name: port_name + type: string + in: formData + description: Direct port name. + - name: port_type_id + type: string + in: formData + description: Direct port type ID. + - name: location + type: string + in: formData + description: Direct port location. + - name: x_pos + type: string + in: formData + description: Direct port X position. + - name: y_pos + type: string + in: formData + description: Direct port Y position. + - name: orientation + type: string + in: formData + description: Options 1 for "Horizontal" and 2 for "Vertical" + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - direct port added/updated + - 1 + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/hardware/port/{id}/': + get: + operationId: getDirect_port_id + description: Get hardware model direct port by ID + summary: Get Direct Port + tags: + - Hardware Models + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + direct_port: + type: object + properties: + hardware: + example: Manual Hardware Model + orientation: + example: 1 + x_pos: + example: 11 + hardware_id: + example: 190 + port_type_id: + example: 1 + port_name: + example: P2 + port_type: + example: Manual + y_pos: + example: 4 + id: + example: 1 + location: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteDirect_port + summary: Delete hardware model direct port + description: >- + This API is used to delete a hardware model direct port by hardware ID + tags: + - Hardware Models + parameters: + - name: ID + type: integer + in: path + required: true + description: Hardware ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/hardware/part_slot/: + get: + operationId: getPart_slot + description: Get hardware model part slots + summary: Get part slots + tags: + - Hardware Models + parameters: + - name: hardware_id + type: integer + in: path + description: Filter by hardware ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + hardware: + example: Manual Hardware Model + orientation: + example: 1 + x_pos: + example: 11 + hardware_id: + example: 190 + partmodel: + example: Core i7-3770 + partmodel_id: + example: 1 + y_pos: + example: 4 + id: + example: 1 + slot_no: + example: 1 + location: + example: 1 + width: + example: 1 + height: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPart_slot + description: This call adds a part slot to a hardware model + summary: Add part slot + tags: + - Hardware Models + parameters: + - name: hardware + type: string + in: formData + description: >- + Hardware model name. + - name: hardware_id + type: integer + in: formData + description: Hardware model ID. + - name: id + type: integer + in: formData + description: Part slot ID. + - name: slot_no + type: string + in: formData + description: Part slot number. + - name: orientation + type: string + in: formData + description: Part slot orientation. + - name: location + type: string + in: formData + description: Part slot location. + - name: partmodel + type: string + in: formData + description: Part slot model. + - name: partmodel_id + type: string + in: formData + description: Part slot model ID. + - name: width + type: string + in: formData + description: Part slot width. + - name: height + type: string + in: formData + description: Part slot height. + - name: x_pos + type: string + in: formData + description: Part slot X position. + - name: y_pos + type: string + in: formData + description: Part slot Y position. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - part slot added/updated + - 1 + - test + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/hardware/part_slot/{id}/': + get: + operationId: getPart_slot_id + description: Get hardware model part slot by ID + summary: Get Part Slot + tags: + - Hardware Models + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + part_slot: + type: object + properties: + hardware: + example: Manual Hardware Model + orientation: + example: 1 + x_pos: + example: 11 + hardware_id: + example: 190 + partmodel: + example: Core i7-3770 + partmodel_id: + example: 1 + y_pos: + example: 4 + id: + example: 1 + slot_no: + example: 1 + location: + example: 1 + width: + example: 1 + height: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deletePart_slot + summary: Delete hardware model part slot + description: >- + This API is used to delete a hardware model part slot by ID + tags: + - Hardware Models + parameters: + - name: ID + type: integer + in: path + required: true + description: Part Slot ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/hardware/: + put: + operationId: putCustomfield_hardware + description: This call adds a custom field to a hardware model + summary: Custom fields + tags: + - Hardware Models + parameters: + - name: id + required: true + type: integer + description: Hardware model ID. + in: formData + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 4 + - Skynet + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/hardwares/: + get: + operationId: getHardwares_2 + description: This call gets information about hardware models + summary: Get all + tags: + - Hardware Models + parameters: + - name: hardware_id + type: integer + in: query + description: Hardware model ID. + - $ref: '#/parameters/name' + - name: physicalsubtype_id + type: integer + in: query + description: Physical subtype ID. + - name: physicalsubtype + type: string + in: query + description: Physical subtype name. + - name: size + type: string + in: query + description: filter by exact size + - name: blade_size_id + type: integer + in: query + description: >- + Blade size ID.
                                                1 Full Height | 2 Half Height | 3 Double Half Height | 4 Double Full Height | 5 Quarter Height + - name: blade_size + type: string + in: query + enum: + - 'full' + - 'half' + - 'double half' + - 'double full' + - 'quarter' + description: Blade size + - name: depth_id + type: integer + in: query + description: 1 Full Depth | 2 Half Depth + - name: depth + type: string + in: query + description: half OR full + - name: width_ratio_id + type: integer + in: query + enum: + - '2520' + - '1260' + - '840' + - '630' + - '504' + - '420' + - '360' + - '315' + - '280' + - '252' + - '126' + description: Width ratio ID. + - $ref: '#/parameters/width_ratio_get' + - $ref: '#/parameters/part_no' + - name: network_device + type: string + in: query + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a network switch. + - name: blade_host + type: string + in: query + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a blade host. + - name: watts + type: integer + in: query + description: Filter by exact watts per PSU. + - name: vendor_id + type: integer + in: query + description: Hardware model vendor ID. + - name: vendor + type: string + in: query + description: Hardware model vendor name. + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - name: device_id + type: integer + in: query + description: Filter by device ID. + - name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example, ?include_cols=name, hardware_id will only result in name, hardware_id. + The following column names can be part of include_cols: hardware_id, name, type, part_number, watts, + specification_url, notes, blade_host, network_device, end_of_life_date, end_of_support_date, + add_ports_when_creating_device, last_changed, vendor, vendor_id, + front_image_id, front_image, back_image_id, back_image, size, depth, depth_id, + width_ratio, width_ratio_id, blade_size, blade_size_id, custom_fields + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + hardware_models: + type: array + items: + $ref: '#/definitions/HardwareModels' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postHardwares_2 + description: This call creates/updates information about hardware models + summary: Create/update + tags: + - Hardware Models + parameters: + - name: name + type: string + in: formData + description: >- + The hardware model name. If hardware model with the name already exists, the existing hardware model is updated. If an existing hardware model based on hardware_id is found, the name will be updated. + - name: hardware_id + type: integer + in: formData + description: Hardware model ID. + - name: physicalsubtype_id + type: integer + in: formData + description: Hardware model type ID. + - name: physicalsubtype + type: string + in: formData + description: Hardware model type name. Use instead of physicalsubtype_id. + - name: size + type: string + in: formData + description: Size (in U, for non blade models). + - name: depth_id + type: integer + in: formData + description: 1 Full Depth | 2 Half Depth + - name: depth + type: string + in: formData + description: half OR full + - name: width_ratio_id + type: integer + in: formData + enum: + - '2520' + - '1260' + - '840' + - '630' + - '504' + - '420' + - '360' + - '315' + - '280' + - '252' + - '126' + description: Width ratio ID. + - $ref: '#/parameters/width_ratio_post' + - name: blade_size_id + type: integer + in: formData + description: >- + Blade size ID.
                                                1 Full Height | 2 Half Height | 3 Double Half Height | 4 Double Full Height | 5 Quarter Height + - name: blade_size + type: string + in: formData + enum: + - 'full' + - 'half' + - 'double half' + - 'double full' + - 'quarter' + description: Blade size. + - name: vendor_id + type: integer + in: formData + description: Hardware model vendor ID. + - name: vendor + type: string + in: formData + description: Hardware model vendor name. Use instead of vendor_id. + - $ref: '#/parameters/front_image_id' + - $ref: '#/parameters/front_image' + - $ref: '#/parameters/back_image_id' + - $ref: '#/parameters/back_image' + - name: network_device + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a network switch. + - name: blade_host + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes indicates if a device is a blade host. + - name: add_ports_when_creating_device + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes if you want ports to be automatically created when a device is created from UI or API. + - name: part_number + type: string + in: formData + description: Part number. + - name: watts + type: integer + in: formData + description: Watts per PSU. + - name: specification_url + type: string + in: formData + description: Specification URL for the hardware model. + - name: end_of_life_date + type: string + in: formData + description: End of life date. YYYY-MM-DD format. + - name: end_of_support_date + type: string + in: formData + description: End of support date. YYYY-MM-DD format. + - name: notes + type: string + in: formData + description: Any notes about the hardware model. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + example: + - hardware model added or updated + - 1 + - hardware_model + - true + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/hardwares/{id}/: + get: + operationId: getHardwares_2_ID + description: This call will get information about hardware models by the model ID + summary: Get model by ID + tags: + - Hardware Models + parameters: + - name: hardware_id + type: integer + in: path + description: Hardware model ID. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + models: + type: array + items: + $ref: '#/definitions/HardwareModels' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteHardwares_2 + summary: Delete hardware model + description: >- + This API is used to delete the hardware model with the hardware model ID + supplied as the required argument + tags: + - Hardware Models + parameters: + - name: id + in: path + required: true + description: Hardware Model ID + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/operatingsystems/: + get: + operationId: getOperatingSystems + description: This call will get information about operating systems + summary: Get all + tags: + - Operating Systems + parameters: + - name: name + type: string + in: query + description: 'Filter by OS name' + - name: manufacturer + type: string + in: query + description: 'Filter by OS manufacturer' + - name: category + type: string + in: query + description: 'Filter by OS category (ie: Linux, Windows)' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + operatingsystems: + type: array + items: + $ref: '#/definitions/OperatingSystems' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postOperatingSystems + description: This call will create/update information about operating systems + summary: Create/update + tags: + - Operating Systems + parameters: + - name: name + type: string + description: name of the OS + in: formData + - $ref: '#/parameters/manufacturer_post' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/category_post' + - $ref: '#/parameters/licensed_count_post' + - $ref: '#/parameters/licensing_model' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Operating System added/updated + - 77 + - ESX6.0 + - false + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/operatingsystems/{id}/': + get: + operationId: getOperatingSystemsID + summary: Get specific + description: >- + Retrieve detailed information about a specific OS by os id. + tags: + - Operating Systems + parameters: + - name: id + type: integer + in: path + required: true + description: The ID of the OS to retrieve + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + operatingsystems: + type: array + items: + $ref: '#/definitions/OperatingSystems' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteOperatingSystems + summary: Delete + description: >- + This API is used to delete the operating system with the operating + system id supplied as the required argument + tags: + - Operating Systems + parameters: + - name: id + in: path + required: true + description: opearting system id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/device_os/: + get: + operationId: getDevice_os + summary: Get by devices + description: >- + This call will get information about operating systems and the devices + they're discovered on. This call will also return device os Data Normalization results, if available. + tags: + - Operating Systems + parameters: + - name: id + type: integer + in: query + description: ID of Device OS to retrieve + - $ref: '#/parameters/os' + - $ref: '#/parameters/os_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 598 + device_os: + type: array + items: + $ref: '#/definitions/Device_os' + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDevice_os + description: >- + This call will create or update operating systems and assign them to a device + summary: Create/Update on device + tags: + - Operating Systems + parameters: + - name: device_os_id + type: string + in: formData + description: >- + ID of specific operating system.

                                                Use this parameter to change an existing device OS - or - use the device_id parameter AND the os parameter.

                                                Do not use this parameter to create a new device OS. + - name: device_id + type: string + in: formData + description: ID of the device the OS is assigned to.

                                                Use this parameter AND the os parameter to create a new device OS. + - name: device + type: string + in: formData + description: Name of device the OS is assigned to. + - name: os_id + type: string + in: formData + description: ID of OS + - $ref: '#/parameters/os_post' + - $ref: '#/parameters/osver' + - $ref: '#/parameters/osverno' + - $ref: '#/parameters/license_key' + - $ref: '#/parameters/count_in_licensing' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - device_os added/updated + - 9 + - Production-server (Ubuntu Linux 16.04 (64-bit)) + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/device_os/{device_os_id}/': + get: + operationId: getDevice_osID + summary: Get specific + description: >- + Retrieve detailed information about a specific Device OS by device os id. + tags: + - Operating Systems + parameters: + - name: device_os_id + type: integer + in: path + required: true + description: The ID of the Device OS to retrieve + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + total_count: + example: 1 + device_os: + type: array + items: + type: object + properties: + discovered_license_key: + example: '' + os_id: + example: 2 + osver: + example: '' + dont_change_via_api: + example: 'no' + device: + example: 'NHCTS003' + device_os_id: + example: 2 + license_key: + example: '' + osverno: + example: '' + os: + example: Microsoft Windows Server 2008 STD + id: + example: 2 + count_in_licensing: + example: 'yes' + device_id: + example: 120 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteDevice_os + summary: Delete + description: >- + This API is used to delete the operating system with the operating + system id supplied as the required argument + tags: + - Operating Systems + parameters: + - name: device_os_id + in: path + description: ID of specific operating system + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 9 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/os_eoleos/: + get: + operationId: getOS_eol_eos + summary: Get OS EOL/EOS + description: Get Operating Systems End of Life / End of Support Information + tags: + - Operating Systems + parameters: + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + values: + type: array + items: + type: object + properties: + version: + example: 4.4.0-53-generic + id: + example: 1 + os_id: + example: 21 + end_of_life: + example: '2017-11-15' + end_of_support: + example: '2017-11-30' + os: + example: Ubuntu + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postOS_eol_eos + description: >- + This call will create or update an Operating Systems End of Life / End of Support + summary: Create/Update OS EOL/EOS + tags: + - Operating Systems + parameters: + - name: os + in: formData + type: string + description: Name of Operating System. 'os' or 'os_id' is REQUIRED when creating a new OS EOL/EOS. + - name: os_id + in: formData + type: integer + description: ID of Operating System. 'os' or 'os_id' is REQUIRED when creating a new OS EOL/EOS. + - name: version + in: formData + type: string + description: Version of OS + - name: end_of_life_date + in: formData + type: string + description: End of Life date. Format is YYYY-MM-DD + - name: end_of_support_date + in: formData + type: string + description: End of Support date. Format is YYYY-MM-DD + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + example: + - O/S EOL/EOS successfully added/updated + - 9 + - Ubuntu / None + - true + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/os_eoleos/{ID}/': + delete: + operationId: deleteOS_eol_eos + summary: Delete OS EOL/EOS + description: >- + This API is used to delete the an Operating Systems End of Life / End of Support + tags: + - Operating Systems + parameters: + - name: id + in: path + type: integer + description: ID of OS EOS/EOL + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 9 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/pdu_models/: + get: + operationId: getPdu_models + description: Get method retrieves all PDU models + summary: Get all models + tags: + - PDU + parameters: + - name: name + type: string + in: query + description: filter by model name + - name: pdu_model_id + type: integer + in: query + description: filter by pdu model id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + pdu_models: + type: array + items: + $ref: '#/definitions/Pdu_models' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPdu_models + description: Create/update PDU model + summary: Create/update model + tags: + - PDU + parameters: + - $ref: '#/parameters/pdu_model_id' + - name: name + in: formData + description: Name of the PDU model you want to create or update + type: string + - $ref: '#/parameters/manufacturer_post' + - $ref: '#/parameters/size' + - $ref: '#/parameters/sequential_numbering_for_ports' + - $ref: '#/parameters/depth' + - $ref: '#/parameters/imgfile_id' + - $ref: '#/parameters/imgfile' + - $ref: '#/parameters/back_image_id' + - $ref: '#/parameters/back_image' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/width_ratio_post' + - $ref: '#/parameters/post_power_units_type' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU Model added/updated + - 16 + - APC24G + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/pdu_models/{ID}: + delete: + operationId: deletePDU_model + summary: Delete a PDU model + description: This API is used to delete the PDU model with the PDU model id supplied as the required argument + tags: + - PDU + parameters: + - name: id + in: path + type: integer + description: ID of the PDU model + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 9 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/power_unit_models/: + $ref: '#/paths/~1api~11.0~1pdu_models~1' + /api/1.0/power_unit_models/{id}: + $ref: '#/paths/~1api~11.0~1pdu_models~1{ID}' + /api/1.0/pdu_models/ports/: + post: + operationId: postPdu_modelsPorts + description: >- + Create PDU model ports. Required parameters:
                                                • pdu_model_id + OR pdu_model_name
                                                • count
                                                • type
                                                + summary: Create ports + tags: + - PDU + parameters: + - $ref: '#/parameters/pdu_model_id' + - $ref: '#/parameters/pdu_model_name' + - name: count + type: integer + description: number of ports + required: true + in: formData + - name: type + type: string + required: true + description: >- + Type of the port. If not already existing, a new port type is + created. + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU Model updated + - 16 + - APC24G + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.1/power_unit_models/ports/: + get: + operationId: getPdu_models_ports + description: Get all ports in a given power unit model + summary: Get model ports + tags: + - PDU + parameters: + - name: power_unit_model_id + type: integer + description: id of the power unit model + in: query + responses: + '200': + description: Returns the list of ports in the given power unit model + schema: + type: array + items: + $ref: '#/definitions/PowerUnitModelPort' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPdu_modelsSinglePort + description: >- + Create/Update a single PDU Model Port.

                                                Required parameters:
                                                • power_unit_model_id
                                                • +
                                                • port_name
                                                • port_type
                                                + summary: Create/Update a model port + tags: + - PDU + parameters: + - name: power_unit_model_id + type: integer + description: PDU ID + in: formData + required: true + - name: id + type: integer + description: >- + id of the power unit model port, setting this will try to update the port with this id. + An error will be thrown if no port exists with the given id. + in: formData + - name: port_name + type: string + description: >- + Port name. If a port with this name already exists then it'll be updated, + else a new port will be created. + required: true + in: formData + - name: port_type + type: string + required: true + description: >- + Type of port. If the type does not already exist, a new port type is + created. + in: formData + - name: x_pos + type: integer + description: X Position of port + in: formData + - name: y_pos + type: integer + description: Y Position of port + in: formData + - name: orientation + type: integer + enum: + - 1 + - 2 + description: >- + Orientation of the port. +
                                                  +
                                                • 1 - Horizontal
                                                • +
                                                • 2 - Vertical
                                                • +
                                                + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Power Unit Model Port added/updated + - 16 + - APC24G + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.1/power_unit_models/ports/{id}/: + delete: + operationId: deletePdu_models_ports + description: Delete the power unit model port with the given id + summary: Delete a model port + tags: + - PDU + parameters: + - name: id + type: integer + description: id of the power unit model port + in: path + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/general_delete_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/pdus/: + get: + operationId: getPDUs + description: Get method to retrieve all PDUs + summary: Get all PDUs + tags: + - PDU + parameters: + - $ref: '#/parameters/get_power_units_id' + - $ref: '#/parameters/get_power_units_name' + - $ref: '#/parameters/get_power_units_type' + - $ref: '#/parameters/get_power_units_pdu_model_id' + - $ref: '#/parameters/get_power_units_pdu_model' + - $ref: '#/parameters/get_power_units_building_id' + - $ref: '#/parameters/get_power_units_room_id' + - $ref: '#/parameters/get_power_units_rack_id' + - $ref: '#/parameters/get_power_units_serial_no' + - $ref: '#/parameters/get_power_units_device_id' + - $ref: '#/parameters/get_power_units_gateway_pdu_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/get_power_unit_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPDUs + description: This call will create a PDU + summary: Create PDU + tags: + - PDU + parameters: + - $ref: '#/parameters/post_power_units_name' + - $ref: '#/parameters/post_power_units_type' + - $ref: '#/parameters/post_power_units_pdu_model_id' + - $ref: '#/parameters/post_power_units_pdu_model' + - $ref: '#/parameters/post_power_units_notes' + - $ref: '#/parameters/post_power_units_rated_power' + - $ref: '#/parameters/post_power_units_outlet_name' + - $ref: '#/parameters/post_power_units_pdu_serial_no' + - $ref: '#/parameters/post_power_units_device' + - $ref: '#/parameters/post_power_units_serial_no' + - $ref: '#/parameters/post_power_units_asset_no' + - $ref: '#/parameters/post_power_units_storage_room_id' + - $ref: '#/parameters/post_power_units_storage_room' + - $ref: '#/parameters/post_power_units_object_category' + - $ref: '#/parameters/post_power_units_new_object_category' + - $ref: '#/parameters/post_power_units_gateway_pdu_id' + - $ref: '#/parameters/post_power_units_gateway_pdu' + - $ref: '#/parameters/post_power_units_tags' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/post_power_unit_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putPDUs + summary: Update PDU + description: Put method to update a Power Unit. Either 'name' or 'pdu_id' is REQUIRED. + tags: + - PDU + parameters: + - $ref: '#/parameters/put_power_units_name' + - $ref: '#/parameters/put_power_units_pdu_id' + - $ref: '#/parameters/put_power_units_new_name' + - $ref: '#/parameters/post_power_units_type' + - $ref: '#/parameters/post_power_units_pdu_model_id' + - $ref: '#/parameters/post_power_units_pdu_model' + - $ref: '#/parameters/post_power_units_notes' + - $ref: '#/parameters/post_power_units_rated_power' + - $ref: '#/parameters/post_power_units_outlet_name' + - $ref: '#/parameters/post_power_units_pdu_serial_no' + - $ref: '#/parameters/post_power_units_device' + - $ref: '#/parameters/post_power_units_serial_no' + - $ref: '#/parameters/post_power_units_asset_no' + - $ref: '#/parameters/post_power_units_storage_room_id' + - $ref: '#/parameters/post_power_units_storage_room' + - $ref: '#/parameters/post_power_units_object_category' + - $ref: '#/parameters/post_power_units_new_object_category' + - $ref: '#/parameters/post_power_units_gateway_pdu_id' + - $ref: '#/parameters/post_power_units_gateway_pdu' + - $ref: '#/parameters/post_power_units_tags' + - $ref: '#/parameters/put_power_units_tags_remove' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/put_power_unit_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/pdus/{ID}/': + get: + operationId: getPDUsID + summary: Get specific PDU + description: >- + Retrieve detailed information about a specific PDU by PDU ID. This also + includes end point connections + tags: + - PDU + parameters: + - name: ID + in: path + required: true + description: The ID of the PDU to retrieve + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/get_power_unit_return_single' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deletePDUs + summary: Delete a PDU + description: >- + This API is used to delete the pdu with the pdu id supplied as the + required argument + tags: + - PDU + parameters: + - $ref: '#/parameters/delete_power_units_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/general_delete_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/pdus/rack/: + post: + operationId: postPdusRack + description: This call will add/update PDUs in or around a Rack + summary: Add/update in rack + tags: + - PDU + parameters: + - $ref: '#/parameters/pdu_id' + - $ref: '#/parameters/pdu' + - name: rack_id + type: integer + description: >- + This is the ID of the rack. It can be obtained from from Infrastructure > DataCenter > Racks + in: formData + - $ref: '#/parameters/building_post' + - $ref: '#/parameters/where' + - $ref: '#/parameters/start_at' + - $ref: '#/parameters/orientation_pdu' + - $ref: '#/parameters/x_pos' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU Rack Info successfully added/edited. + - 19 + - a3cpdu001 + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/pdus/rack/{id}/': + delete: + operationId: deletePdusRack + summary: Delete from rack + description: >- + This API is used to delete the power unit from the rack it's in. + (The power unit itself is not deleted) + tags: + - PDU + parameters: + - name: id + in: path + format: query + required: true + description: ID of Power Unit in rack + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: true + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/pdus/ports/: + post: + operationId: postPdusPorts + summary: Update ports w/ no names + description: >- + Assign a name and/or an object (see below) objects to a pdu port. It + will pick the lowest port id # available (or first available port in + order created) + tags: + - PDU + parameters: + - $ref: '#/parameters/parent_pdu_id' + - $ref: '#/parameters/parent_pdu' + - name: port_type + type: string + description: Verbose name of the port type. Must exist already. + in: formData + required: true + - name: device + type: string + in: formData + description: Name of the device the port points to. + - name: device_id + type: string + in: formData + description: ID of the device the port points to + - name: pdu_id + type: string + in: formData + description: ID of the PDU the port points to + - name: asset_id + type: string + in: formData + description: ID of the asset the port points to + - name: name + type: string + in: formData + description: 'PDU port name, typically the PDU port number when autodiscovered.' + - $ref: '#/parameters/outlet_name' + - $ref: '#/parameters/watts' + - $ref: '#/parameters/psu_label' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU port detailed added successfully.'365' test + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putPdusPorts + summary: Update ports w/ names + description: >- + This call requires the name of an existing pdu port and enables you to + add new or edit existing values for that particular PDU port. Requires + parent_pdu_id or parent_pdu + tags: + - PDU + parameters: + - $ref: '#/parameters/parent_pdu_id' + - $ref: '#/parameters/parent_pdu' + - name: name + required: true + description: name of the existing PDU port + in: formData + type: string + - $ref: '#/parameters/outlet_name' + - name: device + type: string + in: formData + description: Name of the device the port points to. + - name: device_id + type: string + in: formData + description: ID of the device the port points to + - name: pdu_id + type: string + in: formData + description: ID of the PDU the port points to + - name: asset_id + type: string + in: formData + description: ID of the asset the port points to + - $ref: '#/parameters/watts' + - $ref: '#/parameters/psu_label' + - name: clear + type: string + in: formData + enum: + - yes + - no + description: Dissociate objects (device, asset, pdu) from the pdu port. yes/no + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU port detailed edited successfully.'366'2' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/power_units/: + get: + operationId: getPower_units + description: Get method to retrieve all Power Units + summary: Get all Power Units + tags: + - PDU + parameters: + - $ref: '#/parameters/get_power_units_id' + - $ref: '#/parameters/get_power_units_name' + - $ref: '#/parameters/get_power_units_type' + - $ref: '#/parameters/get_power_units_pdu_model_id' + - $ref: '#/parameters/get_power_units_pdu_model' + - $ref: '#/parameters/get_power_units_building_id' + - $ref: '#/parameters/get_power_units_room_id' + - $ref: '#/parameters/get_power_units_rack_id' + - $ref: '#/parameters/get_power_units_serial_no' + - $ref: '#/parameters/get_power_units_device_id' + - $ref: '#/parameters/get_power_units_gateway_pdu_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/get_power_unit_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPdu_models + description: Create Power Units + summary: Create Power Unit + tags: + - PDU + parameters: + - $ref: '#/parameters/post_power_units_name' + - $ref: '#/parameters/post_power_units_type' + - $ref: '#/parameters/post_power_units_pdu_model_id' + - $ref: '#/parameters/post_power_units_pdu_model' + - $ref: '#/parameters/post_power_units_notes' + - $ref: '#/parameters/post_power_units_rated_power' + - $ref: '#/parameters/post_power_units_outlet_name' + - $ref: '#/parameters/post_power_units_pdu_serial_no' + - $ref: '#/parameters/post_power_units_device' + - $ref: '#/parameters/post_power_units_serial_no' + - $ref: '#/parameters/post_power_units_asset_no' + - $ref: '#/parameters/post_power_units_storage_room_id' + - $ref: '#/parameters/post_power_units_storage_room' + - $ref: '#/parameters/post_power_units_object_category' + - $ref: '#/parameters/post_power_units_new_object_category' + - $ref: '#/parameters/post_power_units_gateway_pdu_id' + - $ref: '#/parameters/post_power_units_gateway_pdu' + - $ref: '#/parameters/post_power_units_tags' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/post_power_unit_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putPower_units + description: Put method to update a Power Unit. Either 'name' or 'pdu_id' is REQUIRED. + summary: Update Power Unit + tags: + - PDU + parameters: + - $ref: '#/parameters/put_power_units_name' + - $ref: '#/parameters/put_power_units_pdu_id' + - $ref: '#/parameters/put_power_units_new_name' + - $ref: '#/parameters/post_power_units_type' + - $ref: '#/parameters/post_power_units_pdu_model_id' + - $ref: '#/parameters/post_power_units_pdu_model' + - $ref: '#/parameters/post_power_units_notes' + - $ref: '#/parameters/post_power_units_rated_power' + - $ref: '#/parameters/post_power_units_outlet_name' + - $ref: '#/parameters/post_power_units_pdu_serial_no' + - $ref: '#/parameters/post_power_units_device' + - $ref: '#/parameters/post_power_units_serial_no' + - $ref: '#/parameters/post_power_units_asset_no' + - $ref: '#/parameters/post_power_units_storage_room_id' + - $ref: '#/parameters/post_power_units_storage_room' + - $ref: '#/parameters/post_power_units_object_category' + - $ref: '#/parameters/post_power_units_new_object_category' + - $ref: '#/parameters/post_power_units_gateway_pdu_id' + - $ref: '#/parameters/post_power_units_gateway_pdu' + - $ref: '#/parameters/post_power_units_tags' + - $ref: '#/parameters/put_power_units_tags_remove' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/put_power_unit_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/power_units/{id}/': + get: + operationId: getPower_unitsID + summary: Get specific Power Unit + description: >- + Retrieve detailed information about a specific Power Unit by ID. This also + includes end point connections + tags: + - PDU + parameters: + - name: ID + in: path + required: true + description: The ID of the Power Unit to retrieve + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/get_power_unit_return_single' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deletePower_units + description: Delete method to delete a Power Unit + summary: Delete a Power Unit + tags: + - PDU + parameters: + - $ref: '#/parameters/delete_power_units_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/general_delete_return' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/power_units/ports/: + post: + operationId: postPower_unitsPorts + summary: Update ports w/ no names + description: >- + Assign a name and/or an object (see below) objects to a power unit port. It + will pick the lowest port id # available (or first available port in + order created) + tags: + - PDU + parameters: + - $ref: '#/parameters/parent_pdu_id' + - $ref: '#/parameters/parent_pdu' + - name: port_type + type: string + description: Verbose name of the port type. Must exist already. + in: formData + required: true + - name: device + type: string + in: formData + description: Name of the device the port points to. + - name: device_id + type: string + in: formData + description: ID of the device the port points to + - name: pdu_id + type: string + in: formData + description: ID of the PDU the port points to + - name: asset_id + type: string + in: formData + description: ID of the asset the port points to + - name: name + type: string + in: formData + description: 'PDU port name, typically the PDU port number when autodiscovered.' + - $ref: '#/parameters/outlet_name' + - $ref: '#/parameters/watts' + - $ref: '#/parameters/psu_label' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU port detailed added successfully.'365' test + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putPower_unitsPorts + summary: Update ports w/ names + description: >- + This call requires the name of an existing pdu port and enables you to + add new or edit existing values for that particular Power Unit port. Requires + parent_pdu_id or parent_pdu + tags: + - PDU + parameters: + - $ref: '#/parameters/parent_pdu_id' + - $ref: '#/parameters/parent_pdu' + - name: name + required: true + description: name of the existing PDU port + in: formData + type: string + - $ref: '#/parameters/outlet_name' + - name: device + type: string + in: formData + description: Name of the device the port points to. + - name: device_id + type: string + in: formData + description: ID of the device the port points to + - name: pdu_id + type: string + in: formData + description: ID of the PDU the port points to + - name: asset_id + type: string + in: formData + description: ID of the asset the port points to + - $ref: '#/parameters/watts' + - $ref: '#/parameters/psu_label' + - name: clear + type: string + in: formData + enum: + - yes + - no + description: Dissociate objects (device, asset, pdu) from the Power Unit port. yes/no + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PDU port detailed edited successfully.'366'2' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/power_units/rack/: + post: + operationId: postPower_unitsRack + description: This call will add/update Power Units in or around a Rack + summary: Add/update in rack + tags: + - PDU + parameters: + - $ref: '#/parameters/pdu_id' + - $ref: '#/parameters/pdu' + - name: rack_id + type: integer + description: >- + This is the ID of the rack. It can be obtained from from Infrastructure > DataCenter > Racks + in: formData + - $ref: '#/parameters/building_post' + - $ref: '#/parameters/where' + - $ref: '#/parameters/start_at' + - $ref: '#/parameters/orientation_pdu' + - $ref: '#/parameters/x_pos' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Power Unit Rack Info successfully added/edited. + - 19 + - a3cpdu001 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/power_units/rack/{ID}/': + delete: + operationId: deletePdusRack + summary: Delete from rack + description: >- + This API is used to delete the power unit from the rack it's in. + (The power unit itself is not deleted) + tags: + - PDU + parameters: + - name: id + in: path + format: query + required: true + description: ID of Power Unit in rack + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: true + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/pdu_infeeds/: + get: + operationId: getPduInfeeds + description: Get method to retrieve all PDU Infeeds + summary: Get all PDU Infeeds + tags: + - PDU + parameters: + - name: pdu_id + in: query + description: Retrieve all PDU Infeeds for PDU with specified pdu_id + type: integer + - name: id + in: query + description: Retrieve PDU Infeed with specified ID + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + total_count: + example: 1 + offset: + example: 0 + limit: + example: 1000 + pdu_infeeds: + type: array + items: + type: object + properties: + name: + example: 'phase 1' + active_power: + example: '70 Watts' + id: + example: 8 + voltage: + example: '210 Volts' + power_draw: + example: '0.50 Amps' + pdu_id: + example: 7 + power_factor: + example: '0.63' + rated_power: + example: '16.00 Amps' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putPduInfeed + description: Update rated power and rated power units information for an existing PDU Infeed + summary: Update PDU Infeed + tags: + - PDU + parameters: + - name: id + type: integer + in: formData + required: true + description: ID of the PDU Infeed + - name: rated_power + type: number + format: float + in: formData + description: Rated power for the PDU Infeed. Must also supply rated_power_units when updating this value. + - name: rated_power_units + type: string + in: formData + description: Rated power units for the PDU Infeed. Supported values are - amps, A, watts, W. Must also supply rated_power when updating this value. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - 'PDU Infeed updated successfully' + - 4 + - 'source1' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/pdu_infeeds/{ID}/': + put: + operationId: putPduInfeedID + description: Update rated power and rated power units information for an existing PDU Infeed + summary: Update PDU Infeed + tags: + - PDU + parameters: + - name: id + type: integer + in: path + required: true + description: id of the PDU Infeed + - name: rated_power + type: number + format: float + in: formData + description: Rated power for the PDU Infeed. Must also supply rated_power_units when updating this value. + - name: rated_power_units + type: string + in: formData + description: Rated power units for the PDU Infeed. Supported values are - amps, A, watts, W. Must also supply rated_power when updating this value. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - 'PDU Infeed updated successfully' + - 4 + - 'source1' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/patch_panel/{ID}/': + get: + operationId: getPatch_panelID + summary: Get specific + description: >- + Retrieve detailed information about a specific Patch Panel by Patch + Panel ID. This also includes end point connections + tags: + - Patch Panels + parameters: + - name: ID + in: path + required: true + description: The ID of the Patch Panel to retrieve + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Patch_panel' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + + '/api/1.0/patch_panel_port/{ID}': + get: + operationId: getPatchPanelPortInfo + summary: Get specific + description: >- + Retrieve detailed information about a specific Patch Panel port by patch panel port ID. + tags: + - Patch Panels + parameters: + - name: port_id + in: path + description: ID of the port + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Patch_panel_port' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/patch_panel_ports/{patch_panel_id}/': + get: + operationId: getPatch_panel_portsPatch_panel_id + description: Retrieves patch panel ports for specified patch panel + summary: Get all ports + tags: + - Patch Panels + parameters: + - name: patch_panel_id + in: path + required: true + description: Patch panel id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + properties: + name: + example: 1 + ppport_id: + example: 481 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/patch_panel_ports/: + post: + operationId: postPatch_panel_portsPatch_panel_id + summary: Update ports + description: >- + Update Patch Panel Ports. Requires the following parameters: +
                                                • patch_panel_id OR patch_panel
                                                • number
                                                • + tags: + - Patch Panels + parameters: + - name: patch_panel_id + in: formData + description: Patch panel id + type: string + - $ref: '#/parameters/patch_panel' + - name: number + in: formData + required: true + description: Port number for the patch panel + type: string + - $ref: '#/parameters/module_slot' + - $ref: '#/parameters/mac_id' + - name: mac_address + in: formData + type: string + description: mac_address or hwaddress + - $ref: '#/parameters/switchport_id' + - name: switch + in: formData + type: string + description: Must be used with switchport if switchport_id is not used. + - name: switchport + in: formData + type: string + description: Must be used with switch if switchport_id is not used. + - name: patch_panel_port_id + in: formData + type: string + description: Or use front_patch_panel and front_port combination + - $ref: '#/parameters/front_patch_panel_id' + - $ref: '#/parameters/front_patch_panel' + - $ref: '#/parameters/front_port' + - $ref: '#/parameters/label_post' + - $ref: '#/parameters/obj_label1' + - $ref: '#/parameters/obj_label2' + - $ref: '#/parameters/back_connection_id' + - $ref: '#/parameters/back_switchport_id' + - $ref: '#/parameters/back_switch' + - name: back_switchport + in: formData + type: string + description: >- + Use if back connection type is switch - use in combination with + back_switch. + - $ref: '#/parameters/back_patch_panel_id' + - $ref: '#/parameters/back_patch_panel' + - $ref: '#/parameters/back_port' + - $ref: '#/parameters/clear_front' + - $ref: '#/parameters/clear_back' + - $ref: '#/parameters/cable_type' + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + properties: + msg: + example: + - patch port details edited successfully. + - 490 + - 'DC1R1PP1 : 10 (testtest)' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/patch_panel_models/: + get: + operationId: getPatch_panel_models + description: Retrieves all patch panel models + summary: Get all models + parameters: + - name: name + type: string + in: query + description: filter by name + tags: + - Patch Panels + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + properties: + module_position: + example: horizontal + name: + example: m1 + numbering_direction: + example: left-right + numbering_start_location: + example: top-left + patch_panel_model_id: + example: 1 + type: + example: Modular + type_id: + example: 2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPatch_panel_models + description: >- + Create/update patch panel model. Required parameters: +
                                                  • patch_panel_model_id OR name
                                                  • + summary: Create model + tags: + - Patch Panels + parameters: + - $ref: '#/parameters/patch_panel_model_id' + - name: name + in: formData + description: Name of the patch panel model you want to edit or create. + type: string + - $ref: '#/parameters/manufacturer_post' + - name: type + type: string + in: formData + enum: + - singluar + - modular + default: singluar + - name: port_type + description: name of the port type. created if it doesn't exist already + in: formData + type: string + - $ref: '#/parameters/paired_ports' + - $ref: '#/parameters/imgfile_id' + - $ref: '#/parameters/imgfile' + - $ref: '#/parameters/number_of_ports' + - $ref: '#/parameters/number_of_ports_in_row' + - $ref: '#/parameters/module_position' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Patch Panel Model added/updated + - 12 + - 48-port-ethernet + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/patch_panel_module_models/: + get: + operationId: getPatch_panel_module_models + description: Retrieves all patch panel module models + summary: Get all module models + tags: + - Patch Panels + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + properties: + name: + example: r1 + number_of_ports: + example: 12 + number_of_ports_in_row: + example: 6 + patch_panel_module_model_id: + example: 1 + port_type: + example: Fiber LC + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPatch_panel_module_models + description: >- + Create/update patch panel module model. Required parameters: +
                                                    • patch_panel_module_model_id OR name
                                                    • + summary: Create/update module model + tags: + - Patch Panels + parameters: + - $ref: '#/parameters/patch_panel_module_model_id' + - name: name + in: formData + description: Name of the patch panel module model you want to edit or create. + type: string + - name: port_type + description: name of the port type. created if it doesn't exist already + in: formData + type: string + - $ref: '#/parameters/paired_ports' + - $ref: '#/parameters/number_of_ports' + - $ref: '#/parameters/number_of_ports_in_row' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Patch Panel Module Model added/updated + - 2 + - 6-port-module + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/parts/: + get: + operationId: getParts + description: Get all parts - introduced in version 5.7.2 + summary: Get all + tags: + - Parts Management + parameters: + - name: type + type: string + description: >- + type of the partmodel, cpu, mem, hdd for CPU, memory, and Harddisk. + For others it must match the type name for part model + in: query + - name: device + type: string + description: name of the device where part is checked out to + in: query + - name: device_id + type: string + description: id of the device where part is checked out to + in: query + - $ref: '#/parameters/device_serial' + - name: room + type: string + description: name of the room where part is checked out to + in: query + - name: room_id + type: string + description: id of the room where part is checked out to + in: query + - $ref: '#/parameters/part_id' + - $ref: '#/parameters/partmodel_id' + - name: serial_no + type: string + description: serial number of the part + in: query + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - name: rack_id + type: string + description: id of the rack where part is checked out to + in: query + - name: rack + type: string + description: name of the rack where part is checked out to + in: query + - name: asset_id + type: string + description: id of the asset where part is checked out to + in: query + - $ref: '#/parameters/asset_no' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - $ref: '#/parameters/tags' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + parts: + type: array + items: + $ref: '#/definitions/Parts' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postParts + description: Create/update parts - introduced in version 5.7.2 + summary: Create/update + tags: + - Parts Management + parameters: + - name: type + type: string + description: >- + Part type - new or existing. Must be hdd or harddisk to update HDD + model parameters (hddsize, hddtype, etc) + in: formData + - name: name + type: string + description: name of part model - new or existing + in: formData + - name: count + type: integer + description: number of parts + in: formData + - name: part_id + type: string + description: Use for updating existing part + in: formData + - name: partmodel_id + type: string + in: formData + - name: serial_no + type: string + in: formData + description: >- + Use for updating existing part. Caution: will update first matching + serial if multiple parts with same serial exist. Use part_id or + partmodel_id to uniquely identify. + - $ref: '#/parameters/firmware' + - $ref: '#/parameters/assignment' + - name: room + in: formData + type: string + description: Room name - required if assigned to room + - name: device + in: formData + type: string + description: Room name - required if assigned to device + - name: asset_id + in: formData + type: integer + description: Asset name - required if assigned to asset + - $ref: '#/parameters/date_changed' + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/cores' + - $ref: '#/parameters/cpuspeed' + - $ref: '#/parameters/threads' + - $ref: '#/parameters/ramsize' + - $ref: '#/parameters/ramtype' + - $ref: '#/parameters/ramspeed' + - $ref: '#/parameters/hddsize' + - $ref: '#/parameters/hddtype' + - $ref: '#/parameters/hddrpm' + - $ref: '#/parameters/raid_type' + - $ref: '#/parameters/raid_group' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Part added/updated + - 24 + - 'Hard Disk WesternDigitalRe250, wd250abyz, PN: wdre250s' + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/parts/{id}/': + delete: + operationId: deleteParts + summary: Delete + description: >- + This API is used to delete the part with the part id supplied as the + required argument + tags: + - Parts Management + parameters: + - name: id + in: path + required: true + description: part id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/partmodels/: + get: + operationId: getPartmodels + description: Get all part models - introduced in version 5.7.2 + summary: Get all models + tags: + - Parts Management + parameters: + - $ref: '#/parameters/name' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Partmodels' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPartmodels + description: Create/update part models - introduced in version 5.7.2 + summary: Create/update models + tags: + - Parts Management + parameters: + - name: type + type: string + description: >- + Part type - new or existing. Must be hdd or harddisk to update HDD + model parameters (hddsize, hddtype, etc) + in: formData + - name: name + type: string + description: name of part model - new or existing + in: formData + - $ref: '#/parameters/description_post' + - name: partmodel_id + type: string + in: formData + description: use for updating existing part model + - $ref: '#/parameters/modelno' + - $ref: '#/parameters/partno' + - $ref: '#/parameters/manufacturer_post' + - $ref: '#/parameters/media_type' + - $ref: '#/parameters/connector_type' + - $ref: '#/parameters/length' + - $ref: '#/parameters/connectivity' + - name: total_count + in: formData + type: string + - $ref: '#/parameters/location' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/cores' + - $ref: '#/parameters/cpuspeed' + - $ref: '#/parameters/threads' + - $ref: '#/parameters/ramsize' + - $ref: '#/parameters/ramtype' + - $ref: '#/parameters/ramspeed' + - $ref: '#/parameters/hddsize' + - $ref: '#/parameters/hddtype' + - $ref: '#/parameters/hddrpm' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - PartModel added/updated + - 17 + - 'Riser Card intel 123456, PN: 123456' + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/partmodels/{id}/': + delete: + operationId: deletePartmodels + summary: Delete model + description: >- + This API is used to delete the part model with the part model id + supplied as the required argument + tags: + - Parts Management + parameters: + - name: id + in: path + required: true + description: part model id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/part/: + put: + operationId: putCustom_FieldPart + description: Create/update custom fields for parts + summary: Custom fields + tags: + - Parts Management + parameters: + - name: id + in: formData + description: ID of part. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'CPU NA, PN: 1000base-lx-sfp' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/partmodel/: + put: + operationId: putCustom_FieldPartmodel + description: Create/update custom fields for Part Models + summary: Custom fields for models + tags: + - Parts Management + parameters: + - name: id + in: query + description: ID of part. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 12 + - '42' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/purchases/: + get: + operationId: getPurchases + description: Get method retrieves all purchases + summary: Get all + tags: + - Purchasing + parameters: + - $ref: '#/parameters/purchase_id' + - $ref: '#/parameters/order_no' + - name: vendor + type: string + description: Vendor name + in: query + - $ref: '#/parameters/cost_center' + - name: building + type: string + description: Associated building + in: query + - $ref: '#/parameters/completed' + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Purchases' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postPurchases + summary: Create/update + description: >- + Create/update purchases. Required parameters:
                                                      • order_no + OR purchase_id
                                                      • + tags: + - Purchasing + parameters: + - name: order_no + in: formData + type: string + description: order number / name for the purchase. Can be new or existing. + - name: purchase_id + type: string + in: formData + description: Can be used instead of order_no to update existing purchase + - $ref: '#/parameters/line_type' + - $ref: '#/parameters/line_no' + - $ref: '#/parameters/vendor_post' + - $ref: '#/parameters/cost' + - $ref: '#/parameters/po_date' + - name: cost_center + type: string + in: formData + - name: building + type: string + in: formData + description: Associated building + - name: completed + enum: + - 'yes' + - 'no' + type: string + in: formData + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/line_name' + - $ref: '#/parameters/line_quantity' + - $ref: '#/parameters/line_cost' + - $ref: '#/parameters/line_cost_center' + - $ref: '#/parameters/line_customer' + - $ref: '#/parameters/line_item_type' + - $ref: '#/parameters/line_asset_ids' + - $ref: '#/parameters/line_start_date' + - $ref: '#/parameters/line_end_date' + - $ref: '#/parameters/line_frequency' + - $ref: '#/parameters/line_renew_date' + - $ref: '#/parameters/line_cancel_policy' + - $ref: '#/parameters/line_contract_type' + - $ref: '#/parameters/line_service_type' + - $ref: '#/parameters/line_contract_id' + - $ref: '#/parameters/line_notes' + - $ref: '#/parameters/line_completed' + - $ref: '#/parameters/line_devices' + - $ref: '#/parameters/line_device_serial_nos' + - $ref: '#/parameters/line_device_asset_nos' + - $ref: '#/parameters/line_circuits' + - $ref: '#/parameters/line_circuit_ids' + - $ref: '#/parameters/line_building_ids' + - $ref: '#/parameters/line_certificate_ids' + - $ref: '#/parameters/line_software_ids' + - $ref: '#/parameters/line_room_ids' + - $ref: '#/parameters/line_rack_ids' + - $ref: '#/parameters/line_part_ids' + - $ref: '#/parameters/line_device_os_ids' + - $ref: '#/parameters/line_devices_remove' + - $ref: '#/parameters/groups_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - purchase updated successfully + - 11 + - thisisatest + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/purchases/{id}/': + delete: + operationId: deletePurchases + summary: Delete + description: >- + This API is used to delete the purchase order with the purchase order id + supplied as the required argument + tags: + - Purchasing + parameters: + - name: id + in: path + required: true + description: purchase id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/purchases/{purchase-id}/attachments/': + get: + operationId: getAllPurchaseAttachments + summary: Get attachments by purchase ID + description: >- + Retrieve all file attachments for a specific purchase using purchase id.
                                                        + Returns a zip file of all the attachments associated with the purchase with the specified ID in URL.
                                                        + Note that this implementation of Swagger does not support file download - use another mechanism such as CURL.
                                                        +
                                                        cURL example:
                                                        + curl -X GET \
                                                        + URL/api/1.0/purchases/3/attachments \
                                                        + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI=' + tags: + - Purchasing + parameters: + - name: purchase-id + type: integer + in: formData + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + file_download: + example: attachments_archive.6646-2020-01-24.zip + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/purchase/: + put: + operationId: putCustom_FieldPurchases + description: Create/update custom fields for purchases + summary: Custom fields + tags: + - Purchasing + parameters: + - name: order_no + in: formData + type: string + description: order number / name for the purchase. Can be new or existing. + required: true + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 623 + - PO1234 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/lifecycle_event/: + get: + operationId: getLifecycle_event + description: Retrieve Life Cycle Events using filters - introduced in version 5.5.7 + summary: Get All + tags: + - Asset-Device Life Cycle + parameters: + - name: type + type: string + description: filter by existing event type + in: query + - name: device + type: string + description: filter by device name + in: query + - name: asset + type: string + description: filter by asset name + in: query + - name: asset_id + type: string + in : query + description: filter by asset ID + - $ref: '#/parameters/enduser' + - $ref: '#/parameters/date_gt' + - $ref: '#/parameters/date_lt' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + lifecycle_events: + type: array + items: + properties: + date: + example: '2013-09-05T04:00:00Z' + asset_id: + example: 224 + asset_name: + example: heart of gold + enduser: + example: H. Dent + notes: + example: R&D Dev Server + type: + example: Purchased + id: + example: 4 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putLifecycle_event + summary: Create/Update + description: >- + Use this API to create/update life cycle events for devices or assets. Use + device, device_id, asset_no, serial_no, or asset_id to indicate the + device or asset the event is to be created for + tags: + - Asset-Device Life Cycle + parameters: + - name: id + type: string + in: formData + description: ID of lifecycle event. Required if updating an existing lifecycle event. + - name: date + type: string + description: in YYYY-MM-DD or
                                                        YYYY-MM-DD HH:MM format. + in: formData + required: true + - name: new_date + type: string + in: formData + description: New date to overwrite current date of lifecycle event. + - name: type + type: string + required: true + in: formData + description: must be defined already in device42. + - name: device + type: string + in: formData + description: Name of the device that the event is for + - name: device_id + type: string + in: formData + description: ID of the device that the event is for + - name: asset_no + type: string + in: formData + description: Asset number of the device that the event is for + - name: serial_no + type: string + in: formData + description: Serial number of the device that the event is for + - name: asset_id + type: string + in: formData + description: ID of the asset that the event is for + - name: fully_qualified_username + type: string + in: formData + description: Fully Qualified Username + - name: tags + type: string + in: formData + description: Comma separated list of tags to add to a lifecycle event. + - name: tags_remove + type: string + in: formData + description: Comma separated tags to remove for a lifecycle event + - name: enduser_id + type: string + in: formData + description: ID of the enduser. If enduser_id is provided then user and fully_qualified_name parameters are ignored + - $ref: '#/parameters/user' + - $ref: '#/parameters/notes_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - lifecycle event added successfully. + - 3 + - 'Installed on 2013-02-02 17:15:00' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/lifecycle_event/{id}/: + get: + operationId: getLifecycle_eventID + description: Retrieve detailed information about a specific Lifecycle Event. + summary: Get Specific + tags: + - Asset-Device Life Cycle + parameters: + - name: ID + type: integer + in: path + required: true + description: The ID of the Lifecycle Event + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + lifecycle_event: + type: object + properties: + tags: + example: [] + notes: + example: "" + date: + example: "2021-11-15T20:37:32Z" + device: + example: "0013548C-4308-4929-AF43-06D6B25D1B8C/marco-vm-azure" + type: + example: "Inventoried" + id: + example: 1 + + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteLifecycle_event + summary: Delete + description: >- + This API is used to delete a specific Lifecycle Event + tags: + - Asset-Device Life Cycle + parameters: + - name: ID + in: path + required: true + description: The ID of the Lifecycle Event + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/vrfgroup/: + get: + operationId: getIPAMvrfgroup + description: Get method retrieves all VRF Groups + summary: Get all VRF groups + tags: + - IPAM + parameters: + - name: cloud_infra_id + type: id + description: id of the cloud account + in: query + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + total_count: + example: 84 + offset: + example: 0 + limit: + example: 1000 + vrfgroup: + type: array + items: + type: object + properties: + buildings: + example: [] + description: + example: Infrastructure + tags: + example: [] + groups: + example: '' + id: + example: 1 + cloud_infra_id: + example: 2 + custom_fields: + example: [] + name: + example: Infrastructure Services + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAMvrfgroup + description: Create/update VRF group + summary: Create/update VRF group + tags: + - IPAM + parameters: + - name: name + in: formData + required: true + description: Name of the VRF Group you want to add edit or create + type: string + - name: description + in: formData + type: string + - name: groups + in: formData + description: >- + If multitenancy is on, admin groups that have access to this object + are specified here, e.g. Prod_East:no,Corp:yes specifies that the + admin groups for this object are Prod_East with view only permission + and Corp with change permission. If this parameter is present with + no value, all groups are deleted. + type: string + - name: buildings + in: formData + description: list of building names for the VRF Group + type: string + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + msg: + example: + - VRF Group added/updated + - 1 + - blue + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/vrfgroup/{id}/': + put: + operationId: putIPAMvrfgroup + description: Update a specific VRF group + summary: Update VRF group + tags: + - IPAM + parameters: + - name: id + in: path + required: true + description: VRF Group ID + type: string + - name: name + in: formData + description: Name of the VRF Group + type: string + - name: description + in: formData + type: string + - name: groups + in: formData + description: >- + If multitenancy is on, admin groups that have access to this object + are specified here, e.g. Prod_East:no,Corp:yes specifies that the + admin groups for this object are Prod_East with view only permission + and Corp with change permission. If this parameter is present with + no value, all groups are deleted. + type: string + - name: buildings + in: formData + description: list of building names for the VRF Group + type: string + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + msg: + example: + - VRF Group added/updated + - 3 + - green + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteIPAMvrfgroupId + summary: Delete VRF group + description: >- + This API is used to delete the vrf group with the vrf group id supplied + as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + required: true + description: VRF Group ID + type: string + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/vrfgroup/: + put: + operationId: putIPAMCustomFIvrfgroup + summary: VRF group custom fields + description: >- + Create/update custom fields for VRF groups. Required parameters: +
                                                        • name OR ID
                                                        • key
                                                        • + tags: + - IPAM + parameters: + - name: name + type: string + in: formData + description: Required if ID not present + - name: id + type: string + in: formData + description: Required if name not present + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 1 + - test + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/subnet/: + put: + operationId: putIPAMCustomFIsubnet + description: Create/update custom fields for subnets + summary: Subnet custom fields + tags: + - IPAM + parameters: + - name: network + type: string + in: formData + description: Network IP + required: true + - name: mask_bits + type: string + in: formData + required: true + - name: vrf_group + type: string + in: formData + description: VRF group name + required: true + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2681 + - 9.0.0.0/8 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/ip_address/: + put: + operationId: putIPAMCustomFIip_address + description: Create/update custom fields for IP addresses + summary: IP address custom fields + tags: + - IPAM + parameters: + - name: ip_address + type: string + in: formData + description: IP address + required: true + - name: subnet_id + type: string + in: formData + description: Subnet ID + required: true + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 13545 + - 9.0.0.1 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/switchport/: + put: + operationId: putIPAMCustomFIswitchport + summary: Switch port custom fields + description: >- + Create/update switch port custom fields. + Required parameters:
                                                          • id OR port AND + device_name
                                                          • key
                                                          • + tags: + - IPAM + parameters: + - name: id + type: string + in: formData + description: ID of the switchport + - name: port + type: string + in: formData + description: required if ID is not used + - $ref: '#/parameters/device_name' + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 4 + - '1027' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/subnet_category/: + get: + operationId: getIPAMsubnetcategory + description: Get method retrieves all subnet categories + summary: Get all subnet categories + tags: + - IPAM + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + description: + example: '' + id: + example: 1 + groups: + example: 'AccessToBlue:yes' + name: + example: East Region + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAMsubnetcategory + summary: Create subnet category + description: Create subnet category + tags: + - IPAM + parameters: + - name: name + in: formData + required: true + description: Name of the Subnet Category you want to add edit or create + type: string + - name: description + in: formData + type: string + - name: is_it_default + in: formData + type: string + enum: + - 'yes' + - 'no' + description: >- + Defaults to no. Only one category can be yes. If yes, this is the + subnet category to use if none specified in an API or autodiscovery + update. + - name: groups + in: formData + description: >- + If multitenancy is on, admin groups that have access to this object + are specified here, e.g. Prod_East:no,Corp:yes specifies that the + admin groups for this object are Prod_East with view only permission + and Corp with change permission. If this parameter is present with + no value, all groups are deleted. + type: string + responses: + '200': + description: 'The above command returns JSON structured like this:' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putIPAMsubnetcategory + description: Update a specific subnet category + summary: Update subnet category + tags: + - IPAM + parameters: + - name: name + in: formData + required: true + description: Name of the Subnet Category + type: string + - name: description + in: formData + type: string + - name: is_it_default + in: formData + description: >- + yes or no. Defaults to no. Only one category can be yes. If yes, + this is the subnet category to use if none specified in an API or + autodiscovery update. + type: string + enum: + - 'yes' + - 'no' + - name: groups + in: formData + description: >- + If multitenancy is on, admin groups that have access to this object + are specified here, e.g. Prod_East:no,Corp:yes specifies that the + admin groups for this object are Prod_East with view only permission + and Corp with change permission. If this parameter is present with + no value, all groups are deleted. + type: string + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + msg: + example: + - Subnet category added/updated + - 3 + - blue + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/subnet_category/{id}/': + delete: + operationId: deleteIPAMsubnetcategory + summary: Delete subnet category + description: >- + This API is used to delete the subnet category with the subnet category + id supplied as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + required: true + description: Subnet category id + type: integer + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/subnets/: + get: + operationId: getIPAMsubnets + description: Get all subnets - Filter parameters are below + summary: Get all subnets + tags: + - IPAM + parameters: + - name: name + type: string + description: name of the subnet + in: query + - $ref: '#/parameters/vrf_group_id' + - $ref: '#/parameters/vrf_group' + - $ref: '#/parameters/parent_subnet_id_get' + - $ref: '#/parameters/parent_subnet' + - $ref: '#/parameters/customer_id_get' + - $ref: '#/parameters/customer' + - $ref: '#/parameters/subnet_id' + - name: mask_bits + in: query + description: mask bits + type: string + - $ref: '#/parameters/mask_bits_lt' + - $ref: '#/parameters/mask_bits_gt' + - $ref: '#/parameters/description' + - $ref: '#/parameters/range_begin' + - $ref: '#/parameters/range_end' + - $ref: '#/parameters/gateway' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - $ref: '#/parameters/service_level' + - $ref: '#/parameters/category' + - $ref: '#/parameters/category_id' + - $ref: '#/parameters/vlan_id' + - name: network + description: Optional + type: string + in: query + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + limit: + example: 2 + offset: + example: 0 + subnets: + type: array + items: + $ref: '#/definitions/IPAMsubnets' + total_count: + example: 32 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAMsubnets + description: Create/update subnets + summary: Create/update subnet + tags: + - IPAM + parameters: + - name: network + in: formData + type: string + description: 'Required for creation, cannot be modified after subnet creation.' + required: true + - name: mask_bits + in: formData + description: Cannot be modified after subnet creation + required: true + type: string + - $ref: '#/parameters/vrf_group_id_post' + - $ref: '#/parameters/vrf_group_post' + - name: name + in: formData + type: string + - name: type + type: string + in: formData + enum: + - Static + - DHCP + - Reserved + - name: type_id + in: formData + type: integer + enum: + - 1 + - 2 + - 3 + - name: service_level + in: formData + type: string + description: The service level name for the subnet. + - name: service_level_id + in: formData + type: integer + description: Service level ID for the subnet. + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/gateway_post' + - $ref: '#/parameters/range_begin_post' + - $ref: '#/parameters/range_end_post' + - $ref: '#/parameters/parent_vlan_id' + - $ref: '#/parameters/parent_subnet_id' + - $ref: '#/parameters/customer_id' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/subnets_type' + - $ref: '#/parameters/assigned' + - $ref: '#/parameters/allocated' + - $ref: '#/parameters/auto_add_ips' + - $ref: '#/parameters/category_post' + - name: category + in: formData + type: string + description: The name of an subnet category to assign to the subnet. Use for initial insert. + - name: new_category + in: formData + description: Use new_category to update/replace an existing subnet category. + type: string + - name: category_id + in: formData + type: string + description: ID of the subnet category to assign to the subnet. Use for initial insert. + - name: new_category_id + in: formData + description: Use new_category_id to update/replace an existing subnet category ID. + type: string + - $ref: '#/parameters/parent_subnet_name' + - $ref: '#/parameters/parent_subnet_with_mask' + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + msg: + example: + - >- + subnet successfully + added/updated'5'NetComm-10.1.2.0/24(Infrastructure Services) + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putIPAMsubnets + description: Create/update specific subnet + summary: Create/update specific subnet + tags: + - IPAM + parameters: + - name: id + in: formData + type: integer + description: 'ID of the subnet.' + required: true + - $ref: '#/parameters/vrf_group_id_post' + - $ref: '#/parameters/vrf_group_post' + - name: name + in: formData + type: string + - name: type + type: string + in: formData + enum: + - Static + - DHCP + - Reserved + - name: type_id + in: formData + type: integer + enum: + - 1 + - 2 + - 3 + - name: service_level + in: formData + type: string + description: The service level name for the subnet. + - name: service_level_id + in: formData + type: integer + description: Service level ID for the subnet. + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/gateway_post' + - $ref: '#/parameters/range_begin_post' + - $ref: '#/parameters/range_end_post' + - $ref: '#/parameters/parent_vlan_id' + - $ref: '#/parameters/parent_subnet_id' + - $ref: '#/parameters/customer_id' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/subnets_type' + - $ref: '#/parameters/assigned' + - $ref: '#/parameters/allocated' + - $ref: '#/parameters/auto_add_ips' + - $ref: '#/parameters/category_post' + - $ref: '#/parameters/category_id_post' + - $ref: '#/parameters/parent_subnet_name' + - $ref: '#/parameters/parent_subnet_with_mask' + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + msg: + example: + - subnet successfully added/updated + - 345 + - Finance Group PCs-3.3.3.0/24 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/subnets/{subnet_id}/': + get: + operationId: getIPAM_subnet_id + summary: Get subnet by ID + description: Get method retrieves subnet with the specified subnet id + tags: + - IPAM + parameters: + - name: subnet_id + type: integer + in: path + required: true + description: Subnet Id + responses: + '200': + description: The above command returns the same output as Get All Subnets above + schema: + $ref: '#/definitions/IPAMsubnets' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteIPAMsubnets + summary: Delete subnet + description: >- + This API is used to delete the subnet with the subnet id supplied as the + required argument + tags: + - IPAM + parameters: + - name: subnet_id + in: path + description: subnet id + type: integer + required: true + - name: merge_associated + type: string + in: formData + enum: + - 'yes' + - 'no' + description: yes/no
                                                            If the subnet has a parent, merge child subnets and IPs into the parent.
                                                            IPs without a parent subnet are deleted. + responses: + '200': + description: 'The above command returns JSON structured like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/subnets/customer_id/{customer_id}/': + get: + operationId: getIPAM_customer_id + description: Get method retrieves all subnets by customer ID + summary: Get all subnets by customer + tags: + - IPAM + parameters: + - name: customer_id + type: integer + in: path + required: true + description: Customer Id + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + mask_bits: + example: 24 + name: + example: NetComm + network: + example: 10.1.2.0 + subnet_id: + example: 5 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/subnets/create_child/: + post: + operationId: postIPAM_subnets_create_child + description: >- + Create child subnet. Required parameters:
                                                            • mask_bits
                                                            • +
                                                            • parent_subnet_id OR vrf_group OR vrf_group_id
                                                            • + summary: Create child subnet + tags: + - IPAM + parameters: + - name: mask_bits + required: true + in: formData + description: e.g. 24 + type: string + - name: parent_subnet_id + in: formData + type: string + description: >- + ID of the parent subnet. Can be obtained via /api/api/1.0/subnets/ + or Tools > Export > Subnet. Required if vrf_group and vrf_group_id + are not present. + - name: vrf_group + description: >- + Name of the VRF group. Required if parent_subnet_id or vrf_group_id + are not present. + type: string + in: formData + - name: vrf_group_id + type: string + in: formData + description: >- + ID of the VRF group. Required if parent_subnet_id or vrf_group are + not present. + - $ref: '#/parameters/parent_mask_bits' + - name: ipv6 + in: formData + description: Required if creating an ipv6 subnet + type: string + - name: network + in: formData + type: string + - name: subnet_id + in: formData + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + subnet_id: + example: 14 + mask_bits: + example: '25' + network: + example: 10.1.2.128 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/vlans/: + get: + operationId: getIPAMvlans + description: Get method retrieves all VLANs + summary: Get all VLANs + tags: + - IPAM + parameters: + - $ref: '#/parameters/vlan_id' + - $ref: '#/parameters/number' + - name: name + type: string + in: query + description: filter vlan with the provided name + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + - name: description + type: string + in: query + description: vlans with provide description (case insensitive exact match) + - name: switch_ids + type: string + in: query + description: csv list of switch ids to filter vlans by + - name: switches + type: string + in: query + description: csv list of switch names to filter vlans by + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + vlans: + type: array + items: + $ref: '#/definitions/IPAMvlans' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAMvlans + description: Create VLANs + summary: Create VLANs + tags: + - IPAM + parameters: + - name: number + required: true + in: formData + description: VLAN + type: integer + - name: name + type: string + in: formData + description: >- + If left blank, name will be created as VLANxxxx, e.g. VLAN# 342 will + be named VLAN0342 + - $ref: '#/parameters/description_post' + - name: switch_ids + type: string + in: formData + description: Comma separated values for switch id's + - name: switches + type: string + in: formData + description: Comma separated values for switch names. + - name: tags + type: string + in: formData + description: Add or update tags to a VLAN + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/groups_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - vlan successfully added + - 22 + - test + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putIPAMvlans + description: Create/update specific VLAN + summary: Update VLAN + tags: + - IPAM + parameters: + - name: id + in: formData + type: integer + - $ref: '#/parameters/number_post' + - name: name + type: string + in: formData + description: >- + If left blank, name will be created as VLANxxxx, e.g. VLAN# 342 will + be named VLAN0342 + - name: switch_ids + type: string + in: formData + description: Comma separated values for switch id's + - name: switches + type: string + in: formData + description: Comma separated values for switch names. + - $ref: '#/parameters/clear_switches' + - $ref: '#/parameters/clear_switch_ids' + - name: tags + type: string + in: formData + description: Add or update tags to a VLAN + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/groups_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - vlan successfully updated'20'342 + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/vlans/{id}/': + get: + operationId: getIPAMvlans_id + summary: Get VLAN by ID + description: Get method retrieves VLAN by specific VLAN ID + tags: + - IPAM + parameters: + - name: id + in: path + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/IPAMvlans' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putIPAMvlans + description: Update VLANs by ID in URL + summary: Update VLANs + tags: + - IPAM + parameters: + - name: id + in: path + required: true + type: integer + - $ref: '#/parameters/number_post' + - name: name + type: string + in: formData + description: >- + If left blank, name will be created as VLANxxxx, e.g. VLAN# 342 will + be named VLAN0342 + - name: switch_ids + type: string + in: formData + description: Comma separated values for switch id's + - name: switches + type: string + in: formData + description: Comma separated list of switches for VLAN + - name: tags + type: string + in: formData + description: Add or update tags to a VLAN + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/groups_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - vlan successfully updated'20'342 + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteIPAMvlans + summary: Delete VLAN + description: >- + This API is used to delete the VLAN with the VLAN ID supplied as the + required argument + tags: + - IPAM + parameters: + - name: id + in: path + description: vlan id (This is Device42 ID of the VLAN) + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/vlans/smart_merge_all/: + post: + operationId: postIPAMvlans_smart_merge_all + description: Merge VLANs by number, name and switch_ids + summary: Smart merge VLANs + tags: + - IPAM + parameters: + - $ref: '#/parameters/number_post' + - name: name + type: string + in: formData + description: Only vlans with these names will be merged + - $ref: '#/parameters/switch_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - all vlans merged successfully + - '' + - '' + - false + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/ips/: + get: + operationId: getIPAM_ips + summary: Get all IPs + description: >- + Get method retrieves all IPs. (Added in v5.9.3) By default the limit is + maximum 1000 IPs per call. Use total_count and offset if over 1000 IPs + tags: + - IPAM + parameters: + - $ref: '#/parameters/offset' + - $ref: '#/parameters/limit' + - $ref: '#/parameters/subnet_id' + - $ref: '#/parameters/subnet' + - $ref: '#/parameters/device' + - $ref: '#/parameters/mac' + - $ref: '#/parameters/available' + - name: type + type: string + enum: + - static + - dhcp + - reserved + in: query + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/ip' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + - $ref: '#/parameters/ip_id' + - $ref: '#/parameters/label' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - $ref: '#/parameters/total_count' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + ips: + type: array + items: + $ref: '#/definitions/IPAMips_1' + limit: + example: 4 + offset: + example: 0 + total_count: + example: 1004 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_ips + description: Create/update IP addresses + summary: Create/update IP Address + tags: + - IPAM + parameters: + - $ref: '#/parameters/ipaddress' + - name: label + type: string + in: formData + description: >- + label for the interface (tag still works for backward compatibility) + Use the value 'd42_null' to clear up the content of the IP label. + - name: subnet + type: string + in: formData + description: >- + name of the subnet you want to add the IP to. Must be unique. The + reason it must be unique is to handle overlapping subnet ranges. The + unique name enable selection of the correct subnet. Ignored if + vrf_group_id or vrf_group is present in the arguments. Works only + when adding a new IP. For existing IPs, use VRF group parameters. + - $ref: '#/parameters/macaddress' + - name: device + type: string + in: formData + description: 'device name, can be new or existing' + - name: resource_identifier + type: string + in: formData + description: Identifier of an element (resource) to be added to the IP. + - name: type + type: string + in: formData + enum: + - static + - dhcp + - reserved + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/vrf_group_id_post' + - $ref: '#/parameters/vrf_group_post' + - name: available + in: formData + enum: + - 'yes' + - 'no' + type: string + - $ref: '#/parameters/clear_all' + - name: tags + type: string + in: formData + description: >- + Update IP address tags (note, different than the antiquated tag + endpoint. See label parameter above) + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - ip added or updated'76'192.168.1.1 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/ips/: + get: + operationId: getIPAM_ips + summary: Get all IPs (API 2.0) + description: >- + Get method retrieves all IPs. API 2.0 version. By default the limit is + maximum 1000 IPs per call. Use total_count and offset if over 1000 IPs + tags: + - IPAM + parameters: + - $ref: '#/parameters/offset' + - $ref: '#/parameters/limit' + - $ref: '#/parameters/subnet_id' + - $ref: '#/parameters/subnet' + - $ref: '#/parameters/device' + - $ref: '#/parameters/mac' + - $ref: '#/parameters/available' + - name: type + type: string + enum: + - static + - dhcp + - reserved + in: query + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/ip' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + - $ref: '#/parameters/ip_id' + - $ref: '#/parameters/label' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + - $ref: '#/parameters/total_count' + - name: is_shared + type: string + in: query + enum: + - yes + - no + description: filter by shared devices, will return all devices this IP is shared on. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + ips: + type: array + items: + - $ref: '#/definitions/IPAMips_2_device' + - $ref: '#/definitions/IPAMips_2_resource' + limit: + example: 4 + offset: + example: 0 + total_count: + example: 1004 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_ips + description: Create/update IP addresses (API 2.0) + summary: Create/update IP Address (API 2.0) + tags: + - IPAM + parameters: + - $ref: '#/parameters/ipaddress' + - name: label + type: string + in: formData + description: label for the interface + - name: subnet + type: string + in: formData + description: >- + name of the subnet you want to add the IP to. Must be unique. The + reason it must be unique is to handle overlapping subnet ranges. The + unique name enable selection of the correct subnet. Ignored if + vrf_group_id or vrf_group is present in the arguments. Works only + when adding a new IP. For existing IPs, use VRF group parameters. + - $ref: '#/parameters/macaddress' + - name: type + type: string + in: formData + enum: + - static + - dhcp + - reserved + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/vrf_group_id_post' + - $ref: '#/parameters/vrf_group_post' + - name: available + in: formData + enum: + - 'yes' + - 'no' + type: string + - $ref: '#/parameters/clear_all' + - name: tags + type: string + in: formData + description: >- + Update IP address tags + - name: devices + type: string + in: formData + description: >- + A comma-separated list of device name(s) to be added + to the IP/Device mapping list of devices sharing this IP. + - name: device_ids + type: string + in: formData + description: >- + A comma-separated list of device id(s) to be added + to the IP/Device mapping list of devices sharing this IP. + - name: remove_devices + type: string + in: formData + description: >- + A comma-separated list of device name(s) to be removed + from the IP/Device mapping list of devices sharing this IP. + A wildcard '*' can be specified to remove all device associations + from this IP. + - name: remove_device_ids + type: string + in: formData + description: >- + A comma-separated list of device ID(s) to be removed + from the IP/Device mapping list of devices sharing this IP. + A wildcard '*' can be specified to remove all device associations + from this IP. + - name: locked + type: string + enum: + - 'yes' + - 'no' + in: formData + description: >- + Lock/unlock the IP/Device mapping for the passed in device_ids or devices. If no devices are passed, this will take no action. If this value is not passed, it will default to No for new IP/Device mappings. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - ip added or updated'76'192.168.1.1 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/ips/{id}/': + delete: + operationId: deleteIPAM_ips + summary: Delete IP address + description: >- + This API is used to delete an IP Address with the IP Address ID supplied + as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + description: IP Address id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/clear_ip/': + post: + operationId: getIPAM_clearIp + summary: Clear IP address + description: >- + This API is used to clear an IP Address attached to the devices with the IP Address ID supplied + as the required argument + tags: + - IPAM + parameters: + - name: ip_id + in: formData + description: D42 ID of the IP + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + cleared: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/ips/subnet_id/{subnet_id}/': + get: + operationId: getIPAM_ips_subnet_id + description: Get method retrieves all IPs by Subnet ID + summary: Get all IPs in subnet + tags: + - IPAM + parameters: + - name: subnet_id + in: path + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + ips: + type: array + items: + type: object + properties: + available: + example: 'No' + device: + example: USNHCTVH001 + ip: + example: 10.1.10.5 + label: + example: '' + type: + example: Reserved + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/search/: + get: + operationId: getIPAM_search + description: Find a specific IP Address + summary: Find specific IP address + tags: + - IPAM + parameters: + - name: query + in: query + description: enter “ip” + type: string + required: true + - name: string + in: query + description: the IP address to search for + type: string + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + ips: + type: array + items: + type: object + properties: + available: + example: 'No' + device: + example: openstack-dev2 + device_ids: + type: array + items: + type: integer + example: [177, 176] + device_names: + type: array + items: + type: string + example: ['fed33uq01tp9211', 'xenuq01tp9211'] + ip: + example: 10.0.0.3 + label: + example: br100 + mac_address: + example: '00:30:48:63:41:b6' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/suggest_subnet/{id}/': + get: + operationId: getIPAM_suggest_subnet_Id + description: Suggest next available subnet + summary: Suggest next available subnet + tags: + - IPAM + parameters: + - name: id + in: path + description: ID of the parent subnet + type: integer + required: true + - $ref: '#/parameters/mask_bits' + - $ref: '#/parameters/subnet' + - $ref: '#/parameters/subnet_id' + - $ref: '#/parameters/vrf_group_id' + - $ref: '#/parameters/vrf_group' + - $ref: '#/parameters/name' + - $ref: '#/parameters/if_parent_assigned' + - $ref: '#/parameters/if_parent_allocated' + - $ref: '#/parameters/direct_suggestion_only' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + ip: + example: 10.16.0.0 + mask: + example: 24 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/suggest_ip/: + get: + operationId: getIPAM_suggest_ip + description: Suggest next available IP Address. Can be IPv4 or IPv6 + summary: Suggest next available IP + tags: + - IPAM + parameters: + - $ref: '#/parameters/subnet_id' + - $ref: '#/parameters/subnet' + - $ref: '#/parameters/name' + - $ref: '#/parameters/vrf_group_id' + - $ref: '#/parameters/vrf_group' + - $ref: '#/parameters/reserve_ip' + - $ref: '#/parameters/number' + - name: mask_bits + in: query + description: mask bits + type: string + - name: start_range + in: query + type: string + description: Will return an IP that is greater or equal to the value provided. If both start_range and end_range are used then this will only return IP's within this range. + - name: end_range + in: query + type: string + description: Will return an IP that is less or equal to the value provided. If both start_range and end_range are used then this will only return IP's within this range. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + ip: + example: 192.168.1.4 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/macs/: + get: + operationId: getIPAM_macs + description: Get method retrieves all MAC Addresses + summary: Get all MAC addresses + tags: + - IPAM + parameters: + - $ref: '#/parameters/mac' + - $ref: '#/parameters/device' + - name: device_id + in: query + description: Device ID + type: string + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 3 + macaddresses: + type: array + items: + $ref: '#/definitions/IPAMmacs' + offset: + example: 0 + total_count: + example: 159 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_macs + description: >- + Create/update MAC addresses. Deprecated since v12.0. Please use + /switchports/ for more detailed information. + summary: Create/update MAC address + tags: + - IPAM + parameters: + - $ref: '#/parameters/macaddress' + - $ref: '#/parameters/port_name' + - $ref: '#/parameters/override' + - $ref: '#/parameters/vlan_id_post' + - name: device + type: string + in: formData + description: name of the device + - name: port_id + type: string + in: formData + description: >- + Use this parameter or a combination of port and switch to specify + the port. + - name: port + type: string + in: formData + description: >- + Refers to the switchport name (not the interface name) - Use with + parameter switch + - name: switch + type: string + in: formData + description: Refers to the device name of the switch + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - 'mac address successfully added/updated''41''00:14:bf:aa:46:18' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/macs/{id}/': + get: + operationId: getIPAM_macs_id + description: Get method retrieves MAC address by specific MAC ID + summary: Get MAC address by ID + tags: + - IPAM + parameters: + - name: id + in: path + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + device: + type: object + properties: + asset_no: + example: '' + device_id: + example: 365 + device_url: + example: /api/api/1.0/devices/id/365/ + name: + example: nh-win2k3r2-vm- + serial_no: + example: 6417-7755-9741-3863-0032-1151-91 + type: + example: virtual + uuid: + example: 8ED6DBA8-2FC0-DF4B-B35B-12999E9AA851 + macaddress: + example: '00:15:5d:0b:9e:02' + macaddress_id: + example: 61 + port: + $ref: '#/definitions/IPAMmacs_port' + port_name: + example: Microsoft Virtual Machine Bus N + vlan_id: + example: 14 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteIPAM_macs_id + summary: Delete MAC address + description: >- + This API is used to delete the MAC address with the MAC address id + supplied as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + type: integer + description: Mac address id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/switchports/: + get: + operationId: getIPAM_switchports + description: Get method retrieves all switch ports + summary: Get all switch ports + tags: + - IPAM + parameters: + - name: switch_id + description: ID of the network device port is on + type: string + in: query + - name: include_cols + type: string + in: query + description: >- + A comma separated list of attributes of the switchport that is only returnable when explicitly specified. + Options are primary_vlan, primary_vlan_id, speed, name, mtu, port_type, and full_path_list. + - $ref: '#/parameters/switch2_id' + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 3 + offset: + example: 0 + switchports: + type: array + items: + $ref: '#/definitions/IPAMmacs_port' + total_count: + example: 349 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_switchports + description: >- + Create/update switch ports. port or hwaddress are + required + summary: Create/update switch port + tags: + - IPAM + parameters: + - $ref: '#/parameters/port_post' + - name: port_id + type: integer + in: formData + description: ID of port + - $ref: '#/parameters/hwaddress' + - $ref: '#/parameters/new_port' + - $ref: '#/parameters/switch' + - $ref: '#/parameters/description_post' + - name: type + type: string + description: Must exist in device42 (add via UI) + in: formData + - $ref: '#/parameters/vlan_id_post' + - $ref: '#/parameters/vlan' + - $ref: '#/parameters/vlan_ids' + - $ref: '#/parameters/vlans' + - $ref: '#/parameters/clear_vlan_ids' + - $ref: '#/parameters/clear_vlans' + - $ref: '#/parameters/up' + - $ref: '#/parameters/up_admin' + - $ref: '#/parameters/count' + - $ref: '#/parameters/remote_port_id' + - $ref: '#/parameters/remote_device' + - $ref: '#/parameters/remote_port' + - $ref: '#/parameters/module' + - $ref: '#/parameters/device2' + - name: device + type: string + in: formData + description: >- + name of the direcly connected device (Added in v5.8.2) (used to + connect remote port for legacy support) + - $ref: '#/parameters/label_post' + - name: tags + in: formData + type: string + description: add or update tags to a switchport + - $ref: '#/parameters/tags_remove' + - $ref: '#/parameters/mtu' + - name: name + in: formData + type: string + description: add name of port + - $ref: '#/parameters/speed' + - $ref: '#/parameters/remote_port_clear' + - $ref: '#/parameters/parent_port' + - $ref: '#/parameters/parent_port_device' + - $ref: '#/parameters/slave_ports' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - switchport successfully added/updated + - 73685 + - child0 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/switchports/{id}/': + delete: + operationId: deleteIPAM_switchports + summary: Delete switch port + description: >- + This API is used to delete the switch port with the switch port id + supplied as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + type: integer + description: Switch port id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/switch_templates/: + get: + operationId: getIPAM_switch_templates + description: Get method retrieves all switch templates + summary: Get all switch templates + tags: + - IPAM + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + switch_type: + example: Modular/Distributed (Single) + template_id: + example: 2 + template_name: + example: m3 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/switches/: + post: + operationId: postIPAM_switches + description: >- + Create or update using Switch Templates. Required parameters: +
                                                              • device OR device_id
                                                              • switch_template_id
                                                              • + summary: Add switch/switch ports w/ templates + tags: + - IPAM + parameters: + - name: device + type: string + in: formData + description: >- + Name of new or existing device. Existing device must be a network + switch. If stacked switches, must be of type 'cluster' + - name: device_id + type: string + in: formData + description: >- + ID of existing device. Existing device must be a network switch. IF + stacked switches, must be of type 'cluster' + - $ref: '#/parameters/switch_template_id' + - $ref: '#/parameters/devices' + - $ref: '#/parameters/device_ids' + - $ref: '#/parameters/assets' + - $ref: '#/parameters/asset_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - switchports successfully added '337' oxctrouter + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/tap_ports/: + get: + operationId: getIPAM_tap_ports + description: Get method retrieves all TAP ports + summary: Get TAP ports + tags: + - IPAM + parameters: + - name: id + in: query + description: id of the tap port + type: integer + - name: tap_id + in: query + type: integer + description: TAP ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + tap_ports: + type: array + items: + $ref: '#/definitions/IPAMtap_ports' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_tap_ports + description: >- + Update TAP ports. Required parameters:
                                                                • id OR + name
                                                                • + summary: Update TAP port. + tags: + - IPAM + parameters: + - name: id + in: formData + description: Tap Port ID + type: integer + - name: name + in: formData + type: string + description: Name of Tap Port + - $ref: '#/parameters/label_post' + - $ref: '#/parameters/monitor_direction' + - $ref: '#/parameters/monitor_port_1_id' + - $ref: '#/parameters/monitor_port_2_id' + - $ref: '#/parameters/mirror_port_id' + - $ref: '#/parameters/netport_id' + - $ref: '#/parameters/patch_panel_port_id' + - $ref: '#/parameters/port_capability' + - $ref: '#/parameters/port_to_from_id' + - name: port_type + type: string + description: 'Port Type name - RJ45, RJ11, Fiber SC, Fiber FC' + in: formData + - $ref: '#/parameters/port_type_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - TAP Port added/updated + - 7 + - 1-Port 1 + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/tap_module_models/: + get: + operationId: getIPAM_tap_module_models + description: Get method retrieves all TAP module models + summary: Get TAP Module Models + tags: + - IPAM + parameters: + - name: id + in: query + description: ID of Tap module model + type: integer + - name: name + in: query + type: string + description: Name of Tap module model + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + offset: + example: 0 + limit: + example: 1000 + tap_module_models: + type: array + items: + type: object + properties: + ports: + type: array + items: + type: object + properties: + id: + example: 1 + single_strand: + example: false + port_capability: + example: Device + port_to_from: + example: Next + label: + example: X + port_type: + example: Fiber LC + tap_module_model_id: + example: 1 + tap_module_model: + example: r1 + monitor_direction: + example: 'null' + port_type_id: + example: 3 + id: + example: 1 + name: + example: Module 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_tap_module_models + description: >- + Create/update TAP module models + summary: Create/update TAP Module Model + tags: + - IPAM + parameters: + - name: name + in: formData + type: string + description: Name of Tap module model + required: true + - name: id + in: formData + type: integer + description: ID of Tap module model. Used to update a Tap module model + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + type: array + items: + example: [TAP Module Model added/updated, 1, Module 1, true, true] + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/tap_module_models/{id}/': + delete: + operationId: deleteIPAM_tap_module_models + summary: Delete + description: >- + This API is used to delete the TAP module models with the ID supplied as the + required argument + tags: + - IPAM + parameters: + - name: id + in: path + description: ID of Tap module model + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '89' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/tap_module_model_ports/: + get: + operationId: getIPAM_tap_module_model_ports + description: Get method retrieves all TAP module model ports + summary: Get TAP Module Model Ports + tags: + - IPAM + parameters: + - name: id + in: query + description: ID of Tap module model port + type: integer + - name: tap_module_model_id + in: query + type: integer + description: ID of Tap module model + - name: tap_module_model + in: query + type: string + description: Name of Tap module model + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 1000 + tap_module_model_ports: + type: array + items: + type: object + properties: + port_to_from: + example: Next + port_type_id: + example: 1 + port_type: + example: RJ45 + tap_module_model: + example: Port1 + monitor_direction: + example: 2nd to 1st (Above 2 Device Capable Port) + id: + example: 1 + port_capability: + example: Device + single_strand: + example: false + tap_module_model_id: + example: 1 + label: + example: newPort + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_tap_module_model_port + description: >- + Create/update TAP module model port + summary: Create/update TAP Module Model Port + tags: + - IPAM + parameters: + - name: id + in: formData + type: integer + description: ID of Tap module model port. Required if editing an existing tap module model port + - name: tap_module_model_id + in: formData + type: integer + description: ID of Tap module model. Required if creating a new Tap module model port. + - name: port_type + in: formData + type: string + description: Port Type. 'port_type' or 'port_type_id' is required if creating a new Tap module model port. + - name: port_type_id + in: formData + type: integer + description: Port Type ID. 'port_type' or 'port_type_id' is required if creating a new Tap module model port. + - name: label + in: formData + type: string + description: Label of Tap Module model port + - name: single_strand + in: formData + type: string + enum: + - 'yes' + - 'no' + description: Is there a single strand between ports + - name: port_capability + in: formData + type: string + description: To determine if the capability of the port is with a 'Device' or 'Monitor' + enum: + - 'Device' + - 'Monitor' + - name: port_to_from + in: formData + type: string + description: To determine what position the port is in relation to another. + enum: + - 'Next' + - 'Above' + - name: monitor_direction + in: formData + type: string + description: >- + To determine the direction of the monitor. Options are as follows: + 1 = 1st to 2nd (Above 2 Device Capable Port) + 2 = 2nd to 1st (Above 2 Device Capable Port) + 3 = both ways (Above 2 Device Ports) + 4 = single strands each 1 way (Above 2 Device Ports) + enum: + - 1 + - 2 + - 3 + - 4 + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + type: array + items: + example: [TAP Module Model Port added/updated, 1, Port 1, true, true] + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/dns/records/: + get: + operationId: getIPAM_dns_records + description: Get method retrieves all DNS records. (Added in v6.5.0) + summary: Get DNS records + tags: + - IPAM + parameters: + - name: domain + type: string + description: name of the domain + in: query + - name: type + type: string + description: type of the record. e.g. AAAA + in: query + - name: content_contains + type: string + in: query + description: Returns all records where the content contains the parameter value. + - $ref: '#/parameters/name' + - $ref: '#/parameters/nameserver' + - $ref: '#/parameters/content' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + - $ref: '#/parameters/dns_zone' + - $ref: '#/parameters/ttl' + - $ref: '#/parameters/change_date' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 39 + records: + type: array + items: + $ref: '#/definitions/IPMdns_records' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_dns_records + description: Create/update DNS records + summary: Create DNS record + tags: + - IPAM + parameters: + - $ref: '#/parameters/domain' + - name: type + type: string + required: true + description: Type of record + in: formData + enum: + - SOA + - NS + - MX + - A + - AAAA + - CNAME + - PTR + - TXT + - SPF + - SRV + - CERT + - DNSKEY + - DS + - KEY + - NSEC + - RRSIG + - HINFO + - LOC + - NAPTR + - RP + - AFSDB + - SSHFP + - name: nameserver + type: string + description: >- + If you have overlapping domain names, this is required to + differentiate between the two + in: formData + - name: name + type: string + description: Record value (e.g. www) use @ for blank. + in: formData + - name: content + type: string + description: >- + Content of certificate. This parameter is used to find existing certificates to update. + If a certificate is found, you can use new_content to replace existing content. + If no certificate is found, this value will be used to create a new certificate. + Leading and trailing white spaces are ignored from this parameter. + in: formData + - name: content_raw + type: string + in: formData + description: >- + Similar to content parameter, but leading and trailing white spaces are not ignored. + This parameter is ignored if you use content parameter as well. + - name: new_content + type: string + in: formData + description: >- + This parameter is used to update the content of the certificate. + Any value provided here will always overwrite the existing content regardless of value passed in content or content_raw. + So, you can use content parameter for searching and new_content for updating. Leading and trailing white spaces are ignored from this parameter + - name: new_content_raw + type: string + in: formData + description: >- + Similar to new_content parameter, but leading and trailing white spaces are not ignored. + This parameter is ignored if you use new_content parameter as well. + - $ref: '#/parameters/prio' + - name: ttl + type: string + description: TTL Value + in: formData + - name: tags + in: formData + description: set tags for record + type: string + - name: tags_remove + type: string + description: remove tags for record + in: formData + - name: change_date + type: integer + in: formData + description: How many days it takes for DNS change to occur + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - DNS record added/updated successfully '37' oxrouter + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/dns/records/{id}/': + delete: + operationId: deleteIPAM_dns_records + summary: Delete DNS record + description: >- + This API is used to delete the DNS record with the DNS Record ID + supplied as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + description: DNS Record id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/dns_records/: + put: + operationId: putIPAMCustom_Fielddns_records + description: Create/updated custom fields for DNS records + summary: DNS record custom fields + tags: + - IPAM + parameters: + - name: id + in: formData + description: D42 ID of the DNS record. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'd42Test field' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/dns/zones/: + get: + operationId: getIPAM__dns_zones + description: Retrieves DNS zones + summary: Get DNS zones + tags: + - IPAM + parameters: + - name: cloud_infra_id + type: integer + in: query + description: Cloud infrastructure ID. + - name: domain + type: string + in: query + description: Name of dns domain. + - name: id + type: integer + in: query + description: ID of DNS Zone + - name: nameserver + type: string + in: query + description: IP Address or hostname of name server + - name: tags + type: string + in: query + description: Filter by tags + - $ref: '#/parameters/tags_and' + - name: include_cols + type: string + in: query + description: Do not return all columns just the ones specified. + - $ref: '#/parameters/custom_fields_and' + - $ref: '#/parameters/custom_fields_or' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 1000 + total_count: + example: 4 + offset: + example: 0 + dns_zones: + type: array + items: + type: object + properties: + nameserver: + example: AWS Route53 + cloud_infra_id: + example: 1 + name: + example: lab.device42.net + custom_fields: + example: [] + date_added: + example: "2021-08-04T20:17:40.103283Z" + id: + example: 3 + vrf_group_name: + example: AWS + notes: + example: "" + vendor_custom_fields: + type: object + properties: + Owner: + example: D42 + Name: + example: TestTag + date_updated: + example: "2021-08-18T19:24:32.660317Z" + tags: + example: [m2m, no] + vrf_group_id: + example: 12 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_dns_zones + description: Create/update DNS zones + summary: Create DNS zone + tags: + - IPAM + parameters: + - name: name + type: string + required: true + in: formData + description: Name of DNS zone + - name: nameserver + type: string + required: true + in: formData + description: IP Address/hostname of name server + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/vrf_group_post' + - $ref: '#/parameters/vrf_group_id_post' + - name: tags + type: string + description: Tags for grouping zone entries + in: formData + - name: tags_remove + type: string + description: remove tags from grouping zone entries + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + example: + - DNS Zone added/updated successfully + - 5 + - DNS_host + - true + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/dns/zones/{id}/': + delete: + operationId: deleteIPAM_dns_zones + summary: Delete DNS zone + description: >- + This API is used to delete the DNS zone with the DNS zone ID + supplied as the required argument + tags: + - IPAM + parameters: + - name: id + in: path + description: DNS zone id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/dns_zone/: + put: + operationId: putIPAMCustom_Fielddns_zone + description: Create/update custom fields for DNS zone + summary: DNS zone custom fields + tags: + - IPAM + parameters: + - name: id + in: formData + description: D42 ID of the DNS zone. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'd42Test field' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.1/dns/zones/: + post: + operationId: postIPAM_dns_zones + description: Create/update DNS Zones + summary: Create DNS Zone + tags: + - IPAM + parameters: + - name: name + type: string + required: true + in: formData + description: Name of DNS zone + - name: nameserver + type: string + required: true + in: formData + description: IP Address or hostname of name server + - name: new_nameserver + type: string + in: formData + description: Use to create a dns zone with new nameserver + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/vrf_group_post' + - $ref: '#/parameters/vrf_group_id_post' + - name: tags + type: string + description: Tags for grouping zone entries + in: formData + - name: tags_remove + type: string + description: remove tags from grouping zone entries + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + code: + example: 0 + msg: + example: + - DNS Zone added/updated successfully + - 5 + - DNS_host + - true + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/ipnat/: + get: + operationId: getIPAM_ipnat + description: Get method retrieves all IP NAT records + summary: Get all IP NAT records + tags: + - IPAM + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + ipnats: + type: array + items: + type: object + properties: + id: + example: 1 + ip_address_from: + example: 10.1.2.1 + ip_address_to: + example: 42.42.42.42 + name: + example: test + notes: + example: '' + two_way_relation: + example: 'False' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIPAM_ipnat + description: Create IP NAT + summary: Create IP NAT + tags: + - IPAM + parameters: + - name: name + required: true + description: Name of the NAT IP entry + in: formData + type: string + - $ref: '#/parameters/ip_address_from' + - $ref: '#/parameters/ip_address_from_end' + - $ref: '#/parameters/source_port_start' + - $ref: '#/parameters/source_port_end' + - $ref: '#/parameters/ip_address_to' + - $ref: '#/parameters/ip_address_to_end' + - $ref: '#/parameters/target_port_start' + - $ref: '#/parameters/target_port_end' + - $ref: '#/parameters/two_way_relation' + - $ref: '#/parameters/protocol' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/vrf_group_from' + - $ref: '#/parameters/vrf_group_id_from' + - $ref: '#/parameters/vrf_group_to' + - $ref: '#/parameters/vrf_group_id_to' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - IP Nat added.'1'OX Global NAT + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putIPAM_ipnat + description: Update IP NAT (Added in v7.0.0) + summary: Update IP NAT + tags: + - IPAM + parameters: + - name: id + in: formData + description: ID of the NAT entry - Required if not in the URL + type: string + required: true + - name: name + description: Name of the NAT IP entry + in: formData + type: string + - name: ip_address_from + description: The external IP address + type: string + in: formData + - name: ip_address_to + type: string + description: The internal IP address + in: formData + - $ref: '#/parameters/two_way_relation' + - $ref: '#/parameters/notes_post' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - IP Nat updated.'1'OX Global NAT + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/ipnat/{id}': + delete: + operationId: deleteIPAM_ipnat + description: This API is used to delete the IP NAT + summary: Delete IP NAT + tags: + - IPAM + parameters: + - name: id + in: path + description: Name of Id + required: true + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/appcomps/: + get: + operationId: getAppcomps + description: Get Application Components + summary: Get all + tags: + - Application Components + parameters: + - name: device_id + type: string + description: filter by id of device + in: query + - $ref: '#/parameters/device' + - name: name + type: string + in: query + description: Partial name to filter application components by + - name: resource_id + type: string + in: query + description: Filter by id of resource + - name: category_id + type: string + in: query + description: Filter by application category id + - name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example: custs_affected, depends_on, depends_on_ids, dependent, dependent_ids, custom_fields, depend_device_id, device, device_preferred_alias, services, category_id, category, tags + - name: category + type: string + in: query + description: Filter by application category + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + appcomps: + type: array + items: + properties: + appcomp_id: + example: 33 + appcomp_url: + example: /api/api/1.0/appcomps/33/ + name: + example: Device42 Production + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAppcomps + description: Create/Update application components + summary: Create/update + tags: + - Application Components + parameters: + - name: name + required: true + type: string + in: formData + description: unique name for component + - name: device + required: false + type: string + in: formData + description: device (name) that this component is dependent on + - $ref: '#/parameters/group_owner' + - $ref: '#/parameters/what' + - $ref: '#/parameters/depends_on' + - $ref: '#/parameters/dependents' + - $ref: '#/parameters/groups_affected' + - $ref: '#/parameters/device_reason' + - $ref: '#/parameters/depends_on_reasons' + - $ref: '#/parameters/appcomp_category' + - $ref: '#/parameters/appcomp_categoryid' + - name: tags_remove + type: string + in: formData + description: Remove tags from application component + - name: customer + type: string + in: formData + description: Customer name + - name: notes + type: string + in: formData + description: Any additional notes + - name: service_detail_ids + type: string + in: formData + description: CSV list of Service Instances in the application component + - name: software_detail_ids + type: string + in: formData + description: CSV list of Software In Use ids in the application component + - name: tags + type: string + in: formData + description: Comma-separated list of tags for the app component. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Application Component added or updated.'35'Corp Wiki + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/appcomps/{appcomp_id}/': + get: + operationId: getAppcompsAppcomp_id + description: Get application components by ID + summary: Get specific + tags: + - Application Components + parameters: + - name: appcomp_id + in: path + format: uuid + description: Appcomp id + type: string + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + appcomp_id: + example: 15 + custom_fields: + type: array + items: + $ref: '#/definitions/Appcomps_Custom_fields' + dependent: + example: >- + mobileapp.com - prodserver-001, retailsite.com - + prodserver-031 + depends_on: + example: Apache Tomcat Server + device: + example: USNHCTVMWPROD + group_owner: + example: US Infrastructure Operations + groups_affected: + example: '' + name: + example: VMWare Farm + notes: + example: '' + what: + example: '' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteAppcomps + summary: Delete + description: >- + This API is used to delete the application component with the + application component id supplied as the required argument + tags: + - Application Components + parameters: + - name: appcomp_id + in: path + description: IP Address id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/appcomp/: + put: + operationId: putCustom_FieldAppcomp + description: >- + Custom fields for application components. + Required parameters:
                                                                  • id OR name
                                                                  • key
                                                                  • + summary: Custom fields + tags: + - Application Components + parameters: + - name: id + description: ID of application component + type: string + in: formData + - name: name + description: name of application component + in: formData + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/show_on_chart' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated '35' Corp Wiki + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/appcomp_templates/': + get: + operationId: getAppCompTemplate + summary: Get templates + description: Get all application component templates + tags: + - Application Components + parameters: + - name: id + type: string + in: formData + description: Filter by Application component template ID. + - name: name + type: string + in: formData + description: Filter by Application component template name. + - name: enabled + type: string + in: formData + enum: + - "yes" + - "no" + description: Filter by the status application component template - yes/no + - name: rule_type + type: string + in: formData + enum: + - "Windows" + - "*Nix" + description: Filter by Target environment of the template.
                                                                    Windows | *Nix + - name: rule_type_id + type: number + in: formData + enum: + - 0 + - 1 + description: Filter by rule type id + - name: service_id + type: string + in: formData + description: Filter by ID of the associated service. + - name: service_listening_port + type: string + in: formData + description: Filter the services listening on this port. + - name: app_name_pattern + type: string + in: formData + description: Filter by name pattern. Pattern can contain the following variables:
                                                                    %(device_name)s (this variable is required), %(discovered_listening_ip)s, %(listening_port)s, %(app_template_name)s. When match_type is Regular Expression, up to 4 more variables are available. %(regex_name)s represents full string match, %(regex_name1)s, %(regex_name2)s, %(regex_name3)s - represent first three group matches (if available). + - name: related_services_listening_port + type: string + in: formData + description: Filter Related services listening on this port. + - name: config_file_location + type: string + in: formData + description: Filter by config file location + - name: traverse_subdirectories + type: string + in: formData + enum: + - "yes" + - "no" + description: Options yes/no + - name: filename_filter + type: string + in: formData + description: Filter by File name. + - name: application_category_id + type: string + in: formData + description: Filter by Application component category id. + - name: application_category_name + type: string + in: formData + enum: + - "Application Layer" + - "Database" + - "Load Balancer" + - "Other" + - "Web Server" + description: Filter by Application component category name. + - name: what + type: string + in: formData + description: What is impacted by the Application? + - name: customer_id + type: string + in: formData + description: Filter by ID of the responsible customer or department for the application. + - name: customer + type: string + in: formData + description: Filter by Name of the responsible customer or department for the application. + - name: last_changed_lt + type: string + in: query + description: Filter by last changed date less than (YYYY-MM-DD) + - name: last_changed_gt + type: string + in: query + description: Filter by last changed date greater than (YYYY-MM-DD) + - name: service_cmd_arg_match + type: string + in: formData + description: Filter service instances on Path Args values with provided value. Value can either be text or regular expression, based on match_type value. + - name: tags + type: string + in: formData + description: Filter by tags + - name: match_type + type: string + in: formData + enum: + - "Text" + - "Regular Expression" + description: Filter by type of match of command argument text.
                                                                    Text | Regular Expression + - name: match_type_id + type: number + in: formData + enum: + - 0 + - 1 + description: Filter by match type id.
                                                                    0 for Text | 1 for Regular Expression + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + app_component_templates: + type: array + items: + properties: + traverse_subdirectories: + example: yes + config_file_location: + example: /opt/atlassian/jira/conf/ + id: + example: 13 + application_category_id: + example: 2 + what: + example: Services + rule_type_id: + example: 1 + rule_type: + example: Windows + application_category_name: + example: Application Layer + associated_software_id: + example: 53, + related_services_ids: + example: 55, + service_listening_port: + example: 8080 + app_name_pattern: + example: "%(device_name)s - %(app_template_name)s" + customer: + example: ABC LLC + name: + example: App-Comp-Template-T2 + enabled: + example: yes + service_cmd_arg_match: + example: service + match_type: + example: Text + match_type_id: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAppCompTemplate + summary: Create/update template + description: Create/update an application component template + tags: + - Application Components + parameters: + - name: id + type: integer + in: formData + description: Application component template ID. Leave blank and provide a name to create a new template.
                                                                    Use ID to update an existing template. + - name: name + type: string + in: formData + required: true + description: Application component template name. + - name: enabled + type: string + in: formData + enum: + - "yes" + - "no" + description: Enable the application component template - yes/no. + - name: rule_type + type: string + in: formData + enum: + - "Windows" + - "*Nix" + description: Target environment for the template.
                                                                    Windows | *Nix
                                                                    Provide either rule_type or rule_type_id. + - name: rule_type_id + type: number + in: formData + enum: + - 0 + - 1 + description: Target environment for the template.
                                                                    0 - Windows | 1 - *Nix
                                                                    Provide either rule_type or rule_type_id. + - name: service_id + type: integer + in: formData + description: ID of the associated service used by the template to create the app component. Provide either service_id or service. + - name: associated_software_id + type: integer + in: formData + description: ID of the associated software used by the template to create the app component. + - name: service + type: string + in: formData + description: Name of the associated service used by the template to create the app component. Provide either service_id or service. + - name: service_listening_port + type: string + in: formData + description: Find only services listening on this port. + - name: app_name_pattern + type: string + in: formData + description: Pattern can contain the following variables:
                                                                    %(device_name)s (this variable is required), %(discovered_listening_ip)s, %(listening_port)s, %(app_template_name)s, %(regex_name)s, %(regex_name1)s, %(regex_name2)s, %(regex_name3)s. Regex variables will only be available if match_type is Regular Expression. regex_name will represent full match, regex_name1, regex_name2, regex_name3 will represent first 3 group matches (if available). + - name: related_services_listening_port + type: string + in: formData + description: Related services listening on this port. + - name: config_file_location + type: string + in: formData + description: Location to start search for configuration files based on pattern. + - name: traverse_subdirectories + type: string + in: formData + enum: + - "yes" + - "no" + description: Option to determine if discovery should traverse subdirectories when searching for configuration files. + - name: filename_filter + type: string + in: formData + description: File name pattern to use while searching for configuration files. + - name: application_category + type: string + in: formData + enum: + - "Application Layer" + - "Database" + - "Load Balancer" + - "Other" + - "Web Server" + description: Application component category. Provide either application_category or application_category_id. + - name: application_category_id + type: number + in: formData + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + description: Application component category id.
                                                                    1 - Database | 2 - Application Layer | 3 - Web Server | 4 - Load Balancer | 5 - Other
                                                                    Provide either application_category or application_category_id. + - name: customer_id + type: integer + in: formData + description: ID of the customer or department responsible for the application. Provide either customer_id or customer. + - name: customer + type: string + in: formData + description: Name of the customer or department responsible for the application. Provide either customer_id or customer. + - name: what + type: string + in: formData + description: What is impacted by the application? + - name: tags + type: string + in: formData + description: Comma-separated list of tags for the application template. + - name: tags_remove + type: string + in: formData + description: Comma-separated list of tags to remove from the application template. + - name: related_services_ids + type: string + in: formData + description: Comma-separated list of IDs of related services. + - name: related_services_ids_remove + type: string + in: formData + description: Comma-separated list of related service IDs to remove. + - name: related_software_ids + type: string + in: formData + description: Comma-separated list of IDs of related software. + - name: related_software_ids_remove + type: string + in: formData + description: Comma-separated list of related software IDs to remove. + - name: service_cmd_arg_match + type: string + in: formData + description: You can either use text matching or regular expression matching (regex). For text matching, only services containing the provided Command Argument text in path args will be matched. For regex matching, provided expression will be applied to path args. Only Python Regular Expression syntax is supported. When using regex, up to 4 new name variables will be available. regex_name will represent full match, regex_name1, regex_name2, regex_name3 will represent first 3 group matches (if available). Type of search will depend on match_type attribute. + - name: match_type + type: string + in: formData + enum: + - "Text" + - "Regular Expression" + description: Type of match of command argument text.
                                                                    Text | Regular Expression
                                                                    Provide either match_type or match_type_id. + - name: match_type_id + type: number + in: formData + enum: + - 0 + - 1 + description: ID of type of match of command argument text.
                                                                    0 - Text | 1 - Regular Expression
                                                                    Provide either match_type or match_type_id. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Application Component Template added or updated. App-Comp_Template-3 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/appcomp_templates/{id}/': + delete: + operationId: deleteAppCompTemplate + summary: Delete template + description: >- + This API is used to delete an application component template with the + template ID supplied as the required argument + tags: + - Application Components + parameters: + - name: id + in: path + description: D42 ID of the application component template. + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '4' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/app_group_calc_template/: + get: + operationId: getappgroupcalctemplate + description: This call will get all Application Group Calculation Templates + summary: Get all AG Calculation Templates + tags: + - Application Groups + parameters: + - name: name + type: string + in: query + description: Full or partial name of Application Group Calculation Templates + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 1 + limit: + example: 1000 + templates: + type: array + items: + $ref: '#/definitions/AppGroupCalcTemplateGet' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postappgroupcalctemplate + description: This call creates or updates an Application Group Calculation Templates + summary: Create/update Calculation Template + tags: + - Application Groups + parameters: + - in: body + name: body + description: Application Group Calculation Templates to create + required: true + schema: + $ref: '#/definitions/AppGroupCalcTemplate' + + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Application Group Calculation Logic Template added/updated + - 11 + - AG Template + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/app_group_calc_template/{id}/: + get: + operationId: getappgroupcalctemplate_by_id + description: This call will get a Application Group Calculation Templates by ID + summary: Get a single Calculation Template + tags: + - Application Groups + parameters: + - name: id + type: integer + in: path + description: Application Group Calculation Template id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/AppGroupCalcTemplateGet' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteappgroupcalctemplate_by_id + summary: Delete Calculation Template + description: >- + This API is used to delete the Application Group Calculation Template with the template id supplied as + the required argument + tags: + - Application Groups + parameters: + - name: id + type: integer + in: path + description: Application Group Calculation Template id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/application_group/{id}/items: + get: + operationId: getappgroupitems + description: This call will get the items associated with the provided Application Group ID + summary: Get Application Group items + tags: + - Application Groups + parameters: + - name: id + type: integer + in: path + required: true + description: ID of the Application Group + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: object + properties: + devices: + type: object + $ref: '#/definitions/groupItemDevice' + resources: + type: object + $ref: '#/definitions/groupItemResource' + appcomponents: + type: object + $ref: '#/definitions/groupItemappcomponents' + services: + type: object + $ref: '#/definitions/groupItemServices' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/app_group_calc_rule/: + get: + operationId: getappgroupcalcrule + description: This call will get all Application Group Calculation Rules + summary: Get all Application Group Calculation Rules + tags: + - Application Groups + parameters: + - name: name + type: string + in: query + description: Full or partial name of Application Group Calculation Rules + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 1 + limit: + example: 1000 + rules: + type: array + items: + $ref: '#/definitions/AppGroupCalcRuleGet' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postappgroupcalcrule + description: This call creates or updates an Application Group Calculation Rule + summary: Create/update Application Goup Calculation Rule + tags: + - Application Groups + parameters: + - in: body + name: body + description: Application Group Calculation Rule to create/update + required: true + schema: + $ref: '#/definitions/AppGroupCalcRulePost' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Application Group Calculation Rule added/updated + - 11 + - AG Rule + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/app_group_calc_rule/{id}/: + get: + operationId: getappgroupcalcrule_by_id + description: This call will get a Application Group Calculation Rule by ID + summary: Get a single Application Group Calculation Rule + tags: + - Application Groups + parameters: + - name: id + type: integer + in: path + description: Application Group Calculation Rule id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/AppGroupCalcRuleGet' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteappgroupcalcrule_by_id + summary: Delete Application Group Calculation Rule + description: >- + This API is used to delete the Application Group Calculation Rule with the rule id supplied as + the required argument + tags: + - Application Groups + parameters: + - name: id + type: integer + in: path + description: Application Group Calculation Rule id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/businessapps/: + get: + operationId: getbusinessApps + description: This call will get all business services + summary: Get all + tags: + - Business Services + parameters: + - name: vendor_id + type: integer + in: query + description: ID of Vendor + - name: name + type: string + in: query + description: Name of Business Service + - name: device_id + type: integer + in: query + description: ID of Device + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 9 + limit: + example: 1000 + businessapps: + type: array + items: + properties: + service_level_id: + example: 'null' + technical_app_owner: + example: 'null' + custom_fields: + example: '[]' + app_type: + example: Commercial Off the Shelf (COTS) + businessapp_id: + example: '16' + description: + example: '' + is_contains_pii: + example: 'false' + criticality: + example: 'null' + tags: + example: [] + vendor_id: + example: 1 + name: + example: Online Store + app_type_id: + example: 2 + dr_time_goal: + example: 'null' + is_internet_accessible: + example: 'y' + service_level: + example: '2' + business_app_owner: + example: 'Sales' + business_app_owner_id: + example: '3' + groups: + example: '' + cust_owner_id: + example: 'null' + migration_group: + example: 'ATSC' + created: + example: '2022-01-19T15:34:55.055Z' + cust_owner: + example: 'null' + migration_group_id: + example: 'null' + dr_point_goal: + example: 'null' + last_changed: + example: '2020-04-30T14:33:27.177Z' + notes: + example: 'null' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postbusinessApps + description: This call creates or updates a business service + summary: Create/update + tags: + - Business Services + parameters: + - name: id + type: integer + in: formData + description: ID of an existing Business Service. Do not enter an ID if you are creating a new application. + - name: vendor_id + type: integer + in: formData + description: ID of Vendor + - name: name + type: string + in: formData + description: Name of the Business Service. REQUIRED to create a new application. + - name: app_type + type: string + in: formData + description: Business Service type. Number or string from the following list.
                                                                    1. Commercial Off the Shelf (COTS)
                                                                    2. COTS with Customization
                                                                    3. Custom + - name: technical_app_owner + type: string + in: formData + description: End user designated as the technical app owner. Use the value 'd42null' to clear up the content of the field. + - name: business_app_owner + type: string + in: formData + description: End user designated as the business service owner. Use the value 'd42null' to clear up the content of the field. + - name: description + type: string + in: formData + description: Description of Business service. Use the value 'd42null' to clear up the content of the field. + - name: app_type_id + type: integer + in: formData + description: ID of the application type + - name: business_app_owner_id + type: integer + in: formData + description: Business service owner ID + - name: technical_app_owner_id + type: integer + in: formData + description: Technical application owner ID + - name: cust_owner_id + type: integer + in: formData + description: Customer owner ID + - name: service_level_id + type: integer + in: formData + description: D42 ID of service level name. + - name: criticality_id + type: integer + in: formData + description: Criticality ID + - name: migration_group_id + type: integer + in: formData + description: ID of migration group + - name: tags + type: string + in: formData + description: Comma-separated list of tags for the Business service. + - name: tags_remove + type: string + in: formData + description: Remove tags from Business service + - name: dr_point_goal + type: string + in: formData + description: Disaster Recovery (DR) recovery point objective.
                                                                    Please use the format 1w 2d 3h 4m 5s to denote 1 week, 2 days, 3 hours, 4 minutes, and 5 seconds. Individual terms are optional, and numbers must be integers. Use the value 'd42null' to clear up the content of the field. + - name: dr_time_goal + type: string + in: formData + description: Disaster Recovery (DR) recovery time objective.
                                                                    Please use the format 1w 2d 3h 4m 5s to denote 1 week, 2 days, 3 hours, 4 minutes, and 5 seconds. Individual terms are optional, and numbers must be integers. Use the value 'd42null' to clear up the content of the field. + - name: cust_owner + type: string + in: formData + description: Customer owner name. Use the value 'd42null' to clear up the content of the field. + - name: service_level + type: string + in: formData + description: Service Level name. Use the value 'd42null' to clear up the content of the field. + - name: is_contains_pii + type: string + in: formData + enum: + - 'True' + - 'False' + description: Whether the application contains Personally Identifiable Information. + - name: is_internet_accessible + type: string + in: formData + enum: + - 'True' + - 'False' + description: Whether the application has internet access. + - name: migration_group + type: string + in: formData + description: Business service Migration Group name. Use the value 'd42null' to clear up the content of the field. + - name: criticality + type: string + in: formData + description: Business service Critically name. Use the value 'd42null' to clear up the content of the field. + - name: notes + type: string + in: formData + description: Any additional notes for the application. Use the value 'd42null' to clear up the content of the field. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - business_app added/updated + - 11 + - Sales Lead Gen + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/businessapps/{id}/: + get: + operationId: getbusinessApps_id + description: This call will get a business service by ID + summary: Get specific + tags: + - Business Services + parameters: + - name: id + in: path + description: Business Service ID. + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 9 + limit: + example: 1000 + businessapps: + type: array + items: + properties: + technical_app_owner: + example: 'null' + custom_fields: + example: '[]' + app_type: + example: Commercial Off the Shelf (COTS) + is_contains_pii: + example: 'null' + name: + example: Online Store + dr_time_goal: + example: 'null' + is_internet_accessible: + example: 'y' + service_level: + example: '2' + business_app_owner: + example: 'Sales' + migration_group: + example: 'ATSC' + last_changed: + example: '2020-04-30T14:33:27.177Z' + notes: + example: 'null' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deletebusinessApps + summary: Delete + description: >- + This API is used to delete the business service with the businessapp id supplied as + the required argument + tags: + - Business Services + parameters: + - name: id + type: integer + in: path + description: businessapp id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/businessapp/: + put: + operationId: putCustom_FieldbusinessApp + description: >- + Create or update custom fields for a Business Service. Required parameters -
                                                                    • id OR name
                                                                    • key
                                                                    • + summary: Custom fields + tags: + - Business Services + parameters: + - name: id + description: ID of the Business Service + type: string + in: formData + - name: name + description: Name of the Business Service + in: formData + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/show_on_chart' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'App update target' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/businessapps/id/{businessservice-id}/attachments/': + get: + operationId: getAllBusinessAppAttachments + summary: Get attachments by business service ID + description: >- + Retrieve all file attachments for a specific business service using business service id.
                                                                      + Returns a zip file of all the attachments associated with the business service with the specified ID in URL.
                                                                      + Note that this implementation of Swagger does not support file download - use another mechanism such as CURL.
                                                                      +
                                                                      cURL example:
                                                                      + curl -X GET \
                                                                      + URL/api/1.0/businessapps/id/3/attachments \
                                                                      + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI=' + tags: + - Business Services + parameters: + - name: businessservice-id + type: integer + in: formData + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + file_download: + example: attachments_archive.6646-2020-01-24.zip + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: uploadBusinessappAttachments + summary: Upload a business service attachment + description: >- + Uploads a file attachment for a specific business service using business service id and a selected file.
                                                                      + Note that this implementation of Swagger does not support file upload - use another mechanism such as CURL.
                                                                      +
                                                                      cURL example:
                                                                      + curl -X POST \
                                                                      + URL/api/1.0/businessapps/id/3/attachments/17 \
                                                                      + -H 'Accept-Encoding: gzip, deflate' \
                                                                      + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI='
                                                                      + -H 'Content-Type: multipart/form-data; boundary=--------------------------216746989913126372322897' \
                                                                      + -H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
                                                                      + -F 'name=@/C:/path/to/attachment/testpdf.pdf' \
                                                                      + -F 'file_attachment_details={"testpdf.pdf":"hello world! I'\''m a pdf description!"}' + tags: + - Business Services + parameters: + - name: businessservice-id + type: integer + in: formData + required: true + - name: name + type: string + in: formData + required: True + description: >- + The name of the file attachment you select for upload.
                                                                      + This filename is also required for the file_attachment_details parameter. + - name: file_attachment_details + type: string + in: formData + required: true + description: >- + The name of the file to upload and a description.
                                                                      Example: {"TEST_Attachment-3.txt": "test attachment-3"} + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + testpdf.pdf: + type: object + properties: + success: + type: boolean + example: true + attachment_id: + type: integer + example: 17 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/businessapps/id/{businessservice-id}/attachments/{attachment_id}/': + get: + operationId: getaBusinessAppAttachment + summary: Get a business service attachment + description: >- + Retrieves a specific file attachment for a specific business service using business service id and attachment id.
                                                                      + Note that this implementation of Swagger does not support file download - use another mechanism such as CURL.
                                                                      +
                                                                      cURL example:
                                                                      + curl -X GET \
                                                                      + URL/api/1.0/businessapps/id/3/attachments/17 \
                                                                      + -H 'Authorization: Basic YWRtaW46YWRtIW5kNDI=' + tags: + - Business Services + parameters: + - name: businessservice-id + type: integer + in: formData + required: true + - name: attachment_id + type: integer + in: formData + required: true + description: ID of the attachment to get. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + file_download: + example: attachment_1.txt + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/businessapps/id/{businessservice-id}/attachments/{id}/': + delete: + operationId: deleteBusinessAppAttachment + summary: Delete business service attachment + description: Delete a file attachment for a specific business service using business service ID and the attachment ID + tags: + - Business Services + parameters: + - name: businessservice-id + type: integer + in: formData + required: true + - name: id + type: integer + in: path + required: true + description: ID of the attachment to delete. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + attachment_id: + example: 34 + success: + example: 'true' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/businessapps/elements/{uuid}/: + get: + operationId: getbusinessAppsElements_uuid + description: This call will get a business service element + summary: Get an element + tags: + - Business Services + parameters: + - name: uuid + type: string + in: path + required: true + description: The UUID of the single element you are looking for. + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/businessapps_element' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: businessAppsElements_uuid + description: This call will delete a business service element + summary: Delete an element + tags: + - Business Services + parameters: + - name: uuid + type: string + in: path + required: true + description: The UUID of the single element to delete. + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/businessapps_element_delete' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/businessapps/elements/: + post: + operationId: postbusinessAppsElements + description: >- + Add elements (devices, resources, or appplication components) to a business service. +

                                                                      To add a single element (device) to a Business Service, use the
                                                                      + device_id OR device_name parameters. ID will be used before the name. +

                                                                      To add multiple elements (devices) to a Business Service, use the
                                                                      + device_ids OR device_names parameters. ID will be used before the name +

                                                                      To add a single element (resource) to a Business Service, use the
                                                                      + resource_id, resource_name, OR resource_identifier parameters. ID will be used before the name and identifier. +

                                                                      To add multiple elements (resources) to a Business Service, use the
                                                                      + resource_ids OR resource_names parameters. ID will be used before the name +

                                                                      To add a single element (application component) to a Business Service, use the
                                                                      + appcomp_id OR appcomp_name parameters. ID will be used before the name. +

                                                                      To add multiple elements (application component) to a Business Service, use the
                                                                      + appcomp_ids OR appcomp_names parameters. ID will be used before the name +

                                                                      To add a single element (business service) to a Business Service, use the
                                                                      + associated_businessservice_id OR associated_businessservice_name parameters. ID will be used before the name. +

                                                                      To add multiple elements (business service) to a Business Service, use the
                                                                      + associated_businessservice_ids OR associated_businessservice_names parameters. ID will be used before the name + summary: Add element + tags: + - Business Services + parameters: + - name: businessapp_id + required: true + type: integer + in: formData + description: The ID of an existing Business Service to add elements (devices) to. + - name: device_id + type: integer + in: formData + description: ID of an element (device) to add to the business service. + - name: device_name + type: string + in: formData + description: Name of an element (device) to add to the business service. + - name: device_ids + type: string + in: formData + description: CSV list of the IDs of elements (devices) to add to the business service. + - name: device_names + type: string + in: formData + description: CSV list of names of the elements (devices) to add to the business service. + - name: resource_id + type: integer + in: formData + description: ID of an element (resource) to add to the business service. + - name: resource_name + type: string + in: formData + description: Name of an element (resource) to add to the business service. + - name: resource_identifier + type: string + in: formData + description: Identifier of an element (resource) to add to the business service. + - name: resource_ids + type: string + in: formData + description: CSV list of the IDs of elements (resources) to add to the business service. + - name: resource_names + type: string + in: formData + description: CSV list of names of the elements (resources) to add to the business service. + - name: resource_identifiers + type: string + in: formData + description: CSV list of identifiers of the elements (resources) to add to the business service. + - name: appcomp_id + type: integer + in: formData + description: ID of an element (application component) to add to the business service. + - name: appcomp_name + type: string + in: formData + description: Name of an element (application component) to add to the business service. + - name: appcomp_ids + type: string + in: formData + description: CSV list of the IDs of elements (application components) to add to the business service. + - name: appcomp_names + type: string + in: formData + description: CSV list of names of the elements (application components) to add to the business service. + - name: associated_businessservice_id + type: integer + in: formData + description: ID of an element (business service) to add to the business service. + - name: associated_businessservice_name + type: string + in: formData + description: Name of an element (business service) to add to the business service. + - name: associated_businessservice_ids + type: string + in: formData + description: CSV list of the IDs of elements (business services) to add to the business service. + - name: associated_businessservice_names + type: string + in: formData + description: CSV list of names of the elements (business services) to add to the business service. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - element(s) added to business_app CRM App + - 11 + - 1234, 5678 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deletebusinessAppsElements + summary: Delete element + description: >- + This API is used to delete the business service element + tags: + - Business Services + parameters: + - name: businessapp_id + type: integer + description: business service id + in: query + required: true + - name: device_id + type: integer + description: device id of business element + in: query + - name: resource_id + type: integer + description: resource id of business element + in: query + - name: appcomp_id + type: integer + description: appcomp id of business element + in: query + - name: associated_businessservice_id + type: integer + description: associated business service id of business element + in: query + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + uuid: + example: '03b30f77-1638-4d34-911e-5c63da8de9d9' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + get: + operationId: getbusinessAppsElements + description: This call will get business service elements + summary: Get elements + tags: + - Business Services + parameters: + - name: name + type: string + in: query + description: The name (case-insensitive) of the element to seach for. + - name: businessapp_id + type: integer + in: query + description: The ID of the business service the element belongs to. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + businessapp_elements: + type: array + items: + properties: + businessapp_id: + example: 2 + businessapp_element_uuid: + example: '344316e2-409d-4bbf-b994-f4e3f152947a' + device_id: + example: 5 + name: + example: 'test device' + orphaned: + example: 'no' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/businessapps/connections/{uuid}/: + get: + operationId: getbusinessAppsConnections_uuid + description: This call will get a business service connection + summary: Get a connection + tags: + - Business Services + parameters: + - name: uuid + type: string + in: path + required: true + description: The UUID of the single connection you are looking for. + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/businessapps_connection' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/businessapps/connections/: + get: + operationId: getbusinessAppsConnections + description: This call will get business service connections + summary: Get connections + tags: + - Business Services + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + businessapp_connections: + type: array + items: + properties: + businessapp_connection_uuid: + example: '344316e2-409d-4bbf-b994-f4e3f152947a' + from_businessapp_element_uuid: + example: '344316e2-409d-4bbf-b994-f4e3f152947b' + to_businessapp_element_uuid: + example: '344316e2-409d-4bbf-b994-f4e3f152947c' + type: + example: 'test' + labels: + example: 'test' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/services/: + get: + operationId: getServices + description: Get services + summary: Get + tags: + - Services + parameters: + - name: service_id + in: query + description: D42 ID of the service + type: string + required: true + - $ref: '#/parameters/name' + - $ref: '#/parameters/category' + - $ref: '#/parameters/vendor' + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + services: + type: array + items: + $ref: '#/definitions/Services' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postServices + description: Create/update services + summary: Create/update + tags: + - Services + parameters: + - $ref: '#/parameters/name' + - $ref: '#/parameters/display_name' + - $ref: '#/parameters/category' + - $ref: '#/parameters/service_type' + - $ref: '#/parameters/vendor_post' + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/notes' + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service added/updated + - 2 + - DisplayLinkManager + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/services/{id}/': + delete: + operationId: deleteServices + summary: Delete + description: >- + This API is used to delete the service with the service id supplied as + the required argument. Note: You will only be able to delete the service + if the supplied username has the correct permissions + tags: + - Services + parameters: + - name: id + in: path + format: uuid + description: service id + type: string + required: true + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: 114 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/service_details/: + get: + operationId: getService_details + description: Get service details + summary: Get service details + tags: + - Services + parameters: + - $ref: '#/parameters/device_id' + - $ref: '#/parameters/device' + - $ref: '#/parameters/service_id' + - $ref: '#/parameters/service_detail_id' + - $ref: '#/parameters/user_id' + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: '543' + service_details: + type: array + items: + $ref: '#/definitions/Service_details' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postService_details + description: Create/update service details + summary: Create/update service details + tags: + - Services + parameters: + - $ref: '#/parameters/service_name' + - $ref: '#/parameters/service_display_name' + - $ref: '#/parameters/vendor_post' + - $ref: '#/parameters/description_post' + - $ref: '#/parameters/service_type' + - $ref: '#/parameters/category' + - $ref: '#/parameters/startmode' + - $ref: '#/parameters/state' + - $ref: '#/parameters/device' + - $ref: '#/parameters/user' + - $ref: '#/parameters/appcomp' + - $ref: '#/parameters/install_date' + - $ref: '#/parameters/status' + - $ref: '#/parameters/at_logon' + - $ref: '#/parameters/at_startup' + - $ref: '#/parameters/event_based' + - $ref: '#/parameters/idle_time' + - $ref: '#/parameters/other_trigger' + - $ref: '#/parameters/other_type' + - $ref: '#/parameters/minutes' + - $ref: '#/parameters/hours' + - $ref: '#/parameters/days' + - $ref: '#/parameters/weeks' + - $ref: '#/parameters/day_of_month' + - $ref: '#/parameters/month_of_year' + - $ref: '#/parameters/day_of_week' + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service_detail added/updated + - 1 + - Reddit Tracker + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/service_detail/{id}/': + delete: + operationId: deleteService_details + summary: Delete service details + description: >- + This API is used to delete the service details with the service details id + supplied as the required argument. Note: You will only be able to delete + the service if the supplied username has the correct permissions + tags: + - Services + parameters: + - name: id + in: path + format: uuid + description: service detail id + type: string + required: true + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/service_ports/: + get: + operationId: getService_ports + description: Get service ports + summary: Get service ports + tags: + - Services + parameters: + - name: id + in: query + description: filter by id of the service port + type: string + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: '565' + service_ports: + type: array + items: + $ref: '#/definitions/Service_ports' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postService_ports + description: Create/update service ports + summary: Create/update service port + tags: + - Services + parameters: + - $ref: '#/parameters/port' + - $ref: '#/parameters/device_name' + - $ref: '#/parameters/listening_ip' + - $ref: '#/parameters/description' + - $ref: '#/parameters/discovered_service' + - $ref: '#/parameters/discovered_process' + - $ref: '#/parameters/mapped_service' + - $ref: '#/parameters/remote_ips' + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service port added/updated + - 1 + - '0.0.0.0:80' + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/service_ports/{id}/': + delete: + operationId: deleteService_ports + summary: Delete service port + description: >- + This API is used to delete the service port with the service port id + supplied as the required argument. Note: You will only be able to delete + the service port if the supplied username has the correct permissions + tags: + - Services + parameters: + - name: id + in: path + format: uuid + description: service port id + type: string + required: true + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/listener_connection_stats/: + get: + operationId: getListener_connection_stats + description: Get listener connection statistics + summary: Get listener connection statistics + tags: + - Services + parameters: + - $ref: '#/parameters/listener_device_name' + - $ref: '#/parameters/port' + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + client_ips: + example: 76.127.207.96 + client_stats: + type: array + items: + $ref: '#/definitions/Client_stats' + description: + example: '' + id: + example: 2207 + listener_device_id: + example: 2440 + listener_device_name: + example: prod-retail-webfrontend + listener_service: + example: sshd + listening_ip: + example: 0.0.0.0 + port: + example: 22 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/network_shares/: + get: + operationId: getNetwork_shares + description: Get network shares + summary: Get network shares + tags: + - Services + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + networkshare_details: + type: array + items: + $ref: '#/definitions/Networkshare_details' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/listener_connection_stats/: + get: + operationId: getListenerConnectionStats + summary: Get listener connection statistics + description: Retrieve all listener connection statistics + tags: + - Services + parameters: + - name: port + in: query + description: child is optional assuming you have a parent created (see examples) + type: string + - name: device_name + in: query + description: the name of the device + type: string + - $ref: '#/parameters/listener_device_name' + - $ref: '#/parameters/discovered_service' + - $ref: '#/parameters/mapped_service' + - name: service_instance_id + in: query + description: filter by id of the service instance in use + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Listener_connection_stats' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/listener_connection_stats/{id}': + get: + operationId: getListenerConnectionStatsByID + summary: Get listener connection statistics by ID + description: Retrieve listener connection statistics by service port ID + tags: + - Services + parameters: + - name: id + in: path + description: service port id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Listener_connection_stats_id' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/scheduled_tasks/: + get: + operationId: getScheduledTasks + summary: Get scheduled tasks + description: Retreive information about all scheduled tasks + tags: + - Services + parameters: + - name: id + in: query + description: filter results by Service schedule ID + type: integer + - name: device_id + in: query + description: device id + type: integer + - name: device + in: query + description: device + type: string + - name: user_id + in: query + description: user id + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 2 + service_schedules: + $ref: '#/definitions/Service_schedules' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postScheduledTasks + description: >- + Create/update scheduled task. 3 parameters are required:

                                                                      • schedule_name + OR service_name OR name
                                                                      • device_id OR + device
                                                                      • caption
                                                                      • + summary: Create/update scheduled task + tags: + - Services + parameters: + - name: schedule_id + in: formData + description: schedule id + type: integer + - name: service_detail_id + in: formData + description: filter by id of the service in use + type: integer + - name: schedule_name + in: formData + description: schedule name + type: string + - name: service_name + in: formData + description: The executable name of the service + type: string + - name: name + in: formData + description: name + type: string + - name: device + in: formData + description: The device that this service runs on + type: string + - name: device_id + in: formData + description: The ID of the device that this service runs on + type: integer + - name: caption + in: formData + description: caption + type: string + required: true + - name: user_id + in: formData + description: end user id + type: string + - name: sched_description + in: formData + description: schedule description + type: string + - name: arguments + in: formData + description: arguments + type: string + - name: status + in: formData + description: status + type: string + - name: install_Date + in: formData + description: >- + (note capital D for schedules) only for schedule based services + where startmode = 'Scheduled' + type: string + - name: at_logon + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: at_startup + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: event_based + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: idle_time + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: other_trigger + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: other_type + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: minutes + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: hours + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: days + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: weeks + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: day_of_month + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: month_of_year + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + - name: day_of_week + in: formData + description: only for schedule based services where startmode = 'Scheduled' + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - task schedule added/updated + - 8 + - task-0025 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/scheduled_tasks/{id}': + get: + operationId: getScheduledTasksByID + summary: Get scheduled task by ID + description: Retrieve scheduled task by service schedule ID + tags: + - Services + parameters: + - name: id + in: path + description: service schedule id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Service_schedule' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteScheduledTasksByID + summary: Delete scheduled task + description: >- + Used to delete the scheduled task with the service schedule ID as the + required argument. Note: You will only be able to delete the scheduled + task if the supplied username has the correct permissions + tags: + - Services + parameters: + - name: id + in: path + description: service schedule id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '2' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/services/: + get: + operationId: getServices2 + summary: Get all services + description: You can filter services by following parameters in the query string + tags: + - Services + parameters: + - name: id + in: query + description: D42 ID of the service + type: integer + - name: displayname + in: query + description: name of the service + type: string + - name: category + in: query + description: name of the category + type: string + - name: vendor + in: query + description: vendor name + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + services: + $ref: '#/definitions/Services' + total_count: + example: 2 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postServices2 + description: >- + Create/update service. Required parameters:
                                                                        • name OR + display_name
                                                                        • + summary: Create/update service + tags: + - Services + parameters: + - name: name + in: formData + description: name for service + type: string + - name: display_name + in: formData + description: 'if not provided, the name is used as display name' + type: string + - name: vendor + in: formData + description: Names of vendor + type: string + - name: description + in: formData + description: description of service + type: string + - name: notes + in: formData + description: notes + type: string + - name: category + in: formData + description: Name of category + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service added/updated + - 97 + - '' + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/services/{id}': + delete: + operationId: deleteServicesByID + summary: Delete service by ID + description: >- + This API is used to delete the service with the service id supplied as + the required argument. Note: You will only be able to delete the service + if the supplied username has the correct permissions. (Added in v6.3.4) + tags: + - Services + parameters: + - name: id + in: path + description: service id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '99' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/service_instances/: + get: + operationId: getServiceInstances + summary: Get service instances + description: >- + You can filter service details by following parameters in the query + string + tags: + - Services + parameters: + - name: device_id + in: query + description: filter by id of the device + type: integer + - name: device + in: query + description: filter by name of the device + type: string + - name: service_id + in: query + description: filter by id of the service + type: integer + - name: service_detail_id + in: query + description: filter by id of the service in use + type: integer + - name: user_id + in: query + description: filter by id of the user + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + service_details: + $ref: '#/definitions/Service_instances' + offset: + example: 0 + limit: + example: 1000 + total_count: + example: 2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postServiceInstances + description: >- + Create/update service instance. Required parameters are either:
                                                                          • service_name + OR service_display_name OR service_id
                                                                          • device + OR device_id
                                                                          • ------ OR + ------

                                                                          • service_detail_id
                                                                          + summary: Create/update service instance + tags: + - Services + parameters: + - name: service_detail_id + in: formData + description: service detail id + type: integer + - name: device + in: formData + description: The device that this service runs on + type: string + - name: device_id + in: formData + description: id of the device + type: integer + - name: listening_ip + in: formData + description: the local IP address that listening on this port + type: string + - name: port + in: formData + description: the listening port on this device + type: integer + - name: loadbalancer + in: formData + description: loadbalancer + type: string + - name: service_name + in: formData + description: The executable name of the service + type: string + - name: service_display_name + in: formData + description: The user freindly display name of the service + type: string + - name: service_id + in: formData + description: service id + type: integer + - name: user_id + in: formData + description: id of the user + type: string + - name: remove_appcomp_ids + in: formData + description: comma separated list of application components IDs to remove + type: integer + - name: clear_appcomps + in: formData + type: string + enum: + - 'yes' + - 'no' + description: Set to 'yes' to clear associated application components + - name: appcomps + in: formData + description: >- + comma separated list of application components to associated with + service instance + type: string + - name: service_path + in: formData + description: service path + type: string + - name: install_date + in: formData + description: install date + type: string + - name: state + in: formData + description: >- + The current running state of this service. Valid values are + 'Running', 'Started', 'Paused', 'Stopped' and 'Unknown' + type: string + - name: ignore_client_connections + in: formData + type: string + enum: + - 'yes' + - 'no' + - name: startmode + in: formData + description: >- + The start mode of this service - valid values are 'Automatic', + 'Manual', 'Disabled' and 'Unknown' + type: string + - name: pinned + in: formData + description: pinned + type: string + - name: topology_status + in: formData + description: topology status + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service_detail added/updated + - 173 + - Service001 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/service_instances/{id}': + get: + operationId: getServiceInstancesByID + summary: Get service instances by ID + description: Retrieve service instance information by Service Instance ID + tags: + - Services + parameters: + - name: id + in: path + description: service instance id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Service_instance' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteServiceInstancesByID + summary: Delete service instances by ID + description: >- + This API is used to delete the service detail with the service detail id + supplied as the required argument. Note - You will only be able to + delete the service if the supplied username has the correct permissions + tags: + - Services + parameters: + - name: id + in: path + description: service id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/service_listener_ports/: + get: + operationId: getServiceListenerPorts + summary: Get service listener ports + description: You can filter service ports by following parameters in the query string + tags: + - Services + parameters: + - name: port + in: query + description: port + type: string + - name: device_name + in: query + description: the name of the device + type: string + - $ref: '#/parameters/listener_device_name' + - $ref: '#/parameters/discovered_service' + - $ref: '#/parameters/mapped_service' + - name: service_instance_id + in: query + description: filter by id of the service instance in use + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Service_listener_ports' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postServiceListenerPorts + description: >- + Create/update service listener port. Required parameters:
                                                                          • id
                                                                          + ---------- OR ----------
                                                                          • port
                                                                          • device_name + OR device_id
                                                                          • listening_ip OR remote_ips
                                                                          • +
                                                                          + summary: Create/update service listener port + tags: + - Services + parameters: + - name: id + in: formData + description: service port id + type: integer + - name: port + in: formData + description: the listening port on this device + type: integer + - name: device_name + in: formData + description: the name of the device + type: string + - name: device_id + in: formData + description: device id + type: integer + - $ref: '#/parameters/listening_ip' + - $ref: '#/parameters/remote_ips' + - name: discovered_service_id + in: formData + description: device service id + type: integer + - $ref: '#/parameters/discovered_service_post' + - name: discovered_service_display_name + in: formData + description: discovered service display name + type: string + - $ref: '#/parameters/discovered_process' + - name: discovered_process_display_name + in: formData + description: discovered process display name + type: string + - $ref: '#/parameters/mapped_service_post' + - name: mapped_service_display_name + in: formData + description: mapped service display name + type: string + - $ref: '#/parameters/protocol' + - name: remote_port_time + in: formData + description: remote port time + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service port added/updated + - 5 + - '0.0.0.0:9999' + - true + - true + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/service_listener_ports/{id}/': + get: + operationId: getServiceListenerPortsByID + summary: Get service listener port by ID + description: Retrieve Service Listener port information by service port ID + tags: + - Services + parameters: + - name: id + in: path + description: service port id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Service_listener_port' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putServiceListenerPorts + description: >- + Currently, in order to update a service port, id (path), + device_name/device_id, and listening_ip/remote_ips are needed even if + they are staying the same - we use those fields to identify the port + summary: Create/update service listener port + tags: + - Services + parameters: + - name: id + in: path + description: service port id + type: integer + required: true + - name: port + in: formData + description: the listening port on this device + type: integer + - name: device_name + in: formData + description: the name of the device + type: string + - name: device_id + in: formData + description: device id + type: integer + - $ref: '#/parameters/listening_ip' + - $ref: '#/parameters/remote_ips' + - name: discovered_service_id + in: formData + description: device service id + type: integer + - $ref: '#/parameters/discovered_service_post' + - name: discovered_service_display_name + in: formData + description: discovered service display name + type: string + - $ref: '#/parameters/discovered_process' + - name: discovered_process_display_name + in: formData + description: discovered process display name + type: string + - $ref: '#/parameters/mapped_service_post' + - name: mapped_service_display_name + in: formData + description: mapped service display name + type: string + - $ref: '#/parameters/protocol' + - name: remote_port_time + in: formData + description: remote port time + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - service port added/updated + - 4 + - '123.0.0.2:25' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/service_client_connections/{id}': + get: + operationId: getServiceClientConnections + summary: Get service client connections + description: Get service client connection information by service detail ID + tags: + - Services + parameters: + - name: id + in: path + description: service id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Service_client_connections' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/ignored_service/: + get: + operationId: getIgnoredService + summary: Get ignored services + description: >- + Retrieve list of Ignored Services; filter ignored service details by + following parameters in query string + tags: + - Services + parameters: + - name: ignored_id + in: query + description: service id + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 4 + offset: + example: 0 + limit: + example: 1000 + ignored_services: + type: array + items: + type: object + properties: + ignored_level: + type: integer + active: + type: boolean + ignored_text: + type: string + id: + type: integer + example: + - ignored_level: 1 + active: true + ignored_text: AeLookupSvc + id: 1 + - ignored_level: 2 + active: true + ignored_text: AeLookupSvc + id: 2 + - ignored_level: 1 + active: true + ignored_text: AJRouter + id: 3 + - ignored_level: 2 + active: true + ignored_text: AJRouter + id: 4 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postIgnoredService + description: Create/update ignored service + summary: Create/update ignored service + tags: + - Services + parameters: + - name: ignored_level + in: formData + description: 'ignored level - 1 for Service Name, 2 for Service Instance Args' + type: integer + required: true + - name: ignored_text + in: formData + description: ignored text + type: string + required: true + - name: active + in: formData + description: active flag + type: boolean + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - ignored service added/updated + - 1 + - ignored text + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/ignored_service/{id}/': + delete: + operationId: deleteIgnoredServiceByID + description: >- + This API is used to delete the ignored service with the ignored service + id supplied as the required argument. Note: You will only be able to + delete the service if the supplied username has the correct permissions + summary: Delete ignored service + tags: + - Services + parameters: + - name: id + in: path + description: service id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/software_details/: + get: + operationId: getSoftware_details + description: Get software details + summary: Get software details + tags: + - Software + parameters: + - name: device_id + type: string + description: filter by id of device + in: query + - $ref: '#/parameters/device' + - $ref: '#/parameters/software_id' + - $ref: '#/parameters/software_detail_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 3 + offset: + example: 0 + software_details: + type: array + items: + $ref: '#/definitions/Get_Software_details' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postUpdateService_ports + description: Create/update software details + summary: Create/update software details + tags: + - Software + parameters: + - $ref: '#/parameters/software' + - name: device + in: formData + description: The name of the device where this software is installed + type: string + required: true + - $ref: '#/parameters/version' + - name: user + type: string + in: formData + description: The user assigned to this software + - name: vendor + type: string + in: formData + description: 'The vendor that created the server, linked to Organization' + - $ref: '#/parameters/install_date' + - $ref: '#/parameters/count_in_licensing' + - $ref: '#/parameters/license_key' + - $ref: '#/parameters/license_key_count' + - $ref: '#/parameters/license_use_count' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - software_detail added/updated + - 1 + - Some Enterprise DB + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/software_details/{id}/': + delete: + operationId: deleteSoftware_detail + summary: Delete software details + description: >- + This API is used to delete the software details with the software details + ID supplied as the required argument. Note: You will only be able to + delete the software if the supplied username has the correct + permissions + tags: + - Software + parameters: + - name: id + in: path + description: software detail id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/software/: + get: + operationId: getSoftware_Component_details + summary: Get software component details + description: >- + You can filter software details by following parameters in the query + string + tags: + - Software + parameters: + - $ref: '#/parameters/name' + - $ref: '#/parameters/category' + - name: vendor + type: string + in: query + description: Software vendor + - $ref: '#/parameters/licensing_model_get' + - $ref: '#/parameters/software_type' + - $ref: '#/parameters/deployment_type' + - $ref: '#/parameters/tags' + - $ref: '#/parameters/tags_and' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: '2016' + software: + type: array + items: + $ref: '#/definitions/Get_Software_Component_details' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postUpdateSoftware_Components + summary: Create/update software component + description: >- + Create/update software component. Required parameters:
                                                                          • name + OR id
                                                                          • licensing_model
                                                                          • software_type
                                                                          • + tags: + - Software + parameters: + - name: name + in: formData + type: string + description: The name of the software (new or existing) + - $ref: '#/parameters/id_post' + - name: category + type: string + in: formData + description: Filter by user-defined software categories (new or existing) + - name: vendor + type: string + in: formData + description: Software Vendor (new or existing) + - name: licensed_count + type: integer + in: formData + description: The number of licenses purchased for the software component. + - name: licensing_model + type: string + in: formData + default: Individual - Device/Perpetual + description: >- + Custom models can be made via UI. Existing values include: Free, + Trial, Individual - User/Perpetual, Individual - User/Subscription, + Named User / Perpetual, Volume - User/Perpetual, Concurrent - + User/Perpetual, Individual - Device/Perpetual, Individual - + Device/Subscription, Node Locked / Perpetual, Volume - + Device/Perpetual, OEM, CAL / Per Seat Device, CAL / Per Seat User, + CAL / Per Server, CAL / Per Processor, CAL / Per Mailbox + required: true + - name: software_type + enum: + - Managed + - Unmanaged + - Prohibited + - Ignored + type: string + in: formData + default: Managed + description: Default software type is Managed. + required: true + - name: deployment_type + enum: + - SaaS + - Mobile + - Desktop + - Server + - D42_NULL + type: string + in: formData + description: Deployment Type. The default value is empty. To clear the deployment type, use D42_NULL. + required: false + - name: tags + in: formData + type: string + - name: tags_remove + type: string + description: remove tags from component + in: formData + - $ref: '#/parameters/track_licensed_by_count' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/aliases' + - name: aliases_remove + in: formData + type: string + description: comma separated aliases to remove + - name: description + in: formData + type: string + description: Description of software + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - software added/updated + - 1 + - New_Software + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/soft_eoleos/: + post: + operationId: postUpdateSoftware_EOLEOS + summary: Create/update software component EOL/EOS dates + description: >- + Create/update End of Life/End of Support dates for a software component.

                                                                            Required parameters:
                                                                            • software_id + AND
                                                                            • version
                                                                            • + tags: + - Software + parameters: + - name: id + in: formData + type: string + description: The D42 ID of the software EOL/EOS record.
                                                                              Do NOT use when creating software EOL/EOS. + - name: software_id + type: string + in: formData + description: D42 ID of the software component for which you want to create/update EOL/EOS dates. + required: true + - name: software + type: string + in: formData + description: Name of the software component. + - name: version + type: string + in: formData + description: Software component version. + required: true + - name: end_of_life_date + type: string + in: formData + description: Software End of Life date.
                                                                              (yyyy-mm-dd). + - name: end_of_support_date + type: string + in: formData + description: Software End of Support date.
                                                                              (yyyy-mm-dd). + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Software EOL/EOS successfully added/updated + - 15 + - Adobe ColdFusion 2018 / 2018.0.0.0 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/software/: + put: + operationId: putCustom_FieldSoftware_Components + description: >- + Create/update software component custom fields.

                                                                              + Required parameters -
                                                                              • id OR name
                                                                              • key
                                                                              • + summary: Software Component custom fields + tags: + - Software + parameters: + - name: id + description: ID of the Software Component + type: string + in: formData + - name: name + description: Name of the Software Component + in: formData + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/show_on_chart' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'Software Component Owner' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/software/{id}/': + delete: + operationId: deleteSoftware_Component + summary: Delete software component + description: >- + This API is used to delete the software detail with the software detail + id supplied as the required argument. Note: You will only be able to + delete the software if the supplied username has the correct + permissions + tags: + - Software + parameters: + - name: id + in: path + description: software detail id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/software/license_keys/: + get: + operationId: getSoftware_License_Keys + summary: Get software license keys + description: >- + Get software license keys. + You can filter software license keys by following parameters in the + query string + tags: + - Software + parameters: + - $ref: '#/parameters/software_id' + - $ref: '#/parameters/software_name' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + software_license_keys: + type: array + items: + $ref: '#/definitions/Get_Software_License_Keys' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postUpdateSoftware_Licenses + summary: Create/Update software license + description: >- + Create/update software licenses. Required parameters:
                                                                                • id + OR software_id OR software_name
                                                                                • + tags: + - Software + parameters: + - name: id + description: The ID of the software_license_key object (use if updating) + type: string + in: formData + - name: software_id + description: The id of the software component + type: string + in: formData + - name: software_name + type: string + in: formData + description: software component name + - name: key + type: string + description: software license key + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - software license key added/updated + - 2 + - '1618' + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/software/license_keys/{id}/': + delete: + operationId: deleteSoftware_License_Keys + summary: Delete software license key + description: >- + This API is used to delete the software license key with the software + license key id supplied as the required argument. Note: You will only be + able to delete the software key if the supplied username has the correct + permissions + tags: + - Software + parameters: + - name: id + in: path + description: software detail id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/softwareinuse/: + put: + operationId: putCustomfield_softwareinuse + description: This call adds a custom field to a software details model. + summary: Custom fields + tags: + - Software + parameters: + - name: name + type: string + in: formData + description: Name of software + - name: id + type: string + in: formData + description: ID of software + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/groups_post' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 4 + - Skynet + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/certificates/: + get: + operationId: get_certificates + summary: Get + description: >- + This API is used to return the certificates you have added or discovered + in Device42 + tags: + - Certificates + parameters: + - name: certificate_id + in: query + description: ID of the certificate + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: '1' + certificate_details: + type: array + items: + $ref: '#/definitions/Get_certificates' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postUpdate_certificates + summary: Create/update + description: >- + This API is used to update or add new certificates in bulk. Note: If you + enter the DNS for the certificate, that is the only required field. + Otherwise valid_from and valid_to are required + tags: + - Certificates + parameters: + - name: id + in: formData + type: string + description: ID is only required if updating an existing certificate + - name: dns + in: formData + description: >- + dns address of the site certificate is issued for. + type: string + - name: issued_to + in: formData + description: Entity certificate is issued to. + type: string + - name: issued_by + in: formData + type: string + description: The entity issuing the certificate + - name: valid_from + in: formData + type: string + description: >- + The start date of the certificate. Required if creating a new certificate. YYYY-MM-DD format + - name: valid_to + in: formData + type: string + description: >- + The expiration date of the certificate. Required if creating a new certificate. YYYY-MM-DD format + - name: subject + in: formData + type: string + description: The person, or entity identified. + - name: version + in: formData + type: string + description: The version of the encoded certificate + - name: serial_number + in: formData + type: string + description: Used to uniquely identify the certificate + - name: signature_algorithm + in: formData + type: string + description: The algorithm used to create the signature. + - name: signature_hash + in: formData + type: string + description: The actual signature to verify that it came from the issuer + - name: san + type: string + in: formData + description: Subject Alternative Name + - name: digital_signature_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + True when the subject public key is used for verifying digital + signatures + - name: content_commitment_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + - name: key_encipherment_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + True when the subject public key is used for enciphering private or + secret keys + - name: data_encipherment_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + True when the subject public key is used for directly enciphering + raw user data without the use of an intermediate symmetric cipher. + - name: key_agreement_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: True when the subject public key is used for key agreement. + - name: key_cert_sign_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + True when the subject public key is used for verifying signatures on + public key certificates. + - name: crl_sign_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + True when the subject public key is used for verifying signatures on + certificate revocation lists. + - name: encipher_only_usage + type: string + enum: + - 'yes' + - 'no' + in: formData + description: >- + When the encipherOnly bit is asserted and the keyAgreement bit is + also set, the subject public key may be used only for enciphering + data while performing key agreement. + - name: decipher_only_usage + type: string + enum: + - 'yes' + - 'no' + in: formData + description: >- + When the decipherOnly bit is asserted and the keyAgreement bit is + also set, the subject public key may be used only for deciphering + data while performing key agreement. + - name: extended_key_usage + type: string + in: formData + enum: + - 'yes' + - 'no' + description: >- + Indicates the purpose of the public key contained in the + certificate. It contains a list of OIDs, each of which indicates an + allowed use. + - name: vendor + type: string + in: formData + description: The name of the vendor that provided this certificate + - name: end_point_type + type: string + in: formData + - name: end_point_id + type: string + in: formData + - name: groups + type: string + in: formData + description: >- + Use only if Multitenancy is on. List of groups separated by commas. + Each group has name followed by colon followed by yes or no for + change_permission, eg. CorpUS:yes, CorpNY:no. + - name: tags + type: string + description: Comma separated list of tags + in: formData + - name: tags_remove + type: string + description: Comma separated list of tags to remove + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - certificate added/updated + - test.device42.com + - test.device42.com + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/certificates/{ID}/': + delete: + operationId: deleteCertificates + summary: Delete + description: >- + This API is used to delete the certificate with the certificate id supplied as + the required argument + tags: + - Certificates + parameters: + - name: ID + type: integer + in: path + description: certificate id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/certificate/: + put: + operationId: put_Custom Fields + summary: Custom fields + description: Custom fields + tags: + - Certificates + parameters: + - name: name + type: string + description: Name of the certificate + in: formData + - name: id + type: string + description: ID of certificate + in: formData + required: true + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - name: custom_field + type: string + in: formData + description: Custom Value + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 4 + - Skynet + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/certificate_instances/: + get: + operationId: getCertificateInstances + summary: Get + description: >- + This API is used to return the certificate instances you have added or discovered + in Device42 + tags: + - Certificate Instances + parameters: + - name: certificate_id + type: integer + in: query + description: filter by certificate_id + - name: device_id + type: integer + in: query + description: filter by device_id + - name: device + type: string + in: query + description: filter by device name + - name: fqdn + type: string + in: query + description: filter by fqdn + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: '1' + certificate_details: + type: array + items: + $ref: '#/definitions/Get_certificate_instances' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postUpdateCertificateInstances + summary: Create/update + description: >- + This API is used to update or add new certificate instances in bulk. + tags: + - Certificate Instances + parameters: + - name: id + in: formData + type: integer + description: ID is only required if updating an existing certificate instance + - name: device_id + in: formData + type: integer + description: The ID of the device associated with the certificate instance. Required if device is not provided. + - name: device + in: formData + type: string + description: The device name or alias associated with the certificate instance. Required if device_id is not provided. + - name: certificate_id + in: formData + type: integer + description: The ID of the certificate associated with the certificate instance. Required if certificate is not provided. + - name: certificate + in: formData + type: string + description: The name of the certificate associated with the certificate instance. Required if certificate_id is not provided. + - name: fqdn + in: formData + type: string + description: Fully qualified domain name + - name: ip + in: formData + type: string + description: IP address + - name: valid_from + in: formData + type: string + description: >- + The start date of the certificate. Only filled if different than associated certificate. YYYY-MM-DD format + - name: valid_to + in: formData + type: string + description: >- + The expiration date of the certificate. Only filled if different than associated certificate. YYYY-MM-DD format + - name: serial_number + in: formData + type: string + description: Serial Number + - name: ssl_version + in: formData + type: string + description: SSL version + - name: cipher_suites + in: formData + type: string + description: Cipher suites supported by the certificate in json format. e.g. - {'TLSv1.0':'["TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA","TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"]'} + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Certificate instance added/updated successfully + - 1 + - example.com - DEVICEA2Z001 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/certificate_instances/{ID}/': + get: + operationId: getCertificateInstancesById + summary: Get + description: >- + This API is used to return the certificate instances you have added or discovered + in Device42 + tags: + - Certificate Instances + parameters: + - name: id + type: integer + in: path + description: certificate instance id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/Get_certificate_instances' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteCertificateInstanceById + summary: Delete + description: >- + This API is used to delete the certificate instance with the certificate instance id supplied as + the required argument + tags: + - Certificate Instances + parameters: + - name: ID + type: integer + in: path + description: certificate instance id + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/passwords/: + get: + operationId: getPassword + description: Retrieve usernames and passwords. You must be a superuser to access the API. + summary: Get accounts + tags: + - Secrets + parameters: + - $ref: '#/parameters/category' + - $ref: '#/parameters/label' + - $ref: '#/parameters/username' + - $ref: '#/parameters/device' + - $ref: '#/parameters/appcomp' + - $ref: '#/parameters/id' + - $ref: '#/parameters/plain_text' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + Passwords: + type: array + items: + properties: + username: + example: sharepointadmin + last_pw_change: + example: '2013-11-05T19:29:35Z' + notes: + example: '' + label: + example: sharepoint admin account + first_added: + example: '2013-11-05T19:07:05.534Z' + password: + example: L8tirgcd&Loh + id: + example: 5 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: post_Update_Passwords + summary: Create/update + description: >- + Create / Update Secrets (Passwords). Use id if updating existing secret - else, + username and password are required. You must be a superuser to access the API
                                                                                  + NOTE: Secrets/Password passphrase has been disabled on the swagger demo instance. When you use Try It functionality with API method that provides or modifies a secret, you will receive an error. + tags: + - Secrets + parameters: + - name: id + type: string + in: formData + description: Required to modify an existing secret + - $ref: '#/parameters/username_post' + - $ref: '#/parameters/password' + - $ref: '#/parameters/label_post' + - name: category + type: string + in: formData + description: The secret's category. If it doesn't exist a new one will be created. + - name: storage_id + type: string + in: formData + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + description: The secret's storage type. 1=Normal 2=Burnt 3=CyberArk 4=Delinea 5=HashiCorp Vault + - name: devices + type: string + in: formData + description: A comma separated list of device names. + - $ref: '#/parameters/appcomps' + - $ref: '#/parameters/days_before_expiry' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/view_users' + - $ref: '#/parameters/view_groups' + - $ref: '#/parameters/view_edit_users' + - $ref: '#/parameters/view_users_remove' + - $ref: '#/parameters/use_only_users_remove' + - $ref: '#/parameters/view_edit_users_remove' + - $ref: '#/parameters/view_groups_remove' + - $ref: '#/parameters/use_only_groups' + - $ref: '#/parameters/use_only_groups_remove' + - $ref: '#/parameters/view_edit_groups' + - $ref: '#/parameters/view_edit_groups_remove' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Password added with username adminmh (and label alabel) + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/passwords/{id}/': + delete: + operationId: delete_Password + summary: Delete + description: >- + This API is used to delete the secret with the secret id supplied as + the required argument. Note: You will only be able to delete the + secret if the supplied username has the correct permissions. You must be a superuser to access the API + tags: + - Secrets + parameters: + - name: id + in: path + description: id of the secret + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/password/: + post: + operationId: post_Custom_Fields + summary: Custom fields + description: Custom fields. You must be a superuser to access the API + tags: + - Secrets + parameters: + - name: username + type: string + in: formData + required: true + description: Name of the secret + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 4 + - Skynet + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/customers/: + get: + operationId: getCustomers + description: Get all customers + summary: Get all + tags: + - Customers + parameters: + - $ref: '#/parameters/include_cols' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + Customers: + type: array + items: + $ref: '#/definitions/Customers' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postCustomers + summary: Create/update + description: Create/update customers + tags: + - Customers + parameters: + - name: id + in: formData + description: Customer id + type: integer + - name: name + type: string + description: Customer name + in: formData + - name: contact_info + type: string + description: Text field for contact information + in: formData + - $ref: '#/parameters/notes_post' + - name: type + type: string + enum: + - customer + - department + in: formData + - name: new_name + type: string + in: formData + description: New name for an existing customer 'name'.
                                                                                  If the customer 'name' does not exist, this creates a new customer. + - $ref: '#/parameters/groups_post' + - name: manager + type: string + in: formData + description: Name of manager + - name: customer_ids + type: string + in: formData + description: Comma separated list of customer ids which are part of this customer + - name: user_ids + type: string + in: formData + description: Comma separated list of end user ids which are part of this customer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Customer added or updated. + - 4 + - Skynet + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/customers/{id}/': + delete: + operationId: deleteCustomers + summary: Delete + description: >- + This API is used to delete the customer with the customer id supplied as + the required argument + tags: + - Customers + parameters: + - name: id + in: path + description: IP Address id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '1' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/customers/contacts/: + post: + operationId: post_Update_Customer_Contacts + summary: Create/update customer contacts + description: Create/update customer contacts + tags: + - Customers + parameters: + - name: contact_id + type: string + in: formData + description: Customer contact id + - name: name + type: string + in: formData + description: Customer contact name. Required if contact_id not provided + - name: type + type: string + in: formData + description: Contact type. Required if contact_id not provided. + - name: customer + type: string + in: formData + description: Customer name. Must already exist. Required if contact_id not provided + - $ref: '#/parameters/email' + - $ref: '#/parameters/phone' + - name: address + type: string + description: Text field + in: formData + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - customer contact record added/updated successfully + - 5 + - mickeymouse + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/customers/contacts/{id}/': + delete: + operationId: deleteCustomerContact + summary: Delete customer contacts + description: >- + This API is used to delete the customer contact with the customer contact id supplied as the + required argument + tags: + - Customers + parameters: + - name: id + in: path + description: Customer Contact id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/customer/: + put: + operationId: put_Custom Fields + summary: Custom fields + description: Custom fields + tags: + - Customers + parameters: + - name: name + required: true + type: string + description: Name of the customer + in: formData + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 4 + - Skynet + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/vendors/: + get: + operationId: getVendors + description: Get all vendors + summary: Get all + tags: + - Vendors + parameters: + - $ref: '#/parameters/vendor_name' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + vendors: + type: array + items: + $ref: '#/definitions/Get_all_Vendors' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postVendors + summary: Create/update + description: Create/update vendors + tags: + - Vendors + parameters: + - name: name + required: true + type: string + in: formData + description: Vendor name + - $ref: '#/parameters/account_no' + - $ref: '#/parameters/home_page' + - $ref: '#/parameters/contact_info' + - $ref: '#/parameters/escalation_1' + - $ref: '#/parameters/escalation_2' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/groups_post' + - name: tags + type: string + in: formData + description: >- + Comma-separated list of tags (no spaces) for the vendor. + - name: tags_remove + type: string + in: formData + description: >- + Comma-separated list of tags (no spaces) to remove. + - name: aliases + type: string + in: formData + description: Semicolon-separated list of vendor aliases (no spaces). + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Vendor added or updated. + - 39 + - CDW + - false + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/vendors/{id}/': + delete: + operationId: deleteVendors + summary: Delete + description: >- + This API is used to delete the vendor with the vendor id supplied as the + required argument + tags: + - Vendors + parameters: + - name: id + in: path + description: IP Address id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/vendor/: + put: + operationId: putCustom_fieldsVendors + description: >- + Create or update custom fields for vendors. "ID" or "name" of vendor is + needed even when value is not being changed + summary: Custom fields + tags: + - Vendors + parameters: + - name: name + type: string + in: formData + description: Name of vendor + - name: id + type: string + in: formData + description: Vendor ID or UI > Tools > Export > Vendors + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 7 + - 2nd Floor @ main office + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/vendors/merge/: + post: + operationId: mergeVendors + summary: Merge + description: Merge vendors + tags: + - Vendors + parameters: + - name: primary_vendor_id + required: true + type: string + in: formData + description: >- + Vendor ID into which to merge other vendor(s) into + - name: vendor_ids + required: true + type: string + in: formData + description: >- + Comma separated list of vendor ids to be merged + - name: software_combine + required: false + type: boolean + in: formData + description: >- + Automatically merge software (this will override like named software) + responses: + '200': + description: 'The above command returns a success message like this:' + schema: + properties: + msg: + example: + - Vendors merged successfully + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/circuits/: + get: + operationId: getCircuits + description: Get all circuits + summary: Get all + tags: + - Telco Circuits + parameters: + - name: id + in: query + description: ID for the circuit (D42 ID) + type: integer + - $ref: '#/parameters/circuit_id' + - name: type + type: string + in: query + description: Type of circuit + - name: origin_type + in: query + enum: + - cable + - circuit + - switchport + - vendor + - patch_panel_port + description: Type of origin point. + type: string + - $ref: '#/parameters/origin_id' + - name: end_point_type + in: query + enum: + - cable + - circuit + - switchport + - vendor + - patch_panel_port + description: Type of end point. + type: string + - $ref: '#/parameters/end_point_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + circuits: + type: array + items: + $ref: '#/definitions/Get_all_Circuits' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: post_Update_Circuits + description: Create/update circuits + summary: Create/update + tags: + - Telco Circuits + parameters: + - name: ID + in: formData + description: ID for the specific circuit (D42 ID) + type: integer + - name: circuit_id + type: string + in: formData + description: general circuit ID - required for new circuits + - name: type + type: string + in: formData + description: type of circuit - required for new circuits + - name: order_date + type: string + in: formData + description: Format is YYYY-MM-DD + - name: provision_date + type: string + in: formData + description: Format is YYYY-MM-DD + - name: turn_on_date + type: string + in: formData + description: Format is YYYY-MM-DD + - name: expiration_date + in: formData + type: string + description: Format is YYYY-MM-DD + - $ref: '#/parameters/notes_post' + - name: bandwidth + type: integer + in: formData + description: bandwidth in kbps (multiply factor of 1024) + - $ref: '#/parameters/vendor_post' + - name: vendor_id + in: formData + type: integer + description: ID of the vendor + - name: customer + type: string + description: customer name + in: formData + - name: customer_id + in: formData + type: integer + description: ID of the customer + - name: dmarc + type: string + in: formData + description: name of the DMARC + - name: dmarc_id + type: integer + in: formData + description: ID of the DMARC + - name: origin_type + in: formData + enum: + - cable + - circuit + - switchport + - vendor + - patch_panel_port + description: Type of origin point. Must be used with origin_id + type: string + - $ref: '#/parameters/origin_id_post' + - $ref: '#/parameters/origin_circuit_id_post' + - $ref: '#/parameters/origin_switchport_post' + - $ref: '#/parameters/origin_switch_post' + - name: origin_port_id + in: formData + type: integer + description: ID of the Origin Port. This will set the origin type to 'switchport' and assign the port ID. + - $ref: '#/parameters/origin_patch_panel_port_post' + - $ref: '#/parameters/origin_patch_panel_post' + - $ref: '#/parameters/origin_patch_panel_id_post' + - name: origin_back_patch_panel + in: formData + type: string + enum: + - yes + - no + description: If the origin object is a patch panel port, this parameter can be used indicate the circuit is on the back of the patch panel or not. + - $ref: '#/parameters/origin_vendor_post' + - name: end_point_type + in: formData + type: string + enum: + - cable + - circuit + - switchport + - vendor + - patch_panel_port + description: Type of end point. Must be used with end_point_id + - $ref: '#/parameters/end_point_id_post' + - $ref: '#/parameters/end_point_circuit_id_post' + - $ref: '#/parameters/end_point_switchport_post' + - $ref: '#/parameters/end_point_switch_post' + - name: end_port_id + in: formData + type: integer + description: ID of the Endpoint Port. This will set the endpoint type to 'switchport' and assign the port ID. + - $ref: '#/parameters/end_point_patch_panel_port_post' + - $ref: '#/parameters/end_point_patch_panel_post' + - $ref: '#/parameters/end_point_patch_panel_id_post' + - name: end_back_patch_panel + in: formData + type: string + enum: + - yes + - no + description: If the endpoint object is a patch panel port, this parameter can be used indicate the circuit is on the back of the patch panel or not. + - $ref: '#/parameters/end_point_vendor_post' + - name: origin_clear + in: formData + type: string + description: providing this parameter (any value) will clear the origin object from the circuit. + - name: end_clear + in: formData + type: string + description: providing this parameter (any value) will clear the endpoint object from the circuit. + - name: status + in: formData + type: string + description: Circuit status + - name: new_circuit_id + in: formData + type: string + description: providing this parameter (string) will change the circuit id of the circuit. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Circuit added/updated + - 49 + - chicago-main + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/circuits/{id}/': + get: + operationId: getCircuitsByID + description: Get circuit by ID + summary: Get specific circuit by ID + tags: + - Telco Circuits + parameters: + - name: id + in: path + description: ID for the circuit (D42 ID) + type: integer + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + circuits: + type: array + items: + $ref: '#/definitions/Get_all_Circuits' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteCircuit + summary: Delete + description: >- + This API is used to delete the circuit with the circuit id supplied as + the required argument + tags: + - Telco Circuits + parameters: + - name: id + in: path + description: circuit id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/circuit/: + put: + operationId: put_Custom_Fields + description: Create/update custom fields for circuits. (Added in v5.9.3) Either ID or circuit_id is required + summary: Custom fields + tags: + - Telco Circuits + parameters: + - name: ID + in: formData + description: ID for the cricuit (D42 ID) + type: string + - name: circuit_id + type: string + description: circuit_id for the circuit + in: formData + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 1 + - chicago-main + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/powercircuits/: + get: + operationId: get_All_Power_Circuits + description: Get all power circuits + summary: Get all + tags: + - Power Circuits + parameters: + - name: breakerpanel_id + type: string + in: query + description: Breaker panel ID + - $ref: '#/parameters/bcpm_id' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + power_circuits: + type: array + items: + $ref: '#/definitions/Get_all_Power_Circuits' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: post_Update_PowerCircuits + description: Create/update power circuit + summary: Create/update + tags: + - Power Circuits + parameters: + - name: id + in: formData + description: Power circuit ID. Required if breakerpanel_id and number is not provided. + type: integer + - name: breakerpanel_id + in: formData + description: Breaker panel ID. Required if id is not provided.Used to identify the power circuit when the ID is not provided and to update the breaker panel association when the ID is provided. + type: string + - name: number + type: string + in: formData + description: Number of the circuit on the breaker panel. Required if id is not provided. + - name: label + type: string + in: formData + description: Label of the circuit on the breaker panel + - name: connection + type: string + in: formData + description: Description of the connection for the circuit + - $ref: '#/parameters/voltage' + - $ref: '#/parameters/amps' + - $ref: '#/parameters/powerunit_connection_ids' + - $ref: '#/parameters/device_connection_ids' + - $ref: '#/parameters/device_connection_names' + - $ref: '#/parameters/asset_connection_ids' + - name: new_number + type: string + in: formData + description: Providing this parameter (string) will change the circuit number of the circuit. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - power circuit added/updated + - 89 + - Server Room/4 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/powercircuits/{id}/': + delete: + operationId: deletePowerCircuit + summary: Delete + description: >- + This API is used to delete the power circuit with the ID supplied as the + required argument + tags: + - Power Circuits + parameters: + - name: id + in: path + description: Power circuit ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '89' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/cables/: + get: + operationId: getCables + summary: Get all + description: Retrieve information about all cables + tags: + - Cables + parameters: + - name: cable_id + type: integer + in: query + description: filter by cable_id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + cable: + type: array + items: + $ref: '#/definitions/Cable' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postCables + description: Create/update cable information + summary: Create/update + tags: + - Cables + parameters: + - name: ID + in: formData + description: Device42 ID of cable + type: string + - $ref: '#/parameters/cable_id' + - name: vendor + type: string + description: Cable vendor + in: formData + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/groups_post' + - name: room_id + type: string + description: Room ID + in: formData + - name: room + type: string + description: Room name + in: formData + - name: origin_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Option to clean up cable origin + - $ref: '#/parameters/origin_type_post' + - $ref: '#/parameters/origin_id_post' + - $ref: '#/parameters/origin_connector_type_post' + - $ref: '#/parameters/origin_cable_type' + - $ref: '#/parameters/origin_cable_color' + - $ref: '#/parameters/origin_optic_type' + - $ref: '#/parameters/origin_back_patch_panel' + - name: end_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Option to clean up cable endpoint + - $ref: '#/parameters/end_point_type_post' + - $ref: '#/parameters/end_point_id_post' + - $ref: '#/parameters/end_connector_type' + - $ref: '#/parameters/end_cable_type' + - $ref: '#/parameters/end_cable_color' + - $ref: '#/parameters/end_optic_type' + - $ref: '#/parameters/end_point_back_pach_panel' + - $ref: '#/parameters/end_point_multiple' + - $ref: '#/parameters/cable_length' + - $ref: '#/parameters/cable_length_units' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - cable added/updated + - 9 + - 'Cable #9 [new Cable]' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/cables/{id}/': + delete: + operationId: deleteCable + summary: Delete + description: >- + This API is used to delete the cable with the ID supplied as the + required argument + tags: + - Cables + parameters: + - name: id + in: path + description: Cable ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '89' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/service_level/: + get: + operationId: getService_level + description: Get all Service Levels (devices) + summary: Get all + tags: + - Service Levels + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + type: object + properties: + id: + example: 1 + name: + example: Production + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postService_level + description: Create service level + summary: Create + tags: + - Service Levels + parameters: + - name: name + type: string + in: formData + required: true + description: Name of the Service Level + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Service level added + - 11 + - Decommissioned + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/admingroups/: + get: + operationId: getAdmingroups + summary: Get all admin groups + description: Get all admin groups + tags: + - Admin Users-Groups + parameters: + - name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example:id,name,members,permissions + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + admingroups: + type: array + items: + type: object + properties: + id: + example: 6 + members: + example: + - User1 + - User2 + name: + example: System Generated Read, Add and Edit + total_count: + example: 1 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAdminGroups + description: Create/update admin groups - Must be a Super User to create or update admin groups + summary: Create/update admin groups + tags: + - Admin Users-Groups + parameters: + - name: id + type: integer + in: formData + description: Admin group id - used to update a specific admin group. Required for update if name is not provided + - name: name + type: string + in: formData + description: Admin group name - required if creating a new group or if id parameter is not provided + - name: members + type: string + in: formData + description: >- + List of admin users separated by commas to add. + - name: members_remove + type: string + in: formData + description: >- + List of admin users separated by commas to remove. + - name: permissions + type: string + in: formData + description: >- + List of permissions separated by commas to add. + - name: permissions_remove + type: string + in: formData + description: >- + List of permissions separated by commas to remove. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - admin group added or updated + - 30 + - test + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/admingroups/{id}/': + delete: + operationId: deleteAdminGroups + summary: Delete admin group + description: >- + This API is used to delete an admin group with the admin group id supplied as + the required argument - Must be a Super User to delete admin groups + tags: + - Admin Users-Groups + parameters: + - name: id + in: path + description: Admin group ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/adminusers/: + get: + operationId: getAdminusers + description: Get all admin users - Must be a Super User to access list of admin users + summary: Get all admin users + tags: + - Admin Users-Groups + parameters: + - name: username + type: string + in: query + description: Filter by username + - name: email + type: string + in: query + description: Filter by email address + - name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example:auth_type,is_active,is_staff,username,id,email,groups,is_superuser,last_login,date_joined, + password_doesnt_expire,last_name,first_name,invalid_login_attempts + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + adminusers: + type: array + items: + type: object + properties: + id: + example: 125 + username: + example: JohnDoe + auth_type: + example: Local + email: + example: JohnDoe@device42.com + groups: + type: array + items: + type: string + example: + - System Generated Read Only + - GroupABC + is_superuser: + example: false + first_name: + example: John + last_name: + example: Doe + is_staff: + example: true + is_active: + example: true + last_login: + example: 2022-02-06T03:52:55.925Z + date_joined: + example: 2022-02-06T03:52:55.925Z + last_password_changed: + example: 2022-02-06T03:52:55.925Z + password_doesnt_expire: + example: false + invalid_login_attempts: + example: 2 + total_count: + example: 1 + limit: + example: 1000 + offset: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAdminUsers + description: Create/update admin users - Must be a Super User to create or update admin users + summary: Create/update admin users + tags: + - Admin Users-Groups + parameters: + - name: id + type: integer + in: formData + description: Admin user id - used to update a specific admin user. Required for update if username is not provided + - name: username + type: string + in: formData + description: >- + Admin user name - required if creating a new user or if id parameter is not provided
                                                                                  + This value may contain only letters, numbers and @/./+/-/_/=/,/\\\\ characters + - name: password + type: string + in: formData + required: false + description: New user password - required if creating a new user + - name: first_name + type: string + in: formData + required: false + description: First name of admin user + - name: last_name + type: string + in: formData + required: false + description: Last name of admin user + - name: email + type: string + in: formData + required: false + description: Email address of admin user + - name: is_superuser + type: boolean + in: formData + required: false + description: Is super user + - name: is_staff + type: boolean + in: formData + required: false + description: Is staff user + - name: is_active + type: boolean + in: formData + required: false + description: Is admin user active + - name: password_doesnt_expire + type: boolean + in: formData + required: false + description: Password does not expire for this admin user + - name: groups + type: string + in: formData + description: >- + Admin groups to assign user to. Note: groups with commas need to be + wrapped in quotes. ie: “System Generated Read, Add, Edit and Delete” + - name: new_username + type: string + in: formData + description: >- + Change username of an existing admin user. This parameter is ignored when creating a new admin user.
                                                                                  + This value may contain only letters, numbers and @/./+/-/_/=/,/\\\\ characters + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - administrator added or updated + - 30 + - test + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/adminusers/{id}/': + get: + operationId: getAdminUserByID + description: Get specific Admin User by ID - Must be a Super User to get the Admin User + summary: Get specific admin user by id + tags: + - Admin Users-Groups + parameters: + - name: id + in: path + description: D42 Admin User ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + id: + example: 125 + username: + example: JohnDoe + auth_type: + example: Local + email: + example: JohnDoe@device42.com + groups: + type: array + items: + type: string + example: + - System Generated Read Only + - GroupABC + is_superuser: + example: false + first_name: + example: John + last_name: + example: Doe + is_staff: + example: true + is_active: + example: true + last_login: + example: 2022-02-06T03:52:55.925Z + date_joined: + example: 2022-02-06T03:52:55.925Z + last_password_changed: + example: 2022-02-06T03:52:55.925Z + password_doesnt_expire: + example: false + invalid_login_attempts: + example: 2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteAdminUsers + summary: Delete admin user + description: >- + This API is used to delete an Admin User with the Admin User id supplied as + the required argument - Must be a Super User to delete admin users + tags: + - Admin Users-Groups + parameters: + - name: id + in: path + description: D42 Admin User ID + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/endusers/: + get: + operationId: getEndusers + description: Get all end users + summary: Get all + tags: + - End Users + parameters: + - name: name + type: string + in: query + description: Full or partial name of enduser + - name: domain + type: string + in: query + description: Fully qualified username + - name: email + in: query + type: string + description: Email of enduser + - name: id + type: integer + in: query + description: Enduser ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + values: + type: array + items: + type: object + properties: + domain: + example: internal.dev + name: + example: Thom Yorke + notes: + example: OK Computer + email: + example: tyorke@somedomain.net + contact: + example: 'phone: 203-555-5555' + location: + example: Not Here + adusername: + example: None + id: + example: '132' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postEndUsers + description: Create/update end users + summary: Create/update + tags: + - End Users + parameters: + - name: id + type: integer + in: formData + description: enduser id. This is required if name is not passed. + - name: name + type: string + in: formData + description: enduser name. This is required if id is not passed. + - $ref: '#/parameters/email' + - name: contact + type: string + in: formData + - name: location + type: string + in: formData + - $ref: '#/parameters/notes_post' + - name: create_new + type: boolean + in: formData + description: Set to true to force creation of new user with the passed in parameters. + name is required when set to true. + This parameter is ignored if id is passed. + - name: new_name + type: string + in: formData + description: Change name of an existing enduser. This parameter is ignored when creating a new enduser. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - enduser added or updated + - 11 + - Milton + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/endusers/{id}/': + delete: + operationId: deleteEndUsers + summary: Delete + description: >- + This API is used to delete the end user with the end user id supplied as + the required argument + tags: + - End Users + parameters: + - name: id + in: path + description: end user id + type: integer + required: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '114' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/custom_fields/endusers/': + put: + operationId: putCustom_fieldsEndUsers + description: >- + Create or update custom fields for End Users. "ID" or "name" of End Users is + needed even when value is not being changed + summary: Custom fields + tags: + - End Users + parameters: + - name: name + type: string + in: formData + description: Name of EndUser + - name: id + type: string + in: formData + description: ID of EndUser + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 220 + - “NetworkService” + - true, + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/reports/id/{id}/': + get: + operationId: getReports + description: Run a report and retrieve results + summary: Run + tags: + - Reports + parameters: + - name: id + in: path + required: true + type: integer + - $ref: '#/parameters/csv_format' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + file_url: + example: >- + /var/www/graphics/images/temp/report-201523February0521AM528423.txt + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/history/: + get: + operationId: getHistory + summary: Get + description: >- + Retrieves all history for the past one week. (Note, as of 10.3.0 + Device42 now has a more robust audit log available at + /api/api/1.0/auditlogs/ + tags: + - History + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + $ref: '#/definitions/getHistory' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/history//: + get: + operationId: getHistoryNumber_of_weeks + summary: Get by weeks + description: Retrieves history for specified number of weeks in the past + tags: + - History + deprecated: true + responses: + '200': + description: 'The above command returns results like this:' + schema: + type: array + items: + $ref: '#/definitions/getHistory' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auditlogs/: + get: + operationId: getAuditlogs + summary: Get + description: Retrieves the audit history for all changes made in Device42 + tags: + - Audit Log + parameters: + - $ref: '#/parameters/object_id' + - $ref: '#/parameters/content_type' + - $ref: '#/parameters/action_time_gt' + - $ref: '#/parameters/action_time_lt' + - name: related + type: string + in: query + description: Related audit changes. Options are 'all' or 'related' + - name: action + type: sting + in: query + description: >- + What action was taken described in the audit. + Options are Insert, Delete, Update, Truncate, View, Login, API + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/getAuditLogs' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteAuditlogs + summary: Delete + description: >- + Deletes audit history logs made in Device42 + tags: + - Audit Log + parameters: + - name: days + in: formData + description: Events older than “days” will be deleted + type: integer + required: true + - name: chunk_size + in: formData + type: integer + description: Use to limit the number of records that will be deleted. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + chunk_size: + example: 1000 + loops: + example: 7 + deleted audit records: + example: true + days: + example: 1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/networks/: + get: + operationId: getAuto_discoveryNetworks + summary: Get network jobs + description: Retrieves all autodiscovery jobs for networking devices + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + end_ip: + example: '' + job_id: + example: 54 + name: + example: job54 + start_ip: + example: 192.168.11.21 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryNetworks + description: Create/update network discovery job + summary: Create/update network job + tags: + - Autodiscovery + - snmp + parameters: + - name: name + type: string + required: true + description: name of the job + in: formData + - name: server + type: string + in: formData + description: FQDN or IP of the server(s) or cidr or ranges. + - name: exclude_servers + type: string + in: formData + description: IP or FQDN of server(s) or cidr or ranges to exclude. + - name: service_level + type: string + in: formData + description: Name of service level. + - name: clear_service_level + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Clear existing service level. + - name: customer + type: string + in: formData + description: Name of customer/department. + - name: clear_customer + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Clear existing customer. + - name: ip_address + type: string + in: formData + description: IP address.
                                                                                  NOTE - this is a legacy parameter; use server param instead. + - name: end_ip_address + type: string + in: formData + description: End IP address.
                                                                                  NOTE - this is a legacy parameter; use server param instead. + - name: enable_pdu_monitoring + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Enable PDU monitoring - yes/no. + - name: polling_interval + type: integer + in: formData + description: Polling interval in seconds. Adjusted to the nearest available interval value. (e.g., 300 = 5 minutes, 1800 = 30 minutes). + - name: remote_collector_id + type: string + in: formData + description: Note: REQUIRED if you enable PDU Monitoring.
                                                                                  The D42 ID of the remote collector to use for this job. + - name: do_port_check + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Run nmap port-scan prior to discovery. + - name: snmp_min_parallel + type: integer + in: formData + description: Set nmap option min_parallelism (Only change if directed by Support). + - $ref: '#/parameters/snmp_string' + - $ref: '#/parameters/snmp_strings' + - $ref: '#/parameters/snmp_string_ids' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/strip_domain_name' + - $ref: '#/parameters/autodiscover_cdp_devices' + - $ref: '#/parameters/use_name_alias_port_descr' + - $ref: '#/parameters/clear_existing_schedule' + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - name: mask_bits + type: integer + in: formData + description: mask bits (integer only) + - $ref: '#/parameters/snmp_port' + - $ref: '#/parameters/snmp_version' + - $ref: '#/parameters/snmp_string_id' + - $ref: '#/parameters/snmpv3_auth_password_id' + - $ref: '#/parameters/snmpv3_privacy_protocol_password_id' + - $ref: '#/parameters/snmpv3_user' + - $ref: '#/parameters/snmpv3_auth_mode' + - $ref: '#/parameters/snmpv3_auth_protocol' + - $ref: '#/parameters/snmpv3_auth_password' + - $ref: '#/parameters/snmpv3_privacy_protocol' + - $ref: '#/parameters/snmpv3_privacy_protocol_password' + - $ref: '#/parameters/snmpv3_context' + - $ref: '#/parameters/get_all_switch_ports' + - $ref: '#/parameters/delete_older_mac_association_after' + - $ref: '#/parameters/delete_switch_port_not_found' + - $ref: '#/parameters/vlans_to_ignore' + - $ref: '#/parameters/port_name_prefix_to_ignore_macs' + - $ref: '#/parameters/debug_level' + - $ref: '#/parameters/hostname_precedence' + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/skip_vlan_indexing' + - $ref: '#/parameters/vrfgroup' + - $ref: '#/parameters/object_category' + - $ref: '#/parameters/discover_services' + - $ref: '#/parameters/discover_parts' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - $ref: '#/parameters/remove_password_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: network autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryNetworks + description: >- + Execute network job. Required parameters: name or job_id + summary: Run network job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/networks/{id}/: + delete: + operationId: deleteAuto_discoveryNetworks + summary: Delete network job + description: Deletes network (SNMP) discovery job + tags: + - Autodiscovery + parameters: + - name: id + in: path + required: true + description: ID of the network(SNMP) job to delete + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/nmap/: + get: + operationId: getAuto_discoverynmap + summary: Get nmap jobs + description: Retrieves all autodiscovery nmap jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 1 + schedule_time: + example: '' + schedule_day: + example: '' + end_ip: + example: '' + start_ip: + example: '' + target: + example: 10.42.0.1-10.42.0.10, 10.42.1.0/24, device42-sandbox, device42-prod + exclude_targets: + example: 10.42.0.3, 10.42.1.42-10.42.1.50, device42-prod + name: + example: Nmap-job-1 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoverynmap + description: Create nmap autodiscovery job + summary: Create nmap job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: ip_start + in: formData + type: string + description: Legacy Field. Please use Target property + - name: ip_end + in: formData + type: string + description: Legacy Field. Please use Target property + - $ref: '#/parameters/target' + - $ref: '#/parameters/exclude_targets' + - name: remote_collector_id + type: string + in: formData + description: D42 ID of the remote collector to use for this job. + required: true + - name: nameserver + type: string + in: formData + description: IP/FQDA of name server + - name: os_detection + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Select yes to detect operating system. + - name: services_detection + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Select yes to detect services. + - name: object_category + type: string + in: formData + description: Name of subnet category for discovered subnets + - name: new_object_category + type: string + in: formData + description: Update an existing object category. + - name: overwrite_device_categories + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Overwrite the object categories for existing discovered devices.

                                                                                  Note - this is equivalent to the 'Overwrite existing object categories' parameter shown in the D42 Nmap UI. + - name: vrfgroup + in: formData + type: string + description: Name of vrf group for discovered subnets + - name: vrfgroup_id + in: formData + type: string + description: D42 ID of group for discovered subnets + - name: tags + in: formData + type: string + description: Comma separated list of tags + - name: tags_remove + in: formData + type: string + description: Comma separated list of tags to remove + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: nmap autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoverynmap + description: >- + Execute nmap job. Required parameters: name or job_id + summary: Run nmap job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id supplied + in: formData + - name: job_id + type: string + description: D42 ID of the job - required if no name supplied + in: formData + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/pingsweep/: + get: + operationId: getAuto_discoveryPingsweep + summary: Get pingsweep jobs + description: Retrieve all autodiscovery pingsweep jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + strip_domain_suffix: + example: 'no' + create_new_subnet: + example: 'yes' + name: + example: job54 + overwrite_subnet_category: + example: 'yes' + schedule_time: + example: '' + schedule_days: + example: '' + job_id: + example: 2 + vrfgroup: + example: '' + debug_level: + example: Debug Off + reverse_dns: + example: 'no' + type: + example: '' + networks: + example: 8.8.8.0/28 + subnet_category: + example: '' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryPingsweep + summary: Create/update pingsweep job + description: Create/update pingsweep job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + description: name of the job + in: formData + - name: networks + type: string + in: formData + description: Networks to search. Required if new + - name: type + type: string + in: formData + enum: + - Static + - DHCP + - Reserved + description: Choose if you want to automatically assign type to discovered IPs. + - name: strip_domain_suffix + type: string + enum: + - 'yes' + - 'no' + in: formData + description: Strip everything after the first dot + - $ref: '#/parameters/clear_existing_schedule' + - name: debug_level + type: string + enum: + - Debug Off + - Debug On + in: formData + - name: reverse_dns + type: string + enum: + - 'yes' + - 'no' + in: formData + description: >- + Add devices by reverse DNS of discovered IP. (Recommended to leave + unchecked and use other discovery methods for devices) + - name: create_new_subnet + type: string + enum: + - 'yes' + - 'no' + in: formData + description: Create new subnet for networks not found + - name: vrfgroup + type: string + in: formData + description: name of vrf group for discovered subnets + - name: subnet_category + type: string + in: formData + description: name of subnet category for discovered subnets + - name: overwrite_subnet_categories + type: string + enum: + - 'yes' + - 'no' + description: >- + If a subnet is discovered that exists and already has a subnet + category, the category will be overwritten and all child subnets of + the discovered subnet will also get the new category. + in: formData + - name: remote_collector_id + type: integer + in: formData + description: ID of the remote collector to use for this job + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Ping Sweep autodiscovery job added + - 4 + - test_job + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryPingsweep + description: >- + Execute pingsweep job. Required parameters: name or job_id + summary: Run pingsweep job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/blade_disc/: + get: + operationId: getAuto_discoveryBlade_disc + summary: Get Blade jobs + description: Retrieves all Blade autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 54 + name: + example: job54 + port: + example: 163 + servers: + example: 192.168.3.1 + snmp_version: + example: v3 + icmp_tcp_port_check: + example: yes + debug_level: + example: Debug Off + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryBlade_disc + description: Create/update blade autodiscovery job + summary: Create/update blade job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: server + type: string + in: formData + description: FQDN or IP of the server(s) or cidr or ranges. + - name: ipaddress + type: string + in: formData + description: IP address. Required if new + - $ref: '#/parameters/end_ip_address' + - $ref: '#/parameters/snmp_string' + - $ref: '#/parameters/snmp_string_id' + - $ref: '#/parameters/snmp_strings' + - $ref: '#/parameters/snmp_string_ids' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/strip_domain_name' + - $ref: '#/parameters/clear_existing_schedule' + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - $ref: '#/parameters/snmp_port' + - $ref: '#/parameters/snmp_version' + - $ref: '#/parameters/snmpv3_user' + - $ref: '#/parameters/snmpv3_auth_mode' + - $ref: '#/parameters/snmpv3_auth_protocol' + - $ref: '#/parameters/snmpv3_auth_password' + - $ref: '#/parameters/snmpv3_privacy_protocol' + - $ref: '#/parameters/snmpv3_privacy_protocol_password' + - $ref: '#/parameters/snmpv3_context' + - $ref: '#/parameters/debug_level' + - $ref: '#/parameters/hostname_precedence' + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/name_to_use_for_newly_discovered_module' + - $ref: '#/parameters/toggle_in_service_on_module_power_state' + - $ref: '#/parameters/module_not_found' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - $ref: '#/parameters/remove_password_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: network autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryBlade_disc + description: >- + Execute blade autodiscovery job. Required parameters: name or job_id + summary: Run blade job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/portscan/: + get: + operationId: getAuto_discoveryPortscans + description: Get all portscan jobs + summary: Retrieves all portscan autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: '8305' + limit: + example: '1' + offset: + example: '0' + jobs: + type: array + items: + $ref: '#/definitions/auto_discoveryPortscan' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryPortscan + summary: Create/Update portscan job + description: Create/update portscan autodiscovery job + tags: + - Autodiscovery + parameters: + - name: name + type: string + in: formData + description: name of the job + required: true + - name: server + type: string + description: IP or FQDN of target server + in: formData + required: true + - name: exclude_servers + type: string + description: Exclude Server(s) + in: formData + - name: task_name_template + type: string + description: >- + Auto-created Task Name Template. AD Task names must be unique! Supported tags: %platform% - nix/windows, %name% - this task name + in: formData + - $ref: '#/parameters/debug_level' + - name: vserver_debug_level + type: string + enum: + - 'yes' + - 'no' + in: formData + description: >- + vServer Debug level + - $ref: '#/parameters/hostname_precedence' + - $ref: '#/parameters/ignore_host_serial' + - $ref: '#/parameters/ignore_host_uuid' + - $ref: '#/parameters/discover_vms' + - name: discover_vm_creation_date + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Discover VM Creation Date (vSphere 6.7+) + - name: set_device_dnp + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Do NOT inherit object category from parent + - $ref: '#/parameters/device_name_format' + - name: add_nonauthoritativealiases + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Add Non-Authoritative Aliases to device + - $ref: '#/parameters/ignore_ipv6' + - name: ignore_subnets + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Ignore Subnets + - $ref: '#/parameters/ignore_virt_subtype' + - $ref: '#/parameters/discover_parts' + - $ref: '#/parameters/capture_hosts_file' + - $ref: '#/parameters/discover_software' + - $ref: '#/parameters/initial_software_type' + - $ref: '#/parameters/discover_services' + - $ref: '#/parameters/discover_applications' + - $ref: '#/parameters/discover_cloudid' + - name: discover_cluster + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Discover Cluster Information + - $ref: '#/parameters/store_config_files' + - name: store_software_config_files + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Store Software Config Files + - name: store_registry_info + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Store Registry Information + - name: store_filesystem_info + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Store File System Information + - $ref: '#/parameters/strip_domain_suffix' + - name: servername_as_devicename + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Use the server as the device name. If yes, use the server name as the device name. (this does not apply to entered IPs, CIDR blocks or IP ranges) + - $ref: '#/parameters/service_level_post' + - name: object_category_id + type: string + in: formData + description: >- + Object Category ID for discovered devices. Existing object category will not be overwritten. + - name: object_category + type: string + in: formData + description: >- + Object Category for discovered devices. Existing object category will not be overwritten. + - name: new_object_category + type: string + in: formData + description: >- + Object Category for discovered devices. Existing object category will be overwritten. + - name: overwrite_device_categories + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Overwrite existing object categories. If a device is discovered that exists and already has an object category, then if this box is checked, the category will be overwritten and all child devices of the discovered device will also get the new category. + - $ref: '#/parameters/customer_id' + - $ref: '#/parameters/clear_customer' + - name: vrfgroup_id + type: string + in: formData + description: >- + VRF Group ID for discovered devices- $ref: '#/parameters/vrf_group_id_post' + - name: vrfgroup + type: string + in: formData + description: VRF Group for discovered devices + - $ref: '#/parameters/remote_collector_id' + - name: polling_interval + type: integer + in: formData + description: >- + Polling interval.
                                                                                  + interval <= 300 - 5 minutes
                                                                                  + interval <= 600 - 10 minutes
                                                                                  + interval <= 900 - 15 minutes
                                                                                  + interval <= 1800 - 30 minutes
                                                                                  + interval <= 3600 - 1 hour
                                                                                  + interval <= 7200 - 2 hours
                                                                                  + interval <= 14400 - 4 hours
                                                                                  + interval <= 21600 - 6 hours
                                                                                  + interval <= 43200 - 12 hours
                                                                                  + otherwise - 24 hours + - $ref: '#/parameters/enable_resources_monitoring' + - name: collect_db_info + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Collect database server information. Use yes or no. + - name: ignore_host_os_info + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Ignore Host OS Info + - name: allow_sudo + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Allow command to run as sudo + - name: allow_su + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Allow su to another user + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - name: username + type: string + in: formData + description: username to use in discovery. Required when creating a new job. + - name: password + type: string + in: formData + description: password to use in discovery. Required when creating a new job. + - name: db_username + type: string + in: formData + description: Username for DB discovery. Required if collect_db_info is 'yes' + - name: db_password + type: string + in: formData + description: Password for DB discovery. Required if collect_db_info is 'yes' + - name: tags + type: string + in: formData + description: >- + Comma-separated tags. + - name: tags_remove + type: string + description: remove tags (comma separated) + in: formData + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/remove_password_ids' + + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - TCP Port Scan autodiscovery job added + - 10 + - Create_by_API + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryPortscan + description: Execute TCP Portscan job + summary: Run TCP Portscan job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/portscan/{id}/: + get: + operationId: getAuto_discoveryPortscan + description: This call will get information about TCP portscan job by the ID + summary: Get portscan autodiscovery job + tags: + - Autodiscovery + parameters: + - name: id + type: integer + in: path + required: true + description: TCP Portscan Job ID. + responses: + '200': + description: 'The above command returns results like this:' + schema: + $ref: '#/definitions/auto_discoveryPortscan' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteAuto_discoveryPortscan + summary: Delete portscan autodiscovery job + description: >- + This API is used to delete a portscan autodiscovery job with the id supplied as the + required argument + tags: + - Autodiscovery + parameters: + - name: id + type: integer + in: path + required: true + description: Device id + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + admin: + example: + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/power_disc/: + post: + operationId: postAuto_discoveryPower_disc + description: Create/update power autodiscovery job + summary: Create/update power job + tags: + - Autodiscovery + deprecated: true + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - $ref: '#/parameters/appliance' + - name: server + type: string + in: formData + description: FQDN or IP of the server(s) or cidr or ranges. + - name: ipaddress + type: string + in: formData + description: IP address. Required if new + - $ref: '#/parameters/end_ip_address' + - $ref: '#/parameters/snmp_string' + - $ref: '#/parameters/snmp_strings' + - $ref: '#/parameters/snmp_string_ids' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/strip_domain_name' + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/vrfgroup' + - $ref: '#/parameters/object_category' + - name: category + in: formData + description: subnet category to assign to addresses of discovered units + type: string + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - $ref: '#/parameters/snmp_port' + - $ref: '#/parameters/snmp_version' + - $ref: '#/parameters/snmp_string_id' + - $ref: '#/parameters/snmpv3_auth_password_id' + - $ref: '#/parameters/snmpv3_privacy_protocol_password_id' + - $ref: '#/parameters/snmpv3_user' + - $ref: '#/parameters/snmpv3_auth_mode' + - $ref: '#/parameters/snmpv3_auth_protocol' + - $ref: '#/parameters/snmpv3_auth_password' + - $ref: '#/parameters/snmpv3_privacy_protocol' + - $ref: '#/parameters/snmpv3_privacy_protocol_password' + - $ref: '#/parameters/snmpv3_context' + - $ref: '#/parameters/hostname_precedence' + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/name_to_use_for_newly_discovered_module' + - $ref: '#/parameters/toggle_in_service_on_module_power_state' + - $ref: '#/parameters/module_not_found' + - $ref: '#/parameters/name_to_use_for_newly_discovered_pdu' + - $ref: '#/parameters/polling_interval' + - $ref: '#/parameters/remove_password_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Power autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryPower_disc + description: Execute power autodiscovery job + summary: Run power job + tags: + - Autodiscovery + deprecated: true + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/vserver/: + get: + operationId: getAuto_discoveryvServer + summary: Get all vServer jobs + description: Retrieves all vServer autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + url_prefix: + example: https + job_id: + example: 54 + name: + example: vserverjob54 + port: + example: 443 + target: + example: 192.168.11.21 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryVserver + description: Create/update vServer autodiscovery job + summary: Create/update vServer job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: server + type: string + in: formData + description: IP or FQDN of target server + required: true + - name: platform + in: formData + type: string + enum: + - windows + - classic winrm + - docker api + - docker + - nutanix + - linux + - vmware + - unix + - aix hmc + - openvz + - oracle vm + - lxc + - kvm + - libvirt + - ovirt + - redhat + - citrix xen + - sccm + required: true + - name: use_ftp + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Use FTP instead of Telnet for discovery. + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - name: password_ids + type: string + in: formData + description: One or more D42 password ID numbers separated by commas + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - name: object_category + type: string + in: formData + description: category of discovered vservers and vms + - $ref: '#/parameters/debug_level' + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/url_prefix' + - name: port + type: string + in: formData + description: specify port + - $ref: '#/parameters/url_suffix' + - name: username + type: string + in: formData + description: username to use in discovery. Required when creating a new job. + - name: password + type: string + in: formData + description: password to use in discovery. Required when creating a new job. + - name: collect_db_info + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Collect database server information. Use yes or no. + - name: db_username + type: string + in: formData + description: Username for DB discovery. Required if collect_db_info is 'yes' + - name: db_password + type: string + in: formData + description: Password for DB discovery. Required if collect_db_info is 'yes' + - name: collect_with_db_server + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Collect SCCM by using the database server. Use yes or no. + - $ref: '#/parameters/strip_domain_suffix' + - $ref: '#/parameters/prepend_vmhostname' + - $ref: '#/parameters/ignore_powered_off' + - $ref: '#/parameters/discover_vms' + - $ref: '#/parameters/vm_name_to_use' + - $ref: '#/parameters/add_multiple_vm_names_as_alias' + - $ref: '#/parameters/toggle_service_level_on_vm_power_state' + - $ref: '#/parameters/get_guest_os_info' + - $ref: '#/parameters/ignore_guest_uuid' + - $ref: '#/parameters/vm_not_found' + - $ref: '#/parameters/track_vm_name_change' + - $ref: '#/parameters/hostname_precedence' + - $ref: '#/parameters/hostidlist' + - $ref: '#/parameters/vm_add_disk' + - $ref: '#/parameters/host_allow_duplicate_serials' + - $ref: '#/parameters/ignore_host_serial' + - $ref: '#/parameters/ignore_host_uuid' + - $ref: '#/parameters/overwrite_object_categories' + - $ref: '#/parameters/remote_collector_id' + - $ref: '#/parameters/use_service_account' + - $ref: '#/parameters/ignore_ipv6' + - $ref: '#/parameters/ignore_virt_subtype' + - $ref: '#/parameters/device_name_format' + - $ref: '#/parameters/discover_parts' + - $ref: '#/parameters/capture_hosts_file' + - $ref: '#/parameters/discover_software' + - $ref: '#/parameters/initial_software_type' + - name: discover_lines_of_code + type: string + in: formData + enum: + - 'yes' + - 'no' + description: If enabled, please set the max timeout for the discovery to greater than 5 minutes. + - $ref: '#/parameters/discover_services' + - $ref: '#/parameters/discover_applications' + - $ref: '#/parameters/store_config_files' + - $ref: '#/parameters/discover_cloudid' + - $ref: '#/parameters/customer_id' + - $ref: '#/parameters/clear_customer' + - $ref: '#/parameters/vrf_group_id_post' + - $ref: '#/parameters/service_level_device_id' + - $ref: '#/parameters/sudo_retry' + - $ref: '#/parameters/alternate_sudo' + - $ref: '#/parameters/use_domain_server' + - $ref: '#/parameters/ldap_server' + - $ref: '#/parameters/use_fqdn' + - $ref: '#/parameters/ldap_filter_type' + - $ref: '#/parameters/ldap_unpwd_id' + - $ref: '#/parameters/alternate_sudo_password_id' + - $ref: '#/parameters/polling_interval' + - $ref: '#/parameters/enable_resources_monitoring' + - name: ignore_host_os_info + in: formData + type: string + enum: + - 'yes' + - 'no' + description: Option to ignore the Host OS name + - $ref: '#/parameters/exclude_servers' + - name: allow_su + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Allow super user permissions to another user + - name: use_ftps + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Use FTPS instead of Telnet for discovery. + - name: use_winrm + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Use WinRM for windows discovery instead of WDS/WMI. + - name: use_winrm_wds + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Use WinRM through the WDS service for windows discovery instead of WDS using WMI or direct WinRM from RC. + - name: sync_notes + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Sync Notes. Currently only for VMWare. + - name: discover_vcloud + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Discover vCloud. Only for VMWare. + - name: add_custom_attributes_as_custom_fields + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Get Custom Attributes as Custom Fields. Only for VMWare. + - name: remote_ip_exclusions + type: string + in: formData + description: start_ip-end_ip of remote IP range to exclude,eg.
                                                                                  1.1.1.1-1.1.1.5 +
                                                                                  Provide comma separated values to exclude multiple ranges, eg.
                                                                                  1.1.1.1-1.1.1.2,3.2.2.2-3.2.2.255 + - name: remote_ip_exclusions_clear + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Remove all remote_ip_exclusions from vserver + - name: add_tags_as_custom_fields + type: integer + in: formData + enum: + - 1 + - 2 + description: >- + Add vCloud vendor tags as custom fields.
                                                                                  + Works only if "Discover vCloud" checked. Tags with keys greater than 32 characters will be omitted.
                                                                                  + 1: Tag as key, description as value 2: Category as key, tag as value + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - name: ignore_disc_nics + type: string + in : formData + description: Ignore the following interfaces (* for all or name(s) that starts with entered text as CSV) + - name: ignore_disc_ips + type: string + in : formData + description: Ignore the following IPs (can be IP(s), CIDR(s) and/or range(s). + - name: ignore_disc_macs + type: string + in : formData + description: Ignore the following MACs (* for all or MAC(s) that starts with entered text as CSV) + - $ref: '#/parameters/remove_password_ids' + - name: prioritize_dns_name + type: string + enum: + - 'yes' + - 'no' + in: formData + description: yes or no + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - vserver autodiscovery job added + - 10 + - Create_by_API + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryVserver + description: Execute vServer job + summary: Run vServer job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/cloudaccount/: + get: + operationId: getAuto_discoveryCloudaccount + summary: Get all cloud jobs + description: Retrieves all cloud autodiscovery jobs + tags: + - Autodiscovery + - cloud + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 54 + name: + example: Oraclejob54 + cloud_type: + example: oracle cloud + vendor: + example: oracle + remote_collector: + example: rc-223-la + user_id: + example: sjapo4duy17re45 + key_file: + example: b48b-9acd57b4a3a0 + tenant_id: + example: a41cde6e-8f12-44b8 + oracle_regions: + example: us-ashburn-1,us-phoenix-1 + instance_not_found: + example: Change status + collect_db_info: + example: 'no' + db_usernames: + example: [] + db_password_ids: + example: [] + add_tags_to_device: + example: 2 + add_tags_as_custom_fields: + example: 3 + vendor_metadata_source: + example: 2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryCloudaccount + description: >- + Create/update a cloud autodiscovery job.
                                                                                  +

                                                                                  Required parameters by cloud vendor or job type.
                                                                                  (API parameter = UI equivalent)

                                                                                  ALL DISCOVERY JOBS
                                                                                  - name = Name
                                                                                  - cloud_type = Cloud Type +

                                                                                  AMAZON AWS
                                                                                  - accountid = Access Key ID
                                                                                  - secret_key OR secret_key_id = Secret Key
                                                                                  - regions = Regions
                                                                                  +

                                                                                  MICROSOFT AZURE
                                                                                  - auth_type = Authentication Type
                                                                                  - accountid = Client ID (Service Principal) or Username (User Credentials)
                                                                                  - secret_key OR secret_key_id = Client Secret (Service Principal) or Password (User Credentials)
                                                                                  - subscriptionid = Subscription ID
                                                                                  - tenant = Tenant ID +

                                                                                  LINODE
                                                                                  - api_key OR api_key_id = API Key +

                                                                                  DIGITALOCEAN
                                                                                  - token_key = Token Key +

                                                                                  OPENSTACK
                                                                                  - ip = URL
                                                                                  - username = User
                                                                                  - secret_key OR secret_key_id = Password
                                                                                  - tenant = Project Name +

                                                                                  GOOGLE CLOUD
                                                                                  - tenant = Project ID
                                                                                  - secret_key OR secret_key_id = Credentials JSON
                                                                                  - google_regions = Zones +

                                                                                  ALIBABA CLOUD
                                                                                  - accountid = Access Key ID
                                                                                  - secret_key OR secret_key_id = Access Key Secret +

                                                                                  ORACLE CLOUD
                                                                                  - accountid = User ID
                                                                                  - api_key OR api_key_id = Fingerprint
                                                                                  - secret_key OR secret_key_id = Key File
                                                                                  - tenant = Tenant ID
                                                                                  - oracle_regions = Zones +

                                                                                  STANDALONE KUBERNETES
                                                                                  - ip = URL
                                                                                  - auth_type = Authentication Type
                                                                                  - accountid = Bearer Token or Basic Credentials (depending on Authentication Type) +

                                                                                  ARISTA CLOUDVISION
                                                                                  - server = node(s)
                                                                                  - auth_type = Authentication Type
                                                                                  - username (Basic Credentials Only)
                                                                                  - secret_key (password if auth_type = Basic Authentication, API Token if auth_type = Bearer Token)
                                                                                  - tenant (CVSaaS only) +

                                                                                  JAMF
                                                                                  - ip = URL
                                                                                  - accountid = User ID +

                                                                                  WORKSPACE ONE
                                                                                  - ip = URL
                                                                                  - tenant = Tenant
                                                                                  - accountid = Basic Credentials + summary: Create/update cloud job + tags: + - Autodiscovery + - cloud + parameters: + - name: name + type: string + required: true + in: formData + description: Name of the discovery job; required for all jobs. + - $ref: '#/parameters/cloud_type' + - $ref: '#/parameters/secret_key_id' + - $ref: '#/parameters/vendor_post' + - name: kubernetes_discovery + in: formData + description: Available for Amazon AWS, Microsoft Azure, and standalone Kubernetes.
                                                                                  Yes / No + type: string + enum: + - 'yes' + - 'no' + - name: remote_collector_id + in: formData + description: ID number of the remote collector (RC) to use for the job. + type: string + - name: customer_id + in: formData + description: Customer ID number for discovered devices. + type: string + - $ref: '#/parameters/clear_customer' + - name: device_name_format + in: formData + description: Name format for discovered cloud instances (only for Alibaba Cloud, Amazon AWS, Google Cloud, MS Azure, Oracle Cloud). + type: string + enum: + - 'Instance ID + name (if defined)' + - 'Instance ID' + - 'Name (only use if unique)' + - name: container_not_found + in: formData + description: For Kubernetes discovery.
                                                                                  1 = changes status, 2 = delete container + type: string + enum: + - '1' + - '2' + - name: auth_type + in: formData + description: Type of authentication credentials for MS Azure and Standalone Kubernetes. + type: string + enum: + - 'User Credentials' + - 'Service Principal' + - 'Bearer Token' + - 'Basic Credentials' + - name: accountid + type: string + in: formData + description: Required for Alibaba Cloud, Amazon AWS, Kubernetes, MS Azure, Oracle Cloud, Jamf, Workspace ONE. + - $ref: '#/parameters/vrfgroup' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/remove_unfound_instances' + - $ref: '#/parameters/strip_domain_name' + - $ref: '#/parameters/add_suffix' + - $ref: '#/parameters/match_name_only_for_virtuals' + - $ref: '#/parameters/match_name_only_for_hypervisor' + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - name: object_category + type: string + in: formData + description: category of discovered vservers and vms + - $ref: '#/parameters/debug_level' + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/secret_key' + - $ref: '#/parameters/regions' + - $ref: '#/parameters/aws_roles' + - aws_roles_remove: + name: aws_roles_remove + in: formData + type: string + description: >- + Comma separated names of aws_roles to remove from a cloud discovery job. Use * to clear all aws_roles from a cloud discovery job. + - name: azure_cloud_definition + type: string + in: formData + enum: + - 'Public' + - 'China' + - 'US Gov.' + - 'German' + description: Cloud Definition for MS Azure discovery jobs. + - name: google_regions + type: string + in: formData + description: comma-separated list of Google region names + - name: oracle_regions + type: string + in: formData + description: comma-separated list of Oracle region names + - $ref: '#/parameters/subscriptionid' + - name: ip + type: string + in: formData + description: OpenStack URL; Standalone Kubernetes URL; Jamf URL; Workspace ONE URL; + - name: server + type: string + in: formData + description: (Arista CloudVision; IP(s) or hostname(s) for CVP nodes) + - $ref: '#/parameters/tenant' + - name: username + type: string + in: formData + description: OpenStack username - required for OpenStack + - name: api_key + type: string + in: formData + description: Oracle Cloud Fingerprint; Linode API Key + - name: api_key_id + type: string + in: formData + description: Oracle Cloud Fingerprint; Linode API Key + - $ref: '#/parameters/api_token' + - $ref: '#/parameters/token_key' + - name: alibaba_regions + in: formData + description: Comma-separated list of Alibaba Cloud region names. + type: string + - name: features + in: formData + type: string + description: >- + Comma-separated list of features. + Choices for AWS are: s3, ebs, route53, databases, elb, functions, redshift, dynamodb, efs. + Choices for GCP are: databases. + Choices for AZURE are: databases, functions. + Use 'D42_NULL' to disable advanced features for Cloud discovery jobs. + - name: collect_db_info + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Collect database server information. Use yes or no. ( Cosmos DB for PostgreSQL only ) + - name: db_username + type: string + in: formData + description: Username for DB discovery. Required if collect_db_info is 'yes' + - name: db_password + type: string + in: formData + description: Password for DB discovery. Required if collect_db_info is 'yes' + - name: extended_discovery + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Collect summary information on all AWS/Azure resources that are not supported by full discovery yet. Use yes or no. + - name: chromeos_discovery + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Collect summary information on all ChromeOS devices in Google Cloud Platform discovery. Use yes or no. + - name: use_env_credentials + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Use cloud credentials from environment not from job. Only supported for AWS. + - name: discover_all_subscriptions + type: boolean + in: formData + description: Discover all Subscriptions within Azure Tenant. + - $ref: '#/parameters/service_level_post' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - name: add_tags_as_custom_fields + type: integer + in: formData + enum: + - 1 + - 2 + - 3 + description: >- + The way how to add vendor metadata.
                                                                                  + 1: Do nothing 2: Add as custom fields 3: Add as tags + - name: vendor_metadata_source + type: integer + in: formData + enum: + - 1 + - 2 + description: >- + Metadata source ( For Google Cloud Only ).
                                                                                  + 1: Labels 2: Custom Metadata + - $ref: '#/parameters/remove_password_ids' + - name: add_tags_to_device + type: integer + in: formData + enum: + - 1 + - 2 + description: >- + Add tags to device ( For Google Cloud Only ).
                                                                                  + 1: Do nothing 2: Import Tags + responses: + '200': + description: 'The above command returns results like this:' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryCloudaccount + description: Execute cloud job + summary: Run cloud job + tags: + - Autodiscovery + - cloud + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/cloud_infrastructure/: + get: + operationId: getCloud_infrastructure + summary: Get AWS cloud info + description: Retrieves cloud account for AWS discovery + tags: + - Cloud Account + parameters: + - name: id + type: string + in: formData + description: Cloud account id. + - name: account + type: string + in: formData + description: Cloud account. + - name: organization + type: string + in: formData + description: Organization. + - name: name + type: string + in: formData + description: Name. + - name: tags + type: string + in: formData + description: Comma-separated list of infrastucture tags. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 1 + limit: + example: 1000 + offset: + example: 0 + cloud_infrastructures: + type: array + items: + type: object + properties: + account: + example: 458407285063 + cloud_vendor_id: + example: 1 + notes: + example: New Notes + tags: + example: [] + last_changed: + example: 2020-06-19T16:40:02.528Z + first_added: + example: 2020-06-19T16:13:18.179Z + organization: + example: D42 Internal + last_edited: + example: 2020-06-19T16:40:02.811Z + id: + example: 1 + custome_fields: + example: [] + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postCloud_infrastructure + description: Modify cloud infrastructure for AWS discovery + summary: Update AWS cloud info + tags: + - Cloud Account + parameters: + - name: id + type: string + in: formData + description: Cloud account id (search only). + - name: account + type: string + in: formData + description: Cloud account (search only). + - name: notes + type: string + in: formData + description: Infrastucture notes. + - name: tags + type: string + in: formData + description: Comma-separated list of infrastucture tags. + - name: tags_remove + type: string + in: formData + description: Remove existing tags - yes/no. + enum: + - 'yes' + - 'no' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - cloud infrastructure added/updated + - 11 + - rajj + - true + - false + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/cloud_infrastructure/{id}/: + delete: + operationId: deleteCloud_infrastructure + summary: Delete cloud info + description: Deletes cloud account ID and all attached cloud resources + tags: + - Cloud Account + parameters: + - name: id + in: path + required: true + description: ID of the infrastructure to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/cloud_infrastructure/: + put: + operationId: putCustom_FieldCloud_infrastructure + description: Create/updated custom fields for cloud account + summary: Cloud info custom fields + tags: + - Cloud Account + parameters: + - name: id + in: formData + description: ID of the cloud account. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'D42-internal' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/resource/: + get: + operationId: getCloud_resource + summary: Get cloud resource + description: Retrieves cloud resources for AWS discovery + tags: + - Resources + parameters: + - name: id + type: integer + in: formData + description: Cloud resource id. + - name: name + type: string + in: formData + description: Resource name (partial match). + - name: identifier + type: string + in: formData + description: Resource identifier. + - name: device + type: string + in: formData + description: Device name. + - name: vendor_define_type + type: string + in: formData + description: Vendor definition type. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 128 + resource: + type: array + items: + properties: + category: + example: Device + zones: + example: usa-east-2a + identifier: + example: i-0d90158f3cf3e7e19 + tags: + example: "" + name: + example: d42-internal + notes: + example: oracle cloud + last_changed: + example: 2020-06-19T16:13:18.225Z + subtype: + example: [] + cloud_infra_id: + example: 2 + region: + example: usa-east-2 + root_resource_id: + example: 2 + root_resource: + example: wbd42pstgr1 + last_edited: + example: 2020-06-19T16:13:18.229Z + first_added: + example: 2020-06-19T16:13:18.229Z + id: + example: 3 + resource_storage: + example: [] + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postCloud_resource + description: Modify cloud resource for AWS discovery + summary: Update cloud resource + tags: + - Resources + parameters: + - name: id + type: string + in: formData + description: Cloud resource id (search only). + - name: identifier + type: string + in: formData + description: Cloud resource identifier (search only). + - name: notes + type: string + in: formData + description: Resource notes. + - name: tags + type: string + in: formData + description: Comma-separated list of resource tags. + - name: tags_remove + type: string + in: formData + description: Remove existing tags - yes/no. + enum: + - 'yes' + - 'no' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - resource added/updated + - 11 + - d42_internal + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/resource/{id}/: + delete: + operationId: deleteCloud_resource + summary: Delete cloud resource + description: Deletes cloud resource ID and all attached cloud resources + tags: + - Resources + parameters: + - name: id + in: path + required: true + description: ID of the resource to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/resource/{id}/archive/: + post: + operationId: archiveResourceIdv2 + description: This API archives a resource by ID + summary: Archive resource by ID + tags: + - Resources + parameters: + - name: id + type: integer + in: path + required: true + description: Resource id. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + $ref: '#/definitions/objectArchive' + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/custom_fields/resource/: + put: + operationId: putCustom_FieldCloud_resource + description: Create/updated custom fields for cloud resource + summary: Cloud resource custom fields + tags: + - Resources + parameters: + - name: id + in: formData + description: ID of the cloud resource. + required: true + type: string + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/related_field_name' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/related_field_value_by_id' + - $ref: '#/parameters/value' + - $ref: '#/parameters/clear_value' + - $ref: '#/parameters/notes_post' + - $ref: '#/parameters/clear_notes' + - $ref: '#/parameters/bulk_fields' + - $ref: '#/parameters/multi_select' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - custom key pair values added or updated + - 2 + - 'CPU NA, PN: 1000base-lx-sfp' + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/resource_relationship/: + get: + operationId: getResource_relationship + summary: Get cloud resource relationships + description: Retrieves cloud resource relationships for AWS + tags: + - Resources + parameters: + - name: id + type: string + in: formData + description: Cloud resource id. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + total_count: + example: 128 + resource_relationships: + type: array + items: + properties: + from_resource: + example: [] + category: + example: Volume + vendor_custom_fields: + example: [] + last_edited: + example: 2020-06-21T16:13:18.225Z + name: + example: d42-internal + tags: + example: [] + notes: + example: new notes + cloud_infra: + example: [] + account: + example: AW90746321 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/resource_relationship/{id}/: + delete: + operationId: deleteResource_relationship + summary: Delete cloud resource relationship + description: Deletes cloud resource relationship ID and attached resource relationships + tags: + - Resources + parameters: + - name: id + in: path + required: true + description: ID of the resource relationship to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/snmp_disc/: + get: + operationId: getAuto_discoverySnmp_disc + summary: Get all SNMP jobs + description: Retrieves all SNMP autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 54 + name: + example: snmpjob54 + port: + example: 163 + servers: + example: 192.168.3.1 + snmp_version: + example: v3 + icmp_tcp_port_check: + example: yes + debug_level: + example: Debug Off + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoverySnmp_disc + description: Create/update other SNMP autodiscovery job + summary: Create/update SNMP job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: server + type: string + in: formData + description: FQDN or IP of the server(s) or cidr or ranges. + - name: ip_address + type: string + in: formData + description: IP address. Required if new + - $ref: '#/parameters/end_ip_address' + - $ref: '#/parameters/snmp_string' + - $ref: '#/parameters/snmp_string_id' + - $ref: '#/parameters/snmp_strings' + - $ref: '#/parameters/snmp_string_ids' + - name: remote_collector_id + type: string + in: formData + description: D42 ID of the remote collector to use for this job. + - name: do_port_check + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Run nmap port-scan prior to discovery. + - name: snmp_min_parallel + type: integer + in: formData + description: Set nmap option min_parallelism (Only change if directed by Support). + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/strip_domain_name' + - $ref: '#/parameters/clear_existing_schedule' + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - $ref: '#/parameters/snmp_port' + - $ref: '#/parameters/snmp_version' + - $ref: '#/parameters/snmpv3_auth_password_id' + - $ref: '#/parameters/snmpv3_privacy_protocol_password_id' + - $ref: '#/parameters/snmpv3_user' + - $ref: '#/parameters/snmpv3_auth_mode' + - $ref: '#/parameters/snmpv3_auth_protocol' + - $ref: '#/parameters/snmpv3_auth_password' + - $ref: '#/parameters/snmpv3_privacy_protocol' + - $ref: '#/parameters/snmpv3_privacy_protocol_password' + - $ref: '#/parameters/snmpv3_context' + - $ref: '#/parameters/debug_level' + - name: service_level + type: string + in: formData + description: service level of discovered devices + - name: snmp_timeout + type: integer + in: formData + description: timeout for the snmp job + - name: snmp_retries + type: integer + in: formData + description: number of retries for the snmp job + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - $ref: '#/parameters/clear_customer' + - name: ignore_logical_ports + required: false + type: boolean + in: formData + default: false + description: Ignore logical ports. + - customer_id: + name: customer_id + in: formData + type: string + description: D42 ID of customer or department name. + - name: customer + type: string + in: formData + description: Name of customer/department. + - $ref: '#/parameters/remove_password_ids' + - $ref: '#/parameters/autodiscover_cdp_devices' + - $ref: '#/parameters/delete_older_mac_association_after' + - $ref: '#/parameters/delete_switch_port_not_found' + - $ref: '#/parameters/discover_parts' + - $ref: '#/parameters/exclude_servers' + - $ref: '#/parameters/get_all_switch_ports' + - $ref: '#/parameters/hostname_precedence' + - $ref: '#/parameters/module_not_found' + - $ref: '#/parameters/name_to_use_for_newly_discovered_module' + - $ref: '#/parameters/polling_interval' + - $ref: '#/parameters/port_name_prefix_to_ignore_macs' + - $ref: '#/parameters/skip_vlan_indexing' + - $ref: '#/parameters/toggle_in_service_on_module_power_state' + - $ref: '#/parameters/use_name_alias_port_descr' + - $ref: '#/parameters/vlans_to_ignore' + - $ref: '#/parameters/vrfgroup' + - name: category + in: formData + description: name of the category + type: string + - name: port_name_prefix_to_mark_as_uplink + type: string + in: formData + description: Port name prefix to mark as uplink. Marks discovered ports with these switch port prefix names (comma separated) as uplinks. + - name: query_device_advertised_contexts + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Query device advertised contexts + - name: Secondary Contexts + type: string + in: formData + description: Comma separated values of secondary contexts. + - name: ignore_oids + type: string + in: formData + description: Ignore the following OIDs + - name: vlans_to_include + type: string + in: formData + description: Comma separated or range values of VLAN to include. + - name: dont_add_new_device_on_remote_port + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Ignore remote port device information + - name: enable_pdu_monitoring + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Enable PDU monitoring - yes/no. + - name: overwrite_object_categories + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Overwrite the object categories for existing discovered devices.

                                                                                  Note - this is equivalent to the 'Overwrite existing object categories' parameter shown in the D42 Nmap UI. + - name: overwrite_subnet_categories + type: string + enum: + - 'yes' + - 'no' + description: >- + If a subnet is discovered that exists and already has a subnet + category, the category will be overwritten and all child subnets of + the discovered subnet will also get the new category. + - name: send_sfp_as_parts + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Add SFP ports as Parts + - name: include_unit_name + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Include the power unit name in the Device42 name assigned to the power unit + - name: include_serial_in_name + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Include the serial number in the Device42 name assigned to the power unit + - name: include_ip_in_name + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Include the serial number in the Device42 name assigned to the power unit + - name: service_level_module + type: string + in: formData + description: Service Level for Module not found + - name: device_category + type: string + in: formData + description: Object Category for discovered devices.Existing object category will not be overwritten. + - name: ignore_os + type: string + in: formData + description: Ignore the following OS(s) + - name: discovered_port_types_to_ignore + type: string + in: formData + description: Discovered port types to ignore separated by commas. + - name: remove_discovered_port_types_to_ignore + type: string + in: formData + description: Remove from Discovered port types to ignore list separated by commas. + - name: discovered_port_types_not_to_count + type: string + in: formData + description: Discovered port types not to count separated by commas. + - name: remove_discovered_port_types_not_to_count + type: string + in: formData + description: Remove from Discovered port types not to count list separated by commas. + - name: scan_all_protocols + type: string + enum: + - 'yes' + - 'no' + in: formData + description: yes or no + responses: + '200': + description: 'The above command returns results like this:' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoverySnmp_disc + description: Execute SNMP autodiscovery job + summary: Run SNMP job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/auto_discovery/storagearraytarget/: + get: + operationId: getAuto_discoveryStorageArray + summary: Get all storage array jobs + description: Retrieves all storage array autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 54 + name: + example: SA-Test-Job-2 + platform: + example: netapp + servers: + example: 192.168.3.1 + schedule_days: + example: '' + schedule_time: + example: '' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryStorageArray + description: Create/update a storage array autodiscovery job + summary: Create/update storage array job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: server + type: string + in: formData + description: IP or FQDN of target server(s).
                                                                                  REQUIRED if new. + - name: remote_collector_id + type: string + in: formData + description: D42 ID of the remote collector to use for this job.
                                                                                  REQUIRED if new. + - name: platform + type: string + in: formData + enum: + - 'emc-ecs' + - 'emc-smis' + - 'emc-unity' + - 'hp3par' + - 'infinidat' + - 'isilon' + - 'netapp' + - 'orcl-zfs' + - 'pure-storage' + - 'hitachi' + - 'lsi' + - 'ibm' + - 'dell-equal' + - 'hp3par' + - 'xtrem-io' + - 'tintri' + - 'recover-point' + - 'hp-lefthand' + - 'hdsg1k' + - 'data-domain' + - 'ibm-flash' + - 'dell-compellent' + - 'nimble' + - 'hpe-storeeasy' + - 'emc-uni-rest' + - 'dell-powerstore' + - 'purity-fb' + - 'lenovo' + description: Storage Array platform. + - name: url_prefix + type: string + in: formData + enum: + - 'http' + - 'https' + - name: port + type: string + in: formData + description: Specify port. Use UI default if unsure. + - name: exclude_servers + type: string + in: formData + description: IP or FQDN of servers to exclude. + - name: polling_interval + type: integer + in: formData + description: Polling interval in seconds. + - name: enable_resources_monitoring + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Enable performance data collection. + - name: max_timeout + type: integer + in: formData + description: Maximum timeout on connection (in seconds). + - name: netapp_target + type: string + in: formData + enum: + - 'filer' + - 'dfm' + - 'ocum' + description: Netapp target type. + - name: netap_protocol + type: string + in: formData + enum: + - 'https' + - 'http' + - 'insecure-https' + description: Netapp protocol type. + - name: sat_not_found + type: string + in: formData + enum: + - '1' + - '2' + description: Action for Storage Array not found.
                                                                                  1 = Keep array resource.
                                                                                  2 = Delete array resource. + - name: username + type: string + in: formData + description: Username to use for discovery. + - name: password + type: string + in: formData + description: Password to use for discovery. + - name: password_ids + type: string + in: formData + description: One or more D42 password ID numbers separated by commas. + - name: token_auth + type: string + in: formData + description: Whether to authenticate with the token or username/password. + enum: + - 'yes' + - 'no' + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - $ref: '#/parameters/remove_password_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - storage array job added/updated + - 11 + - d42_internal + - true + - false + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryStorageArray + description: Execute a storage array autodiscovery job + summary: Run storage array job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: Name of the job
                                                                                  - required if no job_id supplied + in: formData + - name: job_id + type: string + description: D42 ID for the job
                                                                                  - required if no job name supplied + in: formData + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/auto_discovery/storagearraytarget/{id}/: + delete: + operationId: deleteStorageArray_discovery + summary: Deletes storage array job + description: Deletes a storage array autodiscovery job + tags: + - Autodiscovery + parameters: + - name: id + in: path + required: true + description: ID of Storage Array discovery job to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '11' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/ipmi/: + get: + operationId: getAuto_discoveryIpmi + summary: Get all IPMI/Redfish jobs + description: Retrieves all IPMI/Redfish autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 54 + name: + example: IPMIjob54 + discovery_type: + example: IPMI + ip_start: + example: 10.42.54.17 + ip_end: + example: 10.42.54.21 + serial_to_use: + example: Product serial + servers: + example: 192.168.3.1 + host_name_to_use: + example: Serial / Reverse DNS / IP + vrfgroup: + example: '' + add_hardware_model: + example: no + overwrite_device_name: + example: yes + debug_level: + example: Debug Off + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryIpmi + description: Create IPMI/Redfish autodiscovery job + summary: Create IPMI/Redfish job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - $ref: '#/parameters/ip_start' + - $ref: '#/parameters/ip_end' + - $ref: '#/parameters/bmc_user' + - $ref: '#/parameters/bmc_password' + - $ref: '#/parameters/hostname_to_use' + - $ref: '#/parameters/update_model_if_found' + - $ref: '#/parameters/run_as_operator' + - $ref: '#/parameters/overwrite_device_name' + - name: object_category + type: string + in: formData + - name: vrfgroup + type: string + in: formData + description: name of vrf group for discovered subnets + - name: vrfgroup_id + type: number + in: formData + description: id of vrf group for discovered subnets + - $ref: '#/parameters/overwrite_object_categories' + - $ref: '#/parameters/clear_existing_schedule' + - name: groups + type: string + in: formData + description: name of one or more groups separated by commas + - name: debug_level + type: string + enum: + - 'yes' + - 'no' + in: formData + - $ref: '#/parameters/discovery_type' + - $ref: '#/parameters/remote_collector_id' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - $ref: '#/parameters/remove_password_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: IPMI autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryIpmi + description: Execute IPMI/Redfish autodiscovery job + summary: Run IPMI job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/job_id' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/ucs/: + get: + operationId: getAuto_discoveryUcs + summary: Get all UCS/ACI/Load Balancer jobs + description: Retrieves all UCS/ACI/Load Balancer autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + decommissioned_service_level_id: + example: '' + job_id: + example: 54 + hostname_to_use: + example: 2 + platform: + example: UCS + name: + example: UCSjob54 + exclude_servers: + example: '' + server: + example: 10.42.54.21 + device_category: + example: '' + schedule_days: + example: 1,2,4 + schedule_time: + example: 23:00 + debug_level: + example: Debug Off + port: + example: 443 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryUcs + description: Create/update a UCS/ACI/Load Balancer autodiscovery job + summary: Create/update UCS/ACI/Load Balancer job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - $ref: '#/parameters/remote_collector_id' + - name: platform + in: formData + type: string + required: true + enum: + - 'UCS' + - 'ACI' + - 'F5' + - 'NetScaler' + - 'Alteon' + - 'Cisco Prime' + description: Required + - name: server + in: formData + type: string + description: FQDN or IP of the server(s) or CIDR or ranges + - name: port + in: formData + type: string + required: true + description: Default is 443 - use this default if you are not sure. + - name: use_ssl + in: formData + type: string + description: Default is Yes - use this default if you are not sure. + enum: + - 'Yes' + - 'No' + - name: exclude_servers + in: formData + type: string + description: Servers to ignore + - name: username + in: formData + type: string + required: True + - name: password + in: formData + type: string + required: True + - name: password_id + type: integer + in: formData + description: The D42 ID of the existing secret for the password for the job. + - name: hostname_to_use + type: string + in: formData + required: true + description: Required - relevant for new devices only. If a device with same serial number already exists, name is ignored + enum: + - 'Serial #' + - 'Discovered Name' + - name: hostname_precedence + type: string + in: formData + description: Discovered name for the device is given precedence over existing name in the system. + enum: + - 'Yes' + - 'No' + - name: toggle_service_level_on_power_state + type: string + in: formData + description: Toggle the service level of a device based on power state. + enum: + - 'Yes' + - 'No' + - name: decommissioned_service_level_id + type: string + in: formData + description: Service level for decommissioned devices. + - name: vrf_group_id + in: formData + type: string + description: VRF Group for discovered devices. + - name: object_category + type: string + in: formData + description: Existing object category will not be overwritten. + - $ref: '#/parameters/overwrite_object_categories' + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/clear_existing_schedule' + - name: debug_level + type: string + in: formData + enum: + - 'Debug Off' + - 'Debug On' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + - $ref: '#/parameters/remove_password_ids' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - ucs autodiscovery job added + - 11 + - UCS-AD-1 + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryUcs + description: Execute UCS/ACI/Load Balancer autodiscovery job + summary: Run UCS/ACI/Load Balancer job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/job_id' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/dns/: + get: + operationId: getAuto_discoveryDns + summary: Get DNS jobs + description: Retrieves all autodiscovery jobs for DNS + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + nameserver: + example: 192.168.11.104 + zonename: + example: 10.10.in-addr.arpa + job_id: + example: '10' + schedule: + example: 'M T W Th F S Su 09:44:18 ; M T F S Su 09:44:23 ;' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryDns + description: Create DNS autodiscovery job + summary: Create DNS job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/zonename' + - name: nameserver + type: string + description: IP/FQDN of the nameserver + required: true + in: formData + - name: remote_collector_id + type: string + in: formData + description: D42 ID of the remote collector to use for this job. + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: DNS Zone autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryDns + description: Execute DNS autodiscovery job + summary: Run DNS job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/job_id' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/auto_discovery/database_discovery/: + get: + operationId: getAuto_discoveryDBDiscovery + summary: Get Database Discovery jobs + description: Retrieves all autodiscovery jobs for Database Discovery + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 1000 + offset: + example: 0 + database_discovery: + type: array + items: + properties: + job_id: + example: 1 + remote_collector_id: + example: 10 + last_status: + example: success + schedule_time: + example: 16:08 + schedule_days: + example: 0,1,2,3,4,5,6 + adm_interval: + example: 1800 + debug_level: + example: "on" + job_name: + example: Demo Database Discovery + database_accounts: + type: array + items: + properties: + server: + example: 10.90.11.5 + dba_id: + example: 17 + appcomp_id: + example: 4 + connection_name: + example: oracle_name + platform: + example: oracle + secret_id: + example: 1 + instance: + example: ORCL2 + port: + example: 1521 + total_count: + example: 30 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryDBDiscovery + description: Create Database Discovery autodiscovery job + summary: Create Database Discovery job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: Name of the job + - $ref: '#/parameters/remote_collector_id' + - name: debug_level + type: string + in: formData + enum: + - 'Debug Off' + - 'Debug On' + - name: adm_interval + type: integer + in: formData + description: >- + Interval in seconds to periodically sample Database Connections. + Valid values are: 0, 1800, 3600, 7200, 14400, 21600, 43200, 86400. + No Database Connection sampling will occur if the value is zero. + - name: connection_name + type: string + required: true + in: formData + description: Name of the connection + - name: appcomp_id + type: integer + required: true + in: formData + description: Application component ID to be associated with the discovered database + - name: platform + required: true + in: formData + description: Database platform + type: string + enum: + - oracle + - mssql + - postgres + - db2 + - name: server + type: string + required: true + in: formData + description: Database server + - name: port + type: integer + required: true + in: formData + description: Database port + - name: instance + type: string + in: formData + description: Database Instance for Oracle. Required for Oracle + - name: database + type: string + in: formData + description: Database for Postgres/DB2. Required for Postgres, required for DB2 if "databases" is not supplied + - name: databases + type: string + in: formData + description: Databases for DB2. Required for DB2 if "database" is not supplied + - name: db_username + type: string + in: formData + description: Username for Database discovery. Required if "db_password" is supplied + - name: db_password + type: string + in: formData + description: Password for Database discovery. Required if "db_username" is supplied + - name: credential_id + type: integer + in: formData + description: Password ID for Database discovery. Required if "db_username"/"db_password" are not supplied + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/clear_existing_schedule' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + type: array + items: + example: + - database discovery autodiscovery job added + - 54 + - test_api + - true + - true + code: + example: + 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryDBDiscovery + description: Execute Database Discovery autodiscovery job + summary: Run Database Discovery job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/job_id' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/auto_discovery/database_discovery/{id}/': + delete: + operationId: deleteAuto_discoveryDBDiscovery + summary: Delete Database Discovery job + description: >- + Deletes an Database Discovery autodiscovery job + tags: + - Autodiscovery + parameters: + - name: id + in: path + required: true + description: ID of Database Discovery discovery job to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '182' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/auto_discovery/dhcp_discovery/: + get: + operationId: getAuto_discoveryDHCPDiscovery + summary: Get DHCP Discovery jobs + description: Retrieves all autodiscovery jobs for DHCP Discovery + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 1000 + offset: + example: 0 + dhcp_discovery: + type: array + items: + properties: + job_id: + example: 1 + remote_collector_id: + example: 10 + use_win_rm: + example: false + wds: + example: "10.90.11.23" + last_status: + example: success + schedule_time: + example: 16:08 + schedule_days: + example: 0,1,2,3,4,5,6 + debug_level: + example: "on" + job_name: + example: Demo DHCP Discovery + dhcp_servers: + type: array + items: + properties: + server: + example: 10.90.11.5 + dhcp_conn_id: + example: 17 + secret_id: + example: 1 + total_count: + example: 30 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryDHCPDiscovery + description: Create DHCP Discovery autodiscovery job + summary: Create DHCP Discovery job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: Name of the job + - $ref: '#/parameters/remote_collector_id' + - name: debug_level + type: string + in: formData + enum: + - 'Debug Off' + - 'Debug On' + - name: use_win_rm + type: boolean + required: false + in: formData + description: Flag to indicate whether use WinRM for discovery + - name: wds + in: formData + description: WDS server to use + type: string + - name: server + type: string + required: true + in: formData + description: DHCP server + - name: dhcp_username + type: string + in: formData + description: Username for DHCP discovery. Required if "dhcp_password" is supplied + - name: dhcp_password + type: string + in: formData + description: Password for DHCP discovery. Required if "dhcp_username" is supplied + - name: credential_id + type: integer + in: formData + description: Password ID for DHCP discovery. Required if "dhcp_username"/"dhcp_password" are not supplied + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/customer_form' + - $ref: '#/parameters/clear_customer' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + type: array + items: + example: + - DHCP discovery autodiscovery job added + - 54 + - test_api + - true + - true + code: + example: + 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryDHCPDiscovery + description: Execute DHCP Discovery autodiscovery job + summary: Run DHCP Discovery job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/job_id' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/2.0/auto_discovery/dhcp_discovery/{id}/': + delete: + operationId: deleteAuto_discoveryDHCPDiscovery + summary: Delete DHCP Discovery job + description: >- + Deletes an DHCP Discovery autodiscovery job + tags: + - Autodiscovery + parameters: + - name: id + in: path + required: true + description: ID of DHCP Discovery autodiscovery job to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '182' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/certificate/: + get: + operationId: getAuto_discoveryCertificate + summary: Get certificate jobs + description: Retrieves all autodiscovery jobs for certificates + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + end_ip_address: + example: 10.42.42.100 + follow_chain: + example: 'no' + job_id: + example: '1' + name: + example: D42 + ports: + example: '443' + start_ip_address: + example: 10.42.42.0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryCertificate + description: Create Certificate autodiscovery job + summary: Create certificate job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - $ref: '#/parameters/server' + - $ref: '#/parameters/start_ip_address' + - name: end_ip_address + in: formData + type: string + description: Legacy Field. Please use Server property + - $ref: '#/parameters/exclude_servers' + - $ref: '#/parameters/ports' + - name: remote_collector_id + type: string + in: formData + description: D42 ID of the remote collector to use for this job + - name: get_cipher_suites + type: boolean + in: formData + description: Find cipher suites supported by the server + - $ref: '#/parameters/follow_chain' + - name: debug_level + type: string + enum: + - 'yes' + - 'no' + default: 'no' + in: formData + - name: dont_add_new_devices + type: string + in: formData + enum: + - 'true' + - 'false' + description: Protocol and cipher suites information will be ignored if device doesn't exist. + - $ref: '#/parameters/schedule_time' + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/tags_post' + - $ref: '#/parameters/tags_remove_generic' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Certificate autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryCertificate + description: Execute certificate autodiscovery job + summary: Run certificate job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/adldap/: + get: + operationId: getAuto_discoveryAdldap + summary: Get all AD/LDAP jobs + description: Retrieves all AD/LDAP autodiscovery jobs + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 2 + name: + example: AD-TestAdmins + ldap_settings: + example: Active Directory/LDAP Settings + dn_type: + example: Group + group_dn: + example: adsasd + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryAdldap + description: >- + Create/update AD/LDAP autodiscovery job. Required parameters:

                                                                                  • name
                                                                                  • group_dn
                                                                                  • + summary: Create/update AD/LDAP job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: group_dn + type: string + required: true + in: formData + description: Group or OU DN + - name: ldap_settings + type: string + in: formData + description: optional if system only has 1 ldap settings or a default ldap domain or domain is provided - exact case insensitive search on name of LDAP settings to use + - name: domain + type: string + in: formData + description: exact case insensitive search on name of LDAP domain to use + - name: username + type: string + in: formData + description: user name to set for job + - name: password + type: string + in: formData + description: set password for job + - name: password_id + type: string + in: formData + description: actual ID of secret to use + - name: enduser_contact_attribute + type: string + in: formData + description: End user contact attribute + - name: enduser_location_attribute + type: string + in: formData + description: End user location attribute + - name: enduser_notes_attribute + type: string + in: formData + description: End user notes attribute + - name: recursive + type: boolean + in: formData + description: Recursively search nested groups + - name: username_lowercase + type: boolean + in: formData + description: Add username in lowercase + - name: ignore_existing_admins + type: boolean + in: formData + description: Ignore existing Administrators + - name: clear_existing_admin_perms + type: boolean + in: formData + description: clear any existing Administrator Permissions Groups + - name: type + type: string + in: formData + description: administrators / end users + - name: dn_type + type: string + in: formData + description: Group or OU DN + - name: custom_filter + type: string + in: formData + description: optional Custom Filter + - name: schedule_name + in: formData + description: schedule name + type: string + - $ref: '#/parameters/clear_existing_schedule' + - $ref: '#/parameters/schedule_days' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - vserver autodiscovery job added + - 10 + - Create_by_API + - true + - true + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryAdldap + description: Execute AD/LDAP job + summary: Run AD/LDAP job + tags: + - Autodiscovery + parameters: + - name: name + type: string + description: name of the job - required if no job_id + in: formData + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/auto_discovery/adldap/{id}/': + delete: + operationId: deleteAdldap_discovery + summary: Delete AD/LDAP job + description: >- + Deletes an AD/LDAP autodiscovery job + tags: + - Autodiscovery + parameters: + - name: id + in: path + required: true + description: ID of AD/LDAP discovery job to delete. + type: string + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '182' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/auto_discovery/warranty/: + get: + operationId: getAuto_discoveryWarranty + summary: Get warranty jobs + description: Retrieves all autodiscovery jobs for warranties. Must be a Super User to access Warranty API. + tags: + - Autodiscovery + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + type: + example: Dell + job_id: + example: 1 + api_version: + example: 5 + name: + example: WarrantyTest + order_number_type: + example: common + schedule_time: + example: 16:08 + schedule_days: + example: 0,1,2,3,4,5,6 + debug_level: + example: 1 + remote_collector_id: + example: 10 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postAuto_discoveryWarranty + description: Create Warranty autodiscovery job. Must be a Super User to access Warranty API. + summary: Create warranty job + tags: + - Autodiscovery + parameters: + - name: name + type: string + required: true + in: formData + description: name of the job + - name: vendor + type: string + in: formData + description: Warranty vendor + required: true + - name: enc_access_key_id + type: integer + in: formData + description: Required for HP, IBM, Lenovo, and Meraki vendors + - name: enc_access_key + type: string + in: formData + description: Required for HP, IBM, Lenovo, and Meraki vendors + - name: enc_secret_key_id + type: integer + in: formData + description: Required for HP vendor. + - name: enc_secret_key + type: string + in: formData + description: Required for HP vendor. + - name: api_version + type: string + in: formData + description: Required for Dell vendor. + - name: remote_collector_id + type: string + in: formData + description: D42 ID of the remote collector to use for this job + - name: order_number_type + type: string + in: formData + enum: + - 'randomly generated and same for all purchases' + - 'randomly generated and unique for every purchase' + default: 'randomly generated and same for all purchases' + - name: debug_level + type: string + enum: + - 'yes' + - 'no' + default: 'no' + in: formData + - $ref: '#/parameters/schedule_days' + - $ref: '#/parameters/schedule_time' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Warranty autodiscovery job added + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putAuto_discoveryWarranty + description: Execute warranty autodiscovery job. Must be a Super User to access Warranty API. + summary: Run warranty job + tags: + - Autodiscovery + parameters: + - $ref: '#/parameters/job_id_wname' + - $ref: '#/parameters/run' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Task is scheduled for running + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + ':4343/healthstats/': + get: + operationId: getHealthstats + description: >- + This will return the health status of Device42 including:
                                                                                    + - current version number
                                                                                    + - current used CPU percentage
                                                                                    + - current database size
                                                                                    + - current disk space used
                                                                                    + - current memory usage
                                                                                    + - the status of each remote collector including version number and state
                                                                                    + - the status of recent backups
                                                                                    + - the status of system packages and runtime environements (if requesting full stats)
                                                                                    + - the status of last upgrade (if requesting full stats)
                                                                                    +
                                                                                    + Note - backup status response can also include:
                                                                                    + - Please save backup destination settings first\ @ 2020-12-05 09:26:43
                                                                                    + - Backup not run since last reboot. Please check. + summary: Get + tags: + - Health Status + parameters: + - name: full + type: string + required: false + enum: + - 'yes' + - 'no' + description: Check full set of health stats on appliance? yes/no. Additional information includes system + package status and last upgrade status in form of OK/NOK. Additional statuses are static and do not change between + upgrades. + in: query + responses: + '200': + description: 'The above command returns results like this:' + schema: + "$ref": "#/definitions/healthstat_status" + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + ':4343/api/1.0/backup_schedules/': + post: + operationId: postBackup_schedules + summary: Create + description: Create or update backup schedule at set date and times + tags: + - Backup Schedules + parameters: + - name: name + type: string + required: true + description: name of backup job + in: formData + - "$ref": "#/parameters/method" + - name: schedule_time + required: true + type: string + description: time to perform backup (0:00 to 23:59) + in: formData + - name: job_id + type: string + description: id of backup job if modifying existing one + in: formData + - name: schedule_days + in: formData + type: string + description: >- + Comma separated days of week, where Monday = 0. e.g. 0,1,2 will set the job + for Mon, Tue and Wed. + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - backup schedule added/updated + - 4 + - test3 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + get: + operationId: getBackup_schedules + description: Get backup schedules + summary: Get + tags: + - Backup Schedules + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + jobs: + type: array + items: + properties: + job_id: + example: 1 + method: + example: 3 + name: + example: test + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + ':4343/api/1.0/backup_schedules/{ID}/': + delete: + operationId: deleteBackup_schedules + summary: Delete + description: This will delete a scheduled backup + parameters: + - name: ID + type: integer + in: path + required: true + description: Scheduled Backup ID + tags: + - Backup Schedules + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - backup schedule deleted + - 4 + - test3 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + ':4343/api/1.0/appliancemode/': + post: + operationId: postAppliancemode + summary: Set + description: This will set the Device42 appliance to Standby or Production mode. + Used in conjunction with automatic backups and restores for a warm HA solution + tags: + - Standby or Production Mode + parameters: + - "$ref": "#/parameters/appliance_mode" + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: Appliance Manager standby mode set to True. Background jobs + disabled + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/tags/: + get: + operationId: getTags + summary: Get all + description: >- + This will return a full list of tags available in your Device42 + instance + tags: + - Tags + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + limit: + example: 1000 + offset: + example: 0 + tags: + type: array + items: + properties: + name: + example: 1 tag + total_count: + example: 30 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/1.0/saved_doql_queries/: + get: + operationId: getSaved_doql_queries + description: Retrieve information about all saved DOQL queries. You must be a superuser to access the API + summary: Get all + tags: + - DOQL Queries + parameters: + - $ref: '#/parameters/name' + - $ref: '#/parameters/last_updated_lt' + - $ref: '#/parameters/last_updated_gt' + - $ref: '#/parameters/first_added_lt' + - $ref: '#/parameters/first_added_gt' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + savedDOQL: + $ref: '#/definitions/savedDOQLQueries' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postSaved_doql_queries + description: >- + Create/update a saved DOQL query. You must be a superuser to access the API. Required parameters:
                                                                                    • name
                                                                                    • + summary: Create/update + tags: + - DOQL Queries + parameters: + - name: name + type: string + in: formData + required: true + description: Name of saved DOQL. Required if creating new saved DOQL + - name: id + type: string + in: formData + description: Saved DOQL ID if modifying existing one + - name: saved_query + type: string + in: formData + description: Text of DOQL Query + - name: notes + type: string + in: formData + description: User entered notes + - name: include_headers + type: string + in: formData + description: Boolean value to whether to export header or not in CSV format + - name: output_format + type: string + in: formData + description: Choices of csv or json + - name: tags + type: string + in: formData + description: Comma-separated tags + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Saved DOQL added successfully + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + '/api/1.0/saved_doql_queries/{ID}/': + get: + operationId: getSaved_doql_queriesID + summary: Get specific + description: >- + Retrieve detailed information about a specific saved DOQL query. You must be a superuser to access the API + tags: + - DOQL Queries + parameters: + - name: ID + type: integer + in: path + required: true + description: The ID of the Saved DOQL to retrieve + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + name: + example: Power_outlet1 + tags: + type: array + example: power + include_headers: + example: true + notes: + example: "" + saved_query: + example: select * from view_rudata_v2 + output_type: + example: csv + id: + example: 182 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteSaved_doql_queriesID + summary: Delete + description: >- + This API is used to delete saved DOQL query with the saved DOQL ID supplied as the + required argument. You must be a superuser to access the API + tags: + - DOQL Queries + parameters: + - name: ID + type: integer + in: path + required: true + description: Saved DOQL Query ID + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '182' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /services/data/v1.0/query/: + get: + operationId: getDOQLData + description: Get DOQL data + summary: Get DOQL and Saved DOQL data + tags: + - DOQL + parameters: + - name: query + in: query + description: >- + The DOQL query you want to run, a SELECT command whose results are to be returned. + type: string + required: true + - name: delimiter + in: query + description: >- + Specifies the character that separates columns within each row (line) of the file. + The default a comma. This must be a single one-byte character. + type: string + - name: header + in: query + description: >- + If ‘yes’ specifies that the file contains a header line with the names of each column in the file. + On output, the first line contains the column names from the table + type: string + - name: quote + in: query + description: >- + Specifies the quoting character to be used when a data value is quoted. + The default is double-quote. This must be a single one-byte character. + type: string + - name: null_string + in: query + description: >- + Specifies the string that represents a null value. The default is an unquoted empty string. + type: string + - name: quote_escape + in: query + type: string + description: >- + Specifies the character that should appear before a data character that matches the QUOTE value. + The default is the same as the QUOTE value + - name: output_type + in: query + type: string + enum: + - 'csv' + - 'json' + description: Specify output format for DOQL results. 'csv' is the default output format if parameter is not specified + responses: + '200': + description: 'The above command returns results like this:' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDOQLData + description: >- + Use this API to query DOQL database + summary: Query DOQL Database + tags: + - DOQL + parameters: + - name: query + in: formData + description: >- + The DOQL query you want to run, a SELECT command whose results are to be returned. + type: string + required: true + - name: delimiter + in: formData + description: >- + Specifies the character that separates columns within each row (line) of the file. + The default a comma. This must be a single one-byte character. + type: string + - name: header + in: formData + description: >- + If ‘yes’ specifies that the file contains a header line with the names of each column in the file. + On output, the first line contains the column names from the table + type: string + - name: quote + in: formData + description: >- + Specifies the quoting character to be used when a data value is quoted. + The default is double-quote. This must be a single one-byte character. + type: string + - name: null_string + in: formData + description: >- + Specifies the string that represents a null value. The default is an unquoted empty string. + type: string + - name: quote_escape + in: formData + type: string + description: >- + Specifies the character that should appear before a data character that matches the QUOTE value. + The default is the same as the QUOTE value + - name: output_type + in: formData + type: string + enum: + - 'csv' + - 'json' + description: Specify output format for DOQL results. 'csv' is the default output format if parameter is not specified. + responses: + '200': + description: 'The above command returns results like this:' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/dbb/: + get: + operationId: getDBBInformation + description: Get information for DBBs in Device42. You must be a superuser to access the API. + summary: Get DBB Information + tags: + - DOQL + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + view_dbb_compute_v2: + type: object + properties: + last_refresh_date: + example: '2023-07-10T19:01:06.655567+00:00' + refresh_queued: + example: false + row_count: + example: 4200 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/dbb/refresh/: + get: + operationId: getDBBRefresh + description: Get list of DBBs that are queued for refresh. You must be a superuser to access the API. + summary: Get Queued DBB Refresh + tags: + - DOQL + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + dbbs: + example: + - view_dbb_compute_v2 + - view_dbb_security_v2 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + post: + operationId: postDBBRefresh + description: Use this API to queue one or all DBBs for a refresh. You must be a superuser to access the API. + summary: Queue DBB Refresh + tags: + - DOQL + parameters: + - name: dbb_name + in: formData + description: Name of the DBB you want to refresh. If this parameter is not passed, all DBBs will be refreshed. + type: string + required: false + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - A refresh has already been queued. + code: + example: 1 + + '202': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - DBB has been queued for refresh. + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + /api/2.0/custom_fields/: + get: + operationId: getCustomFields + summary: Get custom fields + description: >- + Get custom fields for given model. Required parameters are:
                                                                                      • object name
                                                                                      + tags: + - Custom fields + parameters: + - $ref: '#/parameters/object_name' + - name: id + type: integer + description: Custom Field ID + in: query + - name: type + type: string + in: query + description: >- + this is the custom field type. If left blank, default is text + enum: + - text + - number + - date + - related_field + - boolean + - url + - picklist + - json + - markup + - name: key + type: string + description: Custom Field Name + in: query + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + custom_fields: + $ref: '#/definitions/custom_fields' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + delete: + operationId: deleteCustomField + summary: Delete custom field + description: >- + Delete custom field. Required parameters are:
                                                                                      • object name
                                                                                      • ID or Key
                                                                                      + If you want to delete custom fields that are in use, please pass in delete_in_use parameter, default action is + to not delete fields in use. + tags: + - Custom fields + parameters: + - $ref: '#/parameters/object_name' + - name: id + type: integer + in: query + description: Custom Field ID + - name: key + type: string + in: query + description: Custom Field Name + - name: delete_in_use + type: boolean + in: query + description: pass in true if you want to delete custom field that is in use + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + deleted: + example: 'true' + id: + example: '182' + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' + put: + operationId: putCustomField + summary: Add or Update Custom field + description: >- + Create or update custom field. Required parameters are:
                                                                                      • object name
                                                                                      • key
                                                                                      + tags: + - Custom fields + parameters: + - name: object_name + type: string + enum: + - application_group + - application_group_calculation_rule + - appcomp + - appcomp_template + - asset + - building + - business_service + - cable + - certificate + - circuit + - cloud_account + - customer + - device + - dns_records + - dns_zone + - endusers + - hardware_model + - ip_address + - part + - partmodel + - pdu + - port + - purchase + - rack + - resource + - room + - secret + - service + - service_instance + - software + - software_instance + - subnet + - vendor + - vlan + - vrfgroup + description: Name of the object + in: formData + required: true + - $ref: '#/parameters/key' + - $ref: '#/parameters/custom_field_type' + - $ref: '#/parameters/mandatory' + - $ref: '#/parameters/filterable' + - $ref: '#/parameters/log_for_api' + - $ref: '#/parameters/add_to_picklist' + - $ref: '#/parameters/remove_from_picklist' + - $ref: '#/parameters/delete_in_use' + - $ref: '#/parameters/multi_select' + - $ref: '#/parameters/include_in_context_popups' + - $ref: '#/parameters/related_field_name' + responses: + '200': + description: 'The above command returns results like this:' + schema: + properties: + msg: + example: + - Custom key field added or updated + - 2 + - IPAddress_cf + - True + - True + code: + example: 0 + '400': + $ref: '#/definitions/BadRequest' + '401': + $ref: '#/definitions/Unauthorized' + '403': + $ref: '#/definitions/Forbidden' + '404': + $ref: '#/definitions/NotFound' + '500': + $ref: '#/definitions/InternalServerError' + '503': + $ref: '#/definitions/ServiceUnavailable' +parameters: + address: + name: address + type: string + in: query + description: Name of building + required: true + address_post: + name: address + type: string + in: formData + description: Address of building + appcomp: + name: appcomp + type: string + in: query + description: The application component that depends on this service + appcomp_category: + name: category + type: string + in: formData + enum: + - Database + - Application Layer + - Web Server + - Load Balancer + - Other + description: Application Component Category can be - Database, Application Layer, Web Server, Load Balancer, Other. Category Values are case sensitive. + appcomp_categoryid: + name: category_id + type: integer + in: formData + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + description: Application Component Category ID can be 1-Database, 2-Application Layer, 3-Web Server, 4-Load Balancer, 5-Other. ‘category_id’ is used by discovery to initially set the category of an application component and cannot be used to change the category once set. If you would like to change the category of an Application Component, use ‘category’ parameter. + at_logon: + name: at_logon + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + at_startup: + name: at_startup + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + appcomps: + name: appcomps + type: string + in: formData + description: A comma separated list of application component names. + appliance: + name: appliance + type: string + in: formData + description: name of the monitoring appliance + required: true + appliance_mode: + name: appliance_mode + type: string + in: formData + enum: + - standby + - production + required: true + api_token: + name: api_token + type: string + in: formData + description: Linode API token - Required for Linode + aliases: + name: aliases + type: string + in: formData + description: any software aliases + access_key: + name: access_key + type: string + in: formData + description: Required for Amazon - AWS Account ID (Deprecated in 12.0) + account_no: + name: account_no + type: string + in: formData + account_id: + name: account_id + type: string + in: formData + description: Amazon Account ID - Required for Amazon AWS + action_time_gt: + name: action_time_gt + type: string + in: query + description: >- + Filters actions that have happened past the time entered (ie, greater than + 2 weeks) in YYYY-MM-DDTHH:MM:ss.uuuuuu (ie 2016-10-27T13:52:01.213416) + action_time_lt: + name: action_time_lt + type: string + in: query + description: >- + Returns actions within the last X amount of days in + YYYY-MM-DDTHH:MM:ss.uuuuuu (ie 2016-10-27T13:52:01.213416) + add_suffix: + name: add_suffix + type: string + in: formData + add_multiple_vm_names_as_alias: + name: add_multiple_vm_names_as_alias + type: string + in: formData + description: add any additional names found as device alias + add_to_picklist: + name: add_to_picklist + type: string + in: formData + description: >- + Comma separated values to add to picklist. If type is picklist and custom + field is new, this is a required field. Duplicates will be ignored. + remove_from_picklist: + name: remove_from_picklist + type: string + in: formData + description: >- + Comma separated values to be removed from picklist. Duplicates will be ignored. Values that are in use will Not be deleted, unless delete_in_use parameter is provided and set to yes + mandatory: + name: mandatory + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Is custom field mandatory? yes/no + filterable: + name: filterable + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Is custom field filterable? yes/no + log_for_api: + name: log_for_api + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Log custom field? yes/no + multi_select: + name: multi_select + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Applies only to Picklist fields. Is custom field multi select? yes/no + related_field_value_by_id: + name: related_field_value_by_id + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Select yes if you want to set the related field value by ID. + clear_notes: + name: clear_notes + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Yes to clear any existing notes + include_in_context_popups: + name: include_in_context_popups + type: string + in: formData + enum: + - 'true' + - 'false' + description: Applies only to Device custom fields. Include the custom field in device pop-up panels and layout pages (true/false).
                                                                                      For example, the pop-up when you click a device on a rack view. + delete_in_use: + name: delete_in_use + type: string + enum: + - 'yes' + - 'no' + in: formData + description: pass in yes if you want to delete Picklist value that is in use. Used in conjunction with remove_from_picklist. + regions: + name: regions + type: string + in: formData + description: Comma separated region names for Amazon AWS + aws_roles: + name: aws_roles + type: string + in: formData + description: Comma separated names of Amazon AWS Roles + assets: + name: assets + type: string + in: formData + description: comma separated names of new assets. + asset_id: + name: asset_id + type: integer + in: query + description: Filter by Asset ID. + asset_ids: + name: asset_ids + type: string + in: formData + description: comma separated values of existing assets. + asset_no: + name: asset_no + type: string + in: query + description: 'filter by asset # (Added in v6.0.0)' + asset_no_contains: + name: asset_no_contains + type: string + in: query + description: 'search for any asset that contains matching asset # (Added in v9.2.0)' + assigned: + name: assigned + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ if assigned. ‘no’ (default) if unassigned. + type: string + assignment: + name: assignment + in: formData + description: 'room, device, rma - required if assigning device' + type: string + allocated: + name: allocated + in: formData + enum: + - 'yes' + - 'no' + description: ‘yes’ if allocated. ‘no’ (default) if unallocated. + type: string + alternate_sudo: + name: alternate_sudo + in: formData + type: string + alternate_sudo_password_id: + name: alternate_sudo_password_id + in: formData + type: string + auto_add_ips: + name: auto_add_ips + in: formData + enum: + - 'yes' + - 'no' + description: >- + If ‘yes’, addresses within subnet will be automatically added to Device42. + (Only available in POST) + type: string + auth_type: + name: auth_type + in: formData + description: User Credentials or Service Principal + type: string + available: + name: available + in: query + enum: + - 'yes' + - 'no' + description: could be yes or no + type: string + amps: + name: amps + in: formData + description: The rated amps on this circuit + type: string + asset_connection_ids: + name: asset_connection_ids + in: formData + description: A comma-separated list of asset IDs connected to this circuit + type: string + autodiscover_cdp_devices: + name: autodiscover_cdp_devices + in: formData + enum: + - 'yes' + - 'no' + description: yes to enable CDP/LLDP (added in v8.3.2) + type: string + back_image_id: + name: back_image_id + in: formData + type: integer + description: >- + Back Image file ID. + back_image: + name: back_image + in: formData + type: string + description: name of the back image file. Use instead of back_image_id. + back_connection_id: + name: back_connection_id + in: query + type: string + description: >- + ID for the back connection port. Available via GET at + /api/api/1.0/patch_panel_ports// or Tools > Export > Patch Panel Port + back_switchport_id: + name: back_switchport_id + in: formData + type: string + description: Used if back connection type is switch. + back_switch: + name: back_switch + in: formData + type: string + description: >- + If back connection type is switch, use switch and switchport names in + combination. + back_patch_panel_id: + name: back_patch_panel_id + in: formData + type: string + description: >- + ID of the back patch panel - if a patch panel port is connected in back + (Added in v5.8.2) + back_patch_panel: + name: back_patch_panel + in: formData + type: string + description: >- + Name of the back patch panel - if a patch panel port is connected in back + (Added in v5.8.2) + back_port: + name: back_port + in: formData + type: string + description: >- + Number of the port on the back patch panel - if a patch panel port is + connected in back (Added in v5.8.2) + bmc_user: + name: bmc_user + in: formData + type: string + description: username for discovery + required: true + bmc_password: + name: bmc_password + in: formData + type: string + description: password for discovery + required: true + blade_size: + name: blade_size + in: formData + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + description: >- + 1=Full Height 2=Half Height 3=Double Half Height 4=Double Full Height + 5=Quarter Height + type: integer + blade_host_name: + name: blade_host_name + type: string + in: query + description: filter by blade host name + building_id: + name: building_id + type: integer + in: query + description: filter by building ID (Added in v5.9.0) + building: + name: building + type: string + in: query + description: filter by building name + building_post: + name: building + type: string + in: formData + blankasnull: + name: blankasnull + type: string + in: query + description: >- + yes / no - if yes, we convert empty strings to null + bulk_fields: + name: bulk_fields + in: formData + description: >- + comma separated key value pairs, with key and value separated by colon. + e.g.key1:value1, key2:value2 + type: string + bandwidth: + name: bandwidth + in: query + description: bandwidth in kbps (mutiply factor of 1024) + type: string + breakerpanel_id: + name: breakerpanel_id + in: formData + required: true + description: Breaker panel ID + type: string + bcpm_id: + name: bcpm_id + in: query + description: Branch Circuit Power Meter ID + type: string + blanksasnull: + name: blanksasnull + in: query + type: string + cable_id: + name: cable_id + type: string + in: formData + description: Cable ID/Name + required: true + customer: + name: customer + type: string + in: query + description: filter by customer name + customer_form: + name: customer + type: string + in: formData + description: Name of existing customer. + custom_field_type: + name: type + type: string + in: formData + description: >- + this is the custom field type. If left blank, default is text. Date should + be formatted as YYYY-MM-DD + enum: + - text + - number + - date + - related_field + - boolean + - url + - picklist + - json + - markup + custom_fields_and: + name: custom_fields_and + type: string + in: query + description: 'filter by custom fields, and filter, format of key1:value1,key2:value2' + custom_fields_or: + name: custom_fields_or + type: string + in: query + description: 'filter by custom fields, or filter, format of key1:value1,key2:value2' + capacity: + name: capacity + in: formData + type: string + description: capacity of mountpoint in MB + capture_hosts_file: + name: capture_hosts_file + in: formData + type: string + enum: + - 'yes' + - 'no' + csv_format: + name: csv_format + in: query + type: string + description: >- + If this parameter is ‘xls’ or is not present, an Excel file(.xlsx) will be + produced. If this parameter is ‘tab’, a tab-delimited file(.txt) will be + created. + customer_id: + name: customer_id + in: formData + type: string + customer_id_get: + name: customer_id + in: query + description: ID of the customer (Added in v6.3.0) + type: string + category: + name: category + in: query + description: name of the category + type: string + category_post: + name: category + in: formData + description: >- + If multitenancy is on, admin groups that have access to this object are + specified here, e.g. Prod_East:no, Corp:yes specifies that the admin groups + for this object are Prod_East with view only permission and Corp with + change permission. Use for initial insert. + type: string + category_id: + name: category_id + in: query + description: ID of the category + type: string + category_id_post: + name: category_id + in: formData + description: ID of the category - use for initial insert. + type: string + clear_all: + name: clear_all + in: formData + enum: + - 'yes' + - 'no' + description: >- + If yes - then IP is marked as available and device and mac address + associations are cleared. Also notes and label fields are cleared. Added + in v5.7.2 + type: string + clear_front: + name: clear_front + in: formData + enum: + - 'yes' + - 'no' + description: “yes” will clear front connection for port + type: string + clear_back: + name: clear_back + in: formData + enum: + - 'yes' + - 'no' + description: “yes” will clear back connection on port + type: string + clear_customer: + name: clear_customer + in: formData + enum: + - 'yes' + - 'no' + description: Clear all previously set customers on discovered objects. + type: string + default: 'no' + cloud_type: + name: cloud_type + in: formData + enum: + - Amazon AWS + - Microsoft Azure + - Linode + - DigitalOcean + - OpenStack + - Google Cloud + - Alibaba Cloud + - Oracle Cloud + - Standalone Kubernetes + - Arista CloudVision + - Jamf + - Workspace ONE + description: Required for all jobs. + type: string + required: true + cable_type: + name: cable_type + in: formData + description: named value of the cable type. Must already exist. + type: string + clear_value: + name: clear_value + in: formData + enum: + - 'yes' + - 'no' + description: yes to clear existing value for that field + type: string + clear_existing_schedule: + name: clear_existing_schedule + in: formData + enum: + - 'yes' + - 'no' + type: string + count: + name: count + in: formData + description: Whether to include the port in total count or not. + type: string + enum: + - 'yes' + - 'no' + count_in_licensing: + name: count_in_licensing + in: formData + enum: + - 'yes' + - 'no' + description: Whether or not to count OS in licensing + type: string + completed: + name: completed + in: query + description: Line Item is completed + type: string + content: + name: content + in: query + description: Content (e.g. IP address for type A) + type: string + content_type: + name: content_type + in: query + description: Returns changes done to a particular content type + type: string + contact_name_post: + name: contact_name + in: formData + type: string + contact_phone_post: + name: contact_phone + in: formData + type: string + change_date: + name: change_date + in: query + type: string + col_size: + name: col_size + in: formData + type: string + description: how many racks wide the rack is + cores: + name: cores + in: formData + type: string + description: number of cores + connector_type: + name: connector_type + in: formData + type: string + description: 'Type of connector, ie rj45' + connectivity: + name: connectivity + in: formData + type: string + description: 'New or existing (not used for CPU, RAM, HDD)' + cost: + name: cost + in: formData + type: string + cost_center: + name: cost_center + in: query + type: string + description: Cost Center + cpuspeed: + name: cpuspeed + in: formData + type: string + description: 'enter in MHZ, e.g.: 3.5 GHZ use 3500' + contact_info: + name: contact_info + type: string + in: formData + connection: + name: connection + type: string + in: query + description: Text field. + cable_length: + name: cable_length + type: string + in: formData + description: Length of Cable + circuit_id: + name: circuit_id + type: string + in: query + description: circuit id + cable_length_units: + name: cable_length_units + type: string + in: formData + description: Units for Cable Length (“m” or “ft”) + contact: + name: contact + type: string + in: query + description: '' + object_name: + name: object_name + type: string + enum: + - application_group + - application_group_calculation_rule + - appcomp + - appcomp_template + - asset + - building + - business_service + - cable + - certificate + - circuit + - cloud_account + - customer + - device + - dns_records + - dns_zone + - endusers + - hardware_model + - ip_address + - part + - partmodel + - pdu + - port + - purchase + - rack + - resource + - room + - secret + - service + - service_instance + - software + - software_instance + - subnet + - vendor + - vlan + - vrfgroup + description: Name of the object + in: query + required: true + days: + name: days + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + device_connection_ids: + name: device_connection_ids + type: string + in: formData + description: A comma-separated list of device IDs connected to this circuit + device_connection_names: + name: device_connection_names + type: string + in: formData + description: A comma-separated list of device names connected to this circuit + day_of_month: + name: day_of_month + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + day_of_week: + name: day_of_week + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + debug_level: + name: debug_level + type: string + in: formData + enum: + - No Debug + - Normal Debug + - Extended Debug + date_changed: + name: date_changed + type: string + in: formData + description: 'Update the Date Changed field, using format YYYY-MM-DD HH:MM:SS' + date: + name: date + type: string + in: query + date_gt: + name: date_gt + type: string + in: query + description: filter by date greater than (YYYY-MM-DD) + date_lt: + name: date_lt + type: string + in: query + description: filter by date less than (YYYY-MM-DD) + device: + name: device + type: string + in: query + description: Device name + devices: + name: devices + type: string + in: formData + description: comma separated names of new devices. + device_name: + name: device_name + type: string + in: formData + description: required if switchport ID not used + device_name_format: + name: device_name_format + type: string + in: formData + enum: + - hostname + - hostname_plus_domain + - hostname_add_domain_alias + - hostname_plus_domain_add_hostname_alias + device_id: + name: device_id + type: string + in: query + description: Device ID + required: true + device_ids: + name: device_ids + type: string + in: formData + description: comma separated values of existing devices. + device_sub_type: + name: device_sub_type + type: string + in: query + description: filter by device sub type (Added in v14.7.2) + device_sub_type_id: + name: device_sub_type_id + type: integer + in: query + description: filter by device sub type id (Added in v14.7.2) + device2: + name: device2 + in: formData + description: name of the device2 that port belongs to. (added in v5.8.1) + type: string + device_serial: + name: device_serial + in: query + description: 'serial number of the device, where part is checked out to' + type: string + device_reason: + name: device_reason + in: formData + description: string for the device reason on this appcomp (added in v6.6.0) + type: string + description: + name: description + in: query + description: matching description (added in v7.2.0) + type: string + description_post: + name: description + in: formData + type: string + depth: + name: depth + in: formData + enum: + - half + - full + description: Half depth by default. full to override. Optional. + type: string + device_os_id: + name: device_os_id + in: path + description: ID of specific operating system + type: integer + required: true + display_name: + name: display_name + in: query + description: 'if not provided, the name is used as display name' + type: string + required: true + discover_vms: + name: discover_vms + in: formData + description: discover VMs or strictly hypervisors + enum: + - 'yes' + - 'no' + type: string + discovery_type: + name: discovery_type + in: formData + default: IPMI + enum: + - IPMI + - Redfish + type: string + discover_parts: + name: discover_parts + in: formData + type: string + enum: + - 'yes' + - 'no' + discover_software: + name: discover_software + in: formData + type: string + enum: + - 'yes' + - 'no' + discover_cloudid: + name: discover_cloudid + in: formData + type: string + enum: + - 'yes' + - 'no' + discover_applications: + name: discover_applications + in: formData + enum: + - 'yes' + - 'no' + type: string + discovered_service: + name: discovered_service + in: query + description: the name of the discovered service listening on this IP/port + type: string + discovered_service_post: + name: discovered_service + in: formData + description: the name of the discovered service listening on this IP/port + type: string + discover_services: + name: discover_services + type: string + enum: + - 'yes' + - 'no' + in: formData + discovered_process: + name: discovered_process + in: formData + description: the process name that has a handle to the port + type: string + domain: + name: domain + in: formData + description: name of the domain + type: string + required: true + days_before_expiry: + name: days_before_expiry + type: string + in: formData + description: number of days before secret is set as expired + dns_zone: + name: dns_zone + in: query + type: string + D42 ID for the rack(s): + name: D42 ID for the rack(s) + in: query + type: string + description: D42 ID for the part(s) + depends_on: + name: depends_on + in: formData + type: string + description: >- + Names of app components this component depends on, separated by commas - + must match component names exactly. + dependents: + name: dependents + in: formData + type: string + description: >- + Names of app components that depend on this component separated by commas + - must match component names exactly. + depends_on_reasons: + name: depends_on_reasons + in: formData + type: string + description: >- + list of string pairs for dependent appcomps on this appcomp e.g. => + depend_appcomp_name1:reason1, depend_appcomp_name2:reason2, + depend_appcomp_nameN:reason3 (added in v6.6.0) + delete_older_mac_association_after: + name: delete_older_mac_association_after + in: formData + type: string + description: number of days (added in v10.4.0) + delete_switch_port_not_found: + name: delete_switch_port_not_found + in: formData + type: string + description: yes or no to delete switch ports not found (added in v10.4.0) + direct_suggestion_only: + name: direct_suggestion_only + in: query + type: string + description: yes or no to suggest subnet only if is found directly on provided subnet (added in v18.08.00) + dramc_id: + name: dramc_id + in: query + type: string + description: ID of the DMARC + dmarc: + name: dmarc + in: query + type: string + description: DMARC name + email: + name: email + type: string + in: formData + description: Text field. + escalation_1: + name: escalation_1 + type: string + in: formData + description: Text field. + escalation_2: + name: escalation_2 + type: string + in: formData + description: Text field. + enduser: + name: enduser + in: query + type: string + description: filter by end user name + event_based: + name: event_based + in: query + type: string + description: only for schedule based services where startmode = ‘Scheduled’ + end_point_type: + name: end_point_type + in: query + enum: + - device + - circuit + - switchport + - vendor + - patch_panel_port + type: string + description: Type of end point. + end_point_type_post: + name: end_point_type + in: formData + type: string + enum: + - cable + - circuit + - switchport + - tap_port + - patch_panel_port + - vendor + description: Type of end point. + enable_resources_monitoring: + name: enable_resources_monitoring + in: formData + type: string + enum: + - 'yes' + - 'no' + end_point_id: + name: end_point_id + in: query + type: integer + description: ID of the end point + end_point_id_post: + name: end_point_id + in: formData + type: integer + description: ID of the end point. Must be used with end_point_type + end_point_device: + name: end_point_device + in: query + type: string + description: 'if end_point type is device, this is name of the device. Absent otherwise' + end_point_device_post: + name: end_point_device + in: formData + type: string + description: 'if end_point type is device, this is name of the device. Absent otherwise' + end_point_circuit_id: + name: end_point_circuit_id + in: query + type: string + description: >- + if end_point type is circuit, this is circuit_id of the circuit. Absent + otherwise + end_point_switchport: + name: end_point_switchport + in: query + type: string + description: >- + if end_point type is switchport, this is name of the switch port. Absent + otherwise + end_point_switch: + name: end_point_switch + in: query + type: string + description: >- + if end_point type is switchport, this is name of the switch. Absent + otherwise + end_point_patch_panel_port: + name: end_point_patch_panel_port + in: query + type: string + description: >- + if end_point type is patch_panel_port, this is name of the patch panel + port. Absent otherwise + end_point_patch_panel: + name: end_point_patch_panel + in: query + type: string + description: >- + if end_point type is patch_panel_port, this is name of the patch panel. + Absent otherwise + end_point_patch_panel_id: + name: end_point_patch_panel_id + in: query + type: string + description: >- + if end_point type is patch_panel_port, this is ID of the patch panel. + Absent otherwise + end_point_vendor: + name: end_point_vendor + in: query + type: string + description: if end_point type is vendor, this is name of the vendor. Absent otherwise + end_point_circuit_id_post: + name: end_point_circuit_id + in: formData + type: string + description: >- + if end_point type is circuit, this is circuit_id of the circuit. Absent + otherwise + end_point_switchport_post: + name: end_point_switchport + in: formData + type: string + description: >- + if end_point type is switchport, this is name of the switch port. Used with end_point_switch. Absent + otherwise + end_point_switch_post: + name: end_point_switch + in: formData + type: string + description: >- + if end_point type is switchport, this is name of the switch. Used with end_point_switchport. Absent + otherwise + end_point_patch_panel_port_post: + name: end_point_patch_panel_port + in: formData + type: string + description: >- + if end_point type is patch_panel_port, this is name of the patch panel + port. Absent otherwise + end_point_patch_panel_post: + name: end_point_patch_panel + in: formData + type: string + description: >- + if end_point type is patch_panel_port, this is name of the patch panel. + Absent otherwise + end_point_patch_panel_id_post: + name: end_point_patch_panel_id + in: formData + type: integer + description: >- + if end_point type is patch_panel_port, this is ID of the patch panel. + Absent otherwise + end_point_vendor_post: + name: end_point_vendor + in: formData + type: string + description: 'if end_point type is vendor, this is name of the vendor. Absent otherwise' + end_connector_type: + name: end_connector_type + in: formData + type: string + description: Connector Type (User Definable) + end_cable_type: + name: end_cable_type + in: formData + type: string + description: Endpoint Cable Type (User Definable) + end_cable_color: + name: end_cable_color + in: formData + type: string + description: Endpoint Cable Color + end_optic_type: + name: end_optic_type + in: formData + type: string + description: 'Optic Type (Definable, ie multimode)' + end_point_back_pach_panel: + name: end_point_back_pach_panel + in: formData + type: string + description: '' + end_point_multiple: + name: end_point_multiple + in: formData + type: string + enum: + - 'yes' + - 'no' + description: yes to allow multiple endpoints + end_ip_address: + name: end_ip_address + in: formData + type: string + description: End IP address + exclude_servers: + name: exclude_servers + in: formData + type: string + description: comma separated liste of addresses to exclude + firmware: + name: firmware + type: string + in: formData + first_number: + name: first_number + type: string + in: formData + description: 'default 0, add to change.' + first_added_lt: + name: first_added_lt + type: string + in: query + description: first added less than date YYYY-MM-DD format + first_added_gt: + name: first_added_gt + type: string + in: query + description: first added equal to or greater than date YYYY-MM-DD format + follow: + name: follow + type: string + in: query + description: >- + use yes if you want to see virtuals in a virtual host, modules in a blade + chassis and devices in a clustered device (Added in v5.7.4) + follow_chain: + name: follow_chain + type: string + in: formData + enum: + - 'yes' + - 'no' + default: 'no' + front_image_id: + name: front_image_id + type: string + in: formData + front_image: + name: front_image + type: string + in: formData + description: name of the image file (Added in v5.8.2) + front_patch_panel_id: + name: front_patch_panel_id + type: string + in: formData + description: >- + Name of the front patch panel - if a patch panel port is connected in + front (Added in v5.8.2) + front_patch_panel: + name: front_patch_panel + type: string + in: formData + description: >- + Name of the front patch panel - if a patch panel port is connected in + front (Added in v5.8.2) + front_port: + name: front_port + type: string + in: formData + description: >- + Number of the port on the front patch panel - if a patch panel port is + connected in front (Added in v5.8.2) + filesytem: + name: filesytem + in: formData + type: string + description: mountpoint filesystem + fstype: + name: fstype + in: formData + type: string + description: mountpoint filesystem type + free_capacity: + name: free_capacity + in: formData + type: string + description: free capacity of mountpoint in MB + grid_rows: + name: grid_rows + in: formData + description: number of rows in the room grid + type: string + grid_cols: + name: grid_cols + in: formData + description: number of columns in the room grid + type: string + gateway: + name: gateway + in: query + description: Gateway (added in v7.2.0) + type: string + gateway_post: + name: gateway + in: formData + description: Gateway (added in v7.2.0) + type: string + groups: + name: groups + in: query + description: >- + If multitenancy is on, admin groups that have access to this object are + specified here, e.g. Prod_East:no,Corp:yes specifies that the admin groups + for this object are Prod_East with view only permission and Corp with + change permission. If this parameter is present with no value, all groups + are deleted. + type: string + groups_post: + name: groups + in: formData + description: >- + If multitenancy is on, admin groups that have access to this object are + specified here, e.g. Prod_East:no,Corp:yes specifies that the admin groups + for this object are Prod_East with view only permission and Corp with + change permission. If this parameter is present with no value, all groups + are deleted. + type: string + group_owner: + name: group_owner + in: formData + description: >- + Name of group that is responsible for this component - must match group + name exactly. + type: string + groups_affected: + name: groups_affected + in: formData + description: >- + Names of affected groups separated by commas - must match group names + exactly. + type: string + get_all_switch_ports: + name: get_all_switch_ports + in: formData + enum: + - 'yes' + - 'no' + description: yes or no to get all switch ports (added in v10.4.0) + type: string + get_guest_os_info: + name: get_guest_os_info + in: formData + type: string + enum: + - 'yes' + - 'no' + hardware: + name: hardware + type: string + in: query + description: >- + filter by name of hardware model, comma separated for multiple hardware + models (or filter). (Added in v6.3.2) + hardware_ids: + name: hardware_ids + type: string + in: query + description: 'filter by ID of hardware models, comma separated' + hours: + name: hours + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + horizontal_grid_numbering: + name: horizontal_grid_numbering + type: string + in: formData + description: numeric by default + enum: + - numeric + - alphabetic + - alphabetic_doubled + horizontal_grid_start: + name: horizontal_grid_start + type: string + in: formData + hwaddress: + name: hwaddress + in: formData + description: mac or wwn. Required if no port. + type: string + hddsize: + name: hddsize + in: formData + description: 'enter in GB, e.g.: 250 GB enter 250' + type: string + hddtype: + name: hddtype + in: formData + description: new or existing + type: string + hddrpm: + name: hddrpm + in: formData + description: new or existing + type: string + height: + name: height + in: formData + description: room height + type: string + home_page: + name: home_page + type: string + in: formData + description: Text field. + hostname_to_use: + name: hostname_to_use + type: string + in: query + enum: + - '1 (Serial # / Reverse DNS / IP)' + - '2 (Discovered Name / Serial # / Reverse DNS / IP)' + - '3 (Reverse DNS / Discovered Name / Serial # / IP)' + required: true + hostname_precedence: + name: hostname_precedence + type: string + in: formData + enum: + - 'yes' + - 'no' + hostidlist: + name: hostidlist + type: string + in: formData + host_allow_duplicate_serials: + name: host_allow_duplicate_serials + type: string + in: formData + enum: + - 'yes' + - 'no' + id: + name: id + type: string + in: query + description: 'The ID of the software, required if not using NAME' + id_post: + name: id + type: string + in: formData + description: 'The ID of the software, required if not using NAME' + idle_time: + name: idle_time + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + is_it_switch: + name: is_it_switch + type: string + in: query + enum: + - 'yes' + - 'no' + description: filter by whether switch or not. Use yes or no. (Added in v6.3.2) + is_it_virtual_host: + name: is_it_virtual_host + type: string + in: query + description: filter by whether virtual host or not. Use yes or no. (Added in v6.3.2) + is_it_blade_host: + name: is_it_blade_host + type: string + in: query + description: filter by whether blade host or not. Use yes or no. (Added in v6.3.2) + if_parent_assigned: + name: if_parent_assigned + type: string + in: query + description: >- + no => Don't suggest subnet whose parents are assigned
                                                                                      + yes => Suggest subnet even if parents are assigned + if_parent_allocated: + name: if_parent_allocated + type: string + in: query + description: >- + no => Don't suggest subnet whose parents are allocated
                                                                                      + yes => Suggest subnet even if parents are allocated + imgfile_id: + name: imgfile_id + type: integer + in: formData + description: >- + Image file ID. + imgfile: + name: imgfile + type: string + in: formData + description: name of the image file (Added in v5.8.2). Use instead of imgfile_id + in_service: + name: in_service + type: string + in: query + description: filter by whether in service or not. Use yes or no. + in_service_status: + name: in_service + type: string + in: formData + description: Filter by whether in service or not. Use yes or no. + enum: + - 'yes' + - 'no' + install_date: + name: install_date + type: string + in: formData + description: The date that the software was installed + include_cols: + name: include_cols + type: string + in: query + description: >- + do not return all columns just the ones specified. For example, + ?include_cols=name, device_id, rack will only result in name, device_id, + and rack included in the output. The following column names can be part of + include_cols: name, device_id, rack, name, device_id, serial_no, asset_no, + uuid, notes, in_service, service_level, type, id, last_updated, tags, + customer_id, customer, hw_model, hw_size, manufacturer, hw_depth, rack, + start_at, rack_id, orientation, row, room, building, reversed, blade_host_name, + blade_host_id, slot_number, virtual_host_name, location, device_sub_type, + os, osarch, osver, osverno, custom_fields, device_purchase_line_items, + device_external_links, ip_addresses, mac_addresses, cpucount, cpucore, + cpuspeed, ram, hddcount, hddsize, hddraid, hddraid_type, hdd_details, + pdu_mapping_url,modules, vms, devices, aliases, xpos, ucs_manager, + preferred_alias + device_include_cols: + name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example, ?include_cols=name, device_id will only result in name and device_id + included in the output. The following column names can be part of include_cols: + device_id, name, type_id, type, serial_no, asset_no, uuid, notes, last_updated, first_added, objectcategory_id, + objectcategory, ucsmanager, service_level_id, service_level, customer_id, customer, customers, do_not_propagate_device_permissions, + in_service, virtual_host, blade_chassis, device_url, hardware_id, hardware, physicalsubtype_id, physicalsubtype, blade_slot_no, + host_chassis_device_id, chassis_slot_id, device_virtual_host_id, device_cluster_id, additional_location_info, rack_id, + start_at, orientation_id, orientation, xpos, where_id, where, reversed, virtualsubtype_id, virtualsubtype, datastores, + data_center, os_id, os_name, os_version, os_version_no, os_architecture_id, os_architecture, total_cpus, core_per_cpu, + threads_per_core, cpu_speed, hz_id, hz, ram, ram_size_type_id, ram_size_type, hard_disk_count, hard_disk_size, hard_disk_size_type_id, + hard_disk_size_type, hw_sw_raid, hw_sw_raid_id, raid_type, raid_type_id, building_id, calculated_building_id, storage_room, + storage_room_id, aliases, nonauthoritativealiases, custom_fields, tags + building_include_cols: + name: include_cols + type: string + in: query + description: >- + Return only specified columns. + For example, ?include_cols=name, building_id will only result in name and building_id + included in the output. The following column names can be part of include_cols: + building_id, name, address, contact_name, contact_phone, notes, tags, custom_fields, latitude, longitude, image_url + instance_id: + name: instance_id + in: formData + type: integer + description: The cloud instance ID of the device + ipv6: + name: ipv6 + in: query + description: 'if creating an ipv6 subnet, &ipv6 will need to be passed,' + type: string + required: true + ip: + name: ip + in: query + description: ip address (added in v6.3.0) + type: string + ips: + name: ips + in: query + description: Details for all the IPs + type: string + ip_id: + name: ip_id + in: query + description: D42 ID of the IP + type: string + ipaddress: + name: ipaddress + in: formData + description: >- + If a matching IP address is found, it will update the first matched IP + address(unless you specify a vrf_group or vrf_group_id, then it matches or + adds IP to that VRF group) + type: string + required: true + ip_address_from: + name: ip_address_from + in: formData + description: The external IP address + type: string + required: true + ip_address_from_end: + name: ip_address_from_end + in: formData + description: used for mapping a range of addresses rather than a single IP + type: string + ip_address_to: + name: ip_address_to + in: formData + description: The internal IP address + type: string + required: true + ip_address_to_end: + name: ip_address_to_end + in: formData + description: used for mapping a range of addresses rather than a single IP + type: string + ip_start: + name: ip_start + in: formData + description: starting IP address + type: string + required: true + ip_end: + name: ip_end + in: formData + description: 'ending IP address, use same as start for single address' + type: string + required: true + ignore_powered_off: + name: ignore_powered_off + in: formData + description: Ignore powered off vms + enum: + - 'yes' + - 'no' + type: string + ignore_guest_uuid: + name: ignore_guest_uuid + in: formData + type: string + enum: + - 'yes' + - 'no' + ignore_host_serial: + name: ignore_host_serial + in: formData + type: string + enum: + - 'yes' + - 'no' + ignore_host_uuid: + name: ignore_host_uuid + in: formData + type: string + enum: + - 'yes' + - 'no' + ignore_ipv6: + name: ignore_ipv6 + in: formData + type: string + enum: + - 'yes' + - 'no' + ignore_virt_subtype: + name: ignore_virt_subtype + in: formData + type: string + enum: + - 'yes' + - 'no' + initial_software_type: + name: initial_software_type + in: formData + type: string + enum: + - managed + - unmanaged + - prohibited + - ignored + job_id: + name: job_id + in: formData + description: D42 ID for the job + type: string + required: true + job_id_wname: + name: job_id + in: formData + description: D42 ID for the job - required if no name + type: string + joyent_keyname: + name: joyent_keyname + in: formData + description: Only for Joyent + type: string + key: + name: key + in: formData + description: Can be new or existing. This is the custom field name. + type: string + required: true + last_updated_lt: + name: last_updated_lt + type: string + in: query + description: last updated less than date YYYY-MM-DD format + last_updated_gt: + name: last_updated_gt + type: string + in: query + description: last updated equal to or greater than date YYYY-MM-DD format + limit: + name: limit + type: string + in: query + description: return this number of devices + location: + name: location + in: formData + type: string + description: Location/region of instance deployment + label: + name: label + in: query + type: string + label_post: + name: label + in: formData + type: string + length: + name: length + in: formData + type: string + description: Cable length + licensed_count_post: + name: licensed_count + in: formData + type: string + description: Number of purchased licenses of operating system + licensing_model: + name: licensing_model + in: formData + type: string + licensing_model_get: + name: licensing_model + in: formData + type: string + license_key: + name: license_key + in: formData + type: string + description: OS license key + line_type: + name: line_type + in: formData + type: string + description: required for any new line being added for both device or contract. + line_no: + name: line_no + in: formData + type: string + description: >- + required for existing line items, use existing line # to change existing + line item. + line_name: + name: line_name + in: formData + type: string + line_quantity: + name: line_quantity + in: formData + type: string + description: 'can be calculated automatically from # of objects associated' + line_cost: + name: line_cost + in: formData + type: string + description: cost for single object / item. + line_cost_center: + name: line_cost_center + in: formData + type: string + line_customer: + name: line_customer + in: formData + type: string + line_item_type: + name: line_item_type + in: formData + type: string + enum: + - device + - asset + - device_os + - rack + - shipping + - tax + - other + description: Default is device. + line_asset_ids: + name: line_asset_ids + in: formData + type: string + description: Comma separated asset_id. Only applicable if line_item_type is asset. + line_start_date: + name: line_start_date + in: formData + type: string + description: Date in YYYY-MM-DD format + line_end_date: + name: line_end_date + in: formData + type: string + description: Date in YYYY-MM-DD format + line_frequency: + name: line_frequency + in: formData + type: string + enum: + - one time + - monthly + - quarterly + - bi-annually + - annually + line_renew_date: + name: line_renew_date + in: formData + type: string + description: Date in YYYY-MM-DD format + line_cancel_policy: + name: line_cancel_policy + in: formData + type: string + line_contract_type: + name: line_contract_type + in: formData + type: string + line_service_type: + name: line_service_type + in: formData + type: string + description: 'new service type will be created, if it doesn’t exist (added in v9.0.2)' + line_contract_id: + name: line_contract_id + in: formData + type: string + description: (added in v9.0.2) + ldap_server: + name: ldap_server + type: string + in: formData + ldap_filter_type: + name: ldap_filter_type + type: string + in: formData + enum: + - all + - servers + - custom + - custom_ldap_filter + ldap_unpwd_id: + name: ldap_unpwd_id + type: string + in: formData + line_notes: + name: line_notes + in: formData + type: string + line_completed: + name: line_completed + in: formData + type: string + enum: + - 'yes' + - 'no' + line_devices: + name: line_devices + in: formData + type: string + description: >- + Comma separated device names. Only applicable if line_item_type is device. + Will create new devices if device with name specific here does not exist. + line_device_serial_nos: + name: line_device_serial_nos + in: formData + type: string + description: >- + Comma separated serial numbers. Only applicable if line_item_type is + device. Will only work on existing serial numbers. + line_device_asset_nos: + name: line_device_asset_nos + in: formData + type: string + description: >- + Comma separated asset numbers. Only applicable if line_item_type is + device. Will only work on existing asset numbers. + line_circuits: + name: line_circuits + in: formData + type: string + description: circuit ID name + line_circuit_ids: + name: line_circuit_ids + in: formData + type: string + description: D42 ID for the circuit(s) + line_building_ids: + name: line_building_ids + in: formData + type: string + description: D42 ID for the building(s) + line_certificate_ids: + name: line_certificate_ids + in: formData + type: string + description: D42 ID for the certificate(s) + line_software_ids: + name: line_software_ids + in: formData + type: string + description: D42 ID for the software + line_room_ids: + name: line_room_ids + in: formData + type: string + description: D42 ID for the room(s) + line_rack_ids: + name: line_rack_ids + in: formData + type: string + description: D42 ID for the rack(s) + line_part_ids: + name: line_part_ids + in: formData + type: string + description: D42 ID for the part(s) + line_device_os_ids: + name: line_device_os_ids + in: formData + type: string + description: D42 ID for the Device OS + line_devices_remove: + name: line_devices_remove + in: formData + type: string + description: >- + Comma separated device names to clear from a purchase line. Use * to clear all devices from a purchase line. + Use with line_no or line_name. + listening_ip: + name: listening_ip + in: formData + type: string + description: the name of the device + listener_device_name: + name: listener_device_name + in: query + type: string + description: Name of device with listening services + license_key_count: + name: license_key_count + type: string + in: formData + description: The number of licenses this software key supports + license_use_count: + name: license_use_count + type: string + in: formData + description: the number of licenses that are in use for this software instance + max_blades_per_row: + name: max_blades_per_row + in: formData + type: string + mask_bits: + name: mask_bits + in: query + description: mask bits (added in v7.2.0) + type: string + required: true + mask_bits_lt: + name: mask_bits_lt + in: query + description: less than mask bits (added in v7.2.0) + type: string + mask_bits_gt: + name: mask_bits_gt + in: query + description: greater than mask bits (added in v7.2.0) + type: string + mac: + name: mac + in: query + description: mac address + type: string + mac_id: + name: mac_id + in: formData + description: >- + mac_id references port_id value. mac_id available via GET at + /api/api/1.0/macs/ or Tools > Export > MAC Address * Please see note below + type: string + macaddress: + name: macaddress + in: formData + description: MAC address – can be new or existing + type: string + mapped_service: + name: mapped_service + in: query + description: the name of the mapped service listening on this IP/port + type: string + mapped_service_post: + name: mapped_service + in: formData + description: the name of the mapped service listening on this IP/port + type: string + match_name_only_for_virtuals: + name: match_name_only_for_virtuals + in: formData + type: string + enum: + - 'yes' + - 'no' + match_name_only_for_hypervisor: + name: match_name_only_for_hypervisor + in: formData + type: string + enum: + - 'yes' + - 'no' + module: + name: module + in: formData + description: >- + name of the blade that port belongs to. Blade device must be part of the + switch. (added in v5.8.1) + type: string + module_slot: + name: module_slot + in: formData + description: 'change patch panel port for a certain module slot # (Added in v5.8.2)' + type: string + media_type: + name: media_type + in: formData + description: Type of media + type: string + method: + name: method + in: formData + description: 'Backup method: 1 for mail,2 for sftp,3 for nfs or 4 for amazon s3' + type: string + required: true + minutes: + name: minutes + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + type: string + mtu: + name: mtu + in: formData + description: add value for mtu + type: string + month_of_year: + name: month_of_year + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + type: string + monitor_direction: + name: monitor_direction + in: formData + description: 'Direction - to, both (optional, only for PortCap: Monitor)' + type: string + monitor_port_1_id: + name: monitor_port_1_id + in: formData + type: integer + monitor_port_2_id: + name: monitor_port_2_id + in: formData + type: integer + mirror_port_id: + name: mirror_port_id + in: formData + type: integer + manufacturer: + name: manufacturer + in: query + type: string + description: name of the hardware manufacturer. + manufacturer_post: + name: manufacturer + in: formData + type: string + description: name of the hardware/software manufacturer. + module_host_id: + name: module_host_id + in: formData + type: integer + description: ID of Module Host + module_host: + name: module_host + in: formData + type: string + description: >- + Name of the Module host. Must be unique asset name for this to work. (use + instead of ID, Added in v5.8.2) + module_pos: + name: module_pos + in: formData + type: string + enum: + - horizontal + - vertical + module_position: + name: module_position + in: formData + type: string + description: >- + for Modular Patch Panel Models. Possible values are horizontal or vertical + (Added in v5.8.2) + module_not_found: + name: module_not_found + in: formData + type: string + description: >- + action to take on module not found. One of: Remove Host Association, + Change Service Level, Delete Module (default is no action) + modelno: + name: modelno + in: formData + type: string + description: 'Model # of the part model' + network: + name: network + in: query + description: optional + type: string + required: true + name_to_use_for_newly_discovered_module: + name: name_to_use_for_newly_discovered_module + type: string + in: formData + description: name to use + name_to_use_for_newly_discovered_pdu: + name: name_to_use_for_newly_discovered_pdu + type: string + in: formData + description: >- + one of: Name discovered by SNMP, Name plus serial number, Name plus serial + number plus IP + name: + name: name + type: string + in: query + description: filter by name (Added in v6.0.0) + new_name: + name: new_name + type: string + in: formData + description: Use to change name of object. + numbering_start_from_bottom: + name: numbering_start_from_bottom + type: string + in: formData + enum: + - 'yes' + - 'no' + description: 'default is yes, no to change, otherwise ignored.' + notes: + name: notes + in: query + type: string + description: Any additional notes + notes_post: + name: notes + in: formData + type: string + description: Any additional notes + number: + name: number + in: query + description: vlan number + type: integer + number_post: + name: number + in: formData + description: vlan number + type: integer + new_port: + name: new_port + in: formData + description: rename existing port + type: string + netport_id: + name: netport_id + in: formData + type: integer + nameserver: + name: nameserver + in: query + description: Nameserver + type: string + numbering_start_from: + name: numbering_start_from + in: formData + description: 'This is starting # for patch panel ports. Defaults to 1 if not entered.' + type: integer + number_of_ports: + name: number_of_ports + in: formData + description: >- + number of ports. required for creating a new patch panel type singular. + Ignored for patch panel type modular + type: string + number_of_ports_in_row: + name: number_of_ports_in_row + in: formData + description: >- + number of ports in a row. required for creating a new patch panel type + singular. Ignored for patch panel type modular + type: string + os: + name: os + type: string + in: query + description: filter by OS name (added in v8.3.0) + os_post: + name: os + type: string + in: formData + description: Operating system name.

                                                                                      Use this parameter to create or change a device OS. See the device parameters above. + object_id: + name: object_id + type: integer + in: query + description: 'Filters by object ID (ie, device ID, asset ID)' + os_id: + name: os_id + type: string + in: query + description: Operating system ID + osver: + name: osver + type: string + in: formData + description: Operating system version name + osverno: + name: osverno + type: string + in: formData + description: Operating system version number + obj_label1: + name: obj_label1 + type: string + in: formData + description: object label 1 + obj_label2: + name: obj_label2 + type: string + in: formData + description: object label 2 + object_category: + name: object_category + type: string + in: formData + description: name of subnet category for discovered subnets + object_category_pdu: + name: object_category + type: string + in: formData + object_category_get: + name: object_category + type: string + in: query + description: filter by object category + origin_cable_type: + name: origin_cable_type + type: string + in: formData + description: Cable Type (User definable) + origin_cable_color: + name: origin_cable_color + type: string + in: formData + description: Origin Cable Color + object_category_id: + name: object_category_id + type: integer + in: query + description: filter by object category ID + origin_connector_type: + name: origin_connector_type + type: string + in: query + description: Connector Type (User Definable) + origin_connector_type_post: + name: origin_connector_type + type: string + in: formData + description: Connector Type (User Definable) + other_trigger: + name: other_trigger + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + other_type: + name: other_type + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + offset: + name: offset + type: string + in: query + description: >- + start with this device (e.g. limit=100&offset=50 means start with the 50th + device and return the next 100 devices) + override: + name: override + in: formData + description: >- + smart – will detect if the port_name passed exist or not, if not – it is + added to the current port name. Helpful, if you want to track all the port + names for that mac address (e.g. eth0 & bond0).
                                                                                      yes – change the port + name. This is default behavior even if you don’t pass this parameter
                                                                                      no + – will not change the port name + type: string + enum: + - smart + - 'yes' + - 'no' + overwrite_object_categories: + name: overwrite_object_categories + in: formData + enum: + - 'yes' + - 'no' + type: string + orientation_rack: + name: orientation + in: formData + type: string + description: >- + orientation of the rack in room layout view. Possible values: right, left, + up or down. + enum: + - left + - right + - up + - down + orientation_pdu: + name: orientation + in: formData + description: >- + orientation of the PDU in rack. back for rear facing, otherwise front is + default. + type: string + outlet_name: + name: outlet_name + in: formData + description: outlet name + type: string + outscale_regions: + name: outscale_regions + in: formData + description: Comma separated region names for Outscale + type: string + order_no: + name: order_no + in: query + description: Order number + type: string + order_date: + name: order_date + in: query + description: Order number + type: string + origin_type: + name: origin_type + in: query + enum: + - device + - circuit + - switchport + - vendor + - patch_panel_port + description: Type of origin point. + type: string + origin_type_post: + name: origin_type + in: formData + enum: + - cable + - circuit + - switchport + - tap_port + - patch_panel_port + description: Type of origin point. + type: string + origin_id: + name: origin_id + in: query + description: ID of the origin point + type: integer + origin_id_post: + name: origin_id + in: formData + description: ID of the origin point. Must be used with origin_type + type: integer + origin_device: + name: origin_device + in: query + description: 'if origin type is device, this is name of the device. Absent otherwise' + type: string + origin_device_post: + name: origin_device + in: formData + description: 'if origin type is device, this is name of the device. Absent otherwise' + type: string + origin_circuit_id: + name: origin_circuit_id + in: query + description: >- + if origin type is circuit, this is circuit_id of the circuit. Absent + otherwise + type: string + origin_circuit_id_post: + name: origin_circuit_id + in: formData + description: >- + if origin type is circuit, this is circuit_id of the circuit. Absent + otherwise + type: string + origin_switchport: + name: origin_switchport + in: query + description: >- + if origin type is switchport, this is name of the switch port. Absent + otherwise + type: string + origin_switchport_post: + name: origin_switchport + in: formData + description: >- + if origin type is switchport, this is name of the switch port. Used with origin_switch. Absent + otherwise + type: string + origin_switch: + name: origin_switch + in: query + description: 'if origin type is switchport, this is name of the switch. Absent otherwise' + type: string + origin_switch_post: + name: origin_switch + in: formData + description: 'if origin type is switchport, this is name of the switch. Absent otherwise. Used with origin_switchport' + type: string + origin_patch_panel_port: + name: origin_patch_panel_port + in: query + description: >- + if origin type is patch_panel_port, this is name of the patch panel port. + Absent otherwise + type: string + origin_patch_panel_port_post: + name: origin_patch_panel_port + in: formData + description: >- + if origin type is patch_panel_port, this is name of the patch panel port. + Absent otherwise + type: string + origin_patch_panel: + name: origin_patch_panel + in: query + description: >- + if origin type is patch_panel_port, this is name of the patch panel. + Absent otherwise + type: string + origin_patch_panel_id: + name: origin_patch_panel_id + in: query + description: >- + if origin type is patch_panel_port, this is ID of the patch panel. Absent + otherwise + type: string + origin_patch_panel_post: + name: origin_patch_panel + in: formData + description: >- + if origin type is patch_panel_port, this is name of the patch panel. + Absent otherwise + type: string + origin_patch_panel_id_post: + name: origin_patch_panel_id + in: formData + description: >- + if origin type is patch_panel_port, this is ID of the patch panel. Absent + otherwise + type: integer + origin_vendor: + name: origin_vendor + in: query + description: 'if origin type is vendor, this is name of the vendor. Absent otherwise' + type: string + origin_vendor_post: + name: origin_vendor + in: formData + description: 'if origin type is vendor, this is name of the vendor. Absent otherwise' + type: string + origin_optic_type: + name: origin_optic_type + in: formData + description: 'Optic Type (Definable, ie multimode)' + type: string + origin_back_patch_panel: + name: origin_back_patch_panel + in: formData + type: string + paired_ports: + name: paired_ports + in: formData + enum: + - 'yes' + - 'no' + type: string + patch_panel_model_id: + name: patch_panel_model_id + in: formData + description: Patch Panel Model ID or UI Tools > Export > Patch Panel Model + type: integer + patch_panel: + name: patch_panel + in: formData + description: Must be a unique asset name for this to work (Added in v5.8.2) + type: string + patch_panel_model: + name: patch_panel_model + in: formData + description: 'Name of the patch panel model (use instead of ID, Added in v5.8.2)' + type: string + powerunit_connection_ids: + name: powerunit_connection_ids + in: formData + description: A comma-separated list of PU IDs connected to this circuit + type: string + patch_panel_module_model_id: + name: patch_panel_module_model_id + in: formData + type: integer + description: ID of the Patch Panel Module model + patch_panel_module_model: + name: patch_panel_module_model + in: formData + description: 'Name of the patch panel module model (use instead of ID, Added in v5.8.2)' + type: string + parent_subnet_id: + name: parent_subnet_id + in: formData + description: 'Change the parent subnet of the subnet. Note: must be valid parent.' + type: string + parent_subnet_id_get: + name: parent_subnet_id + in: query + description: ID of the parent subnet + type: string + parent_subnet: + name: parent_subnet + in: query + description: parent subnet name + type: string + parent_subnet_with_mask: + name: parent_subnet + in: formData + description: >- + Parent subnet network with mask. The netowrk and mask sould be separated by /. Eg. 12.0.0.0/24 +
                                                                                      Provide vrf_group or vrf_group_id if parent subnet belongs to a VRF Group. + Otherwise this will match a parent subnet without VRF group + type: string + parent_subnet_name: + name: parent_subnet_name + in: formData + description: >- + Parent subnet name.
                                                                                      Provide vrf_group or vrf_group_id if parent subnet belongs to a VRF Group. + Otherwise this will match a parent subnet without VRF group + type: string + parent_mask_bits: + name: parent_mask_bits + in: formData + description: >- + only if searching within a VRF and you want to restrict to certain parents + with particular mask bits (added in v9.0.0) + type: string + parent_vlan_id: + name: parent_vlan_id + in: formData + type: string + part_no: + name: part_number + in: query + type: string + description: 'filter by part #' + part_no_post: + name: part_no + in: formData + type: string + part_id: + name: part_id + in: query + type: string + description: id of the part (added in v6.3.3) + partmodel_id: + name: partmodel_id + in: query + type: string + description: id of the part model (added in v6.3.3) + parent_pdu_id: + name: parent_pdu_id + in: formData + type: string + description: Available from /api/api/1.0/pdus/ or Tools + parent_pdu: + name: parent_pdu + in: formData + type: string + description: name of the parent PDU. Must be unique name. Added in v5.8.2 + partno: + name: partno + in: formData + description: 'Part # of the part model' + type: string + parent_port: + name: parent_port + in: formData + type: string + parent_port_device: + name: parent_port_device + in: formData + type: string + patch_panel_port_id: + name: patch_panel_port_id + in: formData + type: integer + pdu: + name: pdu + in: formData + type: string + description: name of the PDU. only works if the name is unique in the system + pdu_id: + name: pdu_id + in: formData + type: integer + description: ID of the PDU to be edited + pdu_model: + name: pdu_model + in: formData + type: string + description: >- + Name of the PDU model. You can use this instead of the ID above. (Added in + v5.8.2) + pdu_model_name: + name: pdu_model_name + in: formData + type: string + description: Name of the PDU model you want to add ports to. + pdu_model_id: + name: pdu_model_id + in: formData + type: string + description: ID of the PDU model you want to update + polling_interval: + name: polling_interval + in: formData + description: Polling interval in seconds. Adjusted to the nearest available interval value. (e.g., 300 = 5 minutes, 1800 = 30 minutes) + type: string + port: + name: port + in: query + description: child is optional assuming you have a parent created (see examples) + type: string + required: true + port_post: + name: port + in: formData + description: >- + child is optional assuming you have a parent created. Required if no + hwaddress
                                                                                      Note: Do not use a port alias for the port name. + type: string + ports: + name: ports + in: formData + description: 'default is 443, comma separated' + type: string + port_name: + name: port_name + in: formData + description: 'Interface name. (Please note: This is NOT the switchport name.)' + type: string + port_id: + name: port_id + in: query + description: >- + For the port and switch option, port refers to the switchport name (not + the interface name) and switch refers to the device name of the switch. + type: string + port_number: + name: port_number + in: query + description: port number + type: string + port_capability: + name: port_capability + in: formData + description: 'Port Capability - Device, Monitor' + type: string + port_to_from_id: + name: port_to_from_id + in: formData + type: integer + port_type: + name: port_type + in: query + description: 'Port Type Name - RJ45, RJ11, Fiber LC, Fiber SC, Fiber FC' + type: string + required: true + port_type_id: + name: port_type_id + in: formData + type: integer + po_date: + name: po_date + in: formData + type: string + port_name_prefix_to_ignore_macs: + name: port_name_prefix_to_ignore_macs + in: formData + type: string + prio: + name: prio + in: formData + description: Priority for MX record. + type: string + protocol: + name: protocol + in: formData + description: 'the transport protocol, ie TCP' + type: string + psu_label: + name: psu_label + in: formData + description: >- + typically used when device has multiple power supplies, e.g.: power supply + 1, power supply 2, etc. + type: string + purchase_id: + name: purchase_id + in: query + description: Device42 Purchase ID + type: string + plain_text: + name: plain_text + in: query + enum: + - 'yes' + - 'no' + description: >- + Decrypt the password and return the plain text version. ?plain_text=yes + will decrypt and display the password. + type: string + platform: + name: platform + in: formData + type: string + enum: + - windows + - classic winrm + - docker api + - docker + - nutanix + - linux + - vmware + - unix + - aix hmc + - openvz + - oracle vm + - lxc + - kvm + - libvirt + - ovirt + - redhat + - citrix xen + - sccm + password: + name: password + type: string + in: formData + description: The password for the given username. + phone: + name: phone + type: string + in: formData + description: Text field. + provision_date: + name: provision_date + type: string + in: query + description: Text field. + prepend_vmhostname: + name: prepend_vmhostname + type: string + in: formData + enum: + - 'yes' + - 'no' + get_power_units_id: + name: id + type: integer + in: query + description: ID of Power Unit + get_power_units_name: + name: name + type: string + in: query + description: Name of Power Unit + get_power_units_type: + name: type + type: string + in: query + description: Type of Power Unit + enum: + - 'PDU' + - 'UPS' + - 'ATS' + - 'Environment Monitor' + get_power_units_pdu_model_id: + name: pdu_model_id + type: integer + in: query + description: ID of Power Unit Model + get_power_units_pdu_model: + name: pdu_model + type: string + in: query + description: Name of Power Unit Model + get_power_units_building_id: + name: building_id + type: integer + in: query + description: ID of Building that the Power Unit is in. + get_power_units_room_id: + name: room_id + type: integer + in: query + description: ID of Room that the Power Unit is in. + get_power_units_rack_id: + name: rack_id + type: integer + in: query + description: ID of Rack that the Power Unit is on + get_power_units_serial_no: + name: serial_no + type: integer + in: query + description: Serial Number of Power Unit + get_power_units_device_id: + name: device_id + type: integer + in: query + description: ID of Device + get_power_units_gateway_pdu_id: + name: gateway_pdu_id + type: integer + in: query + description: ID of gateway Power Unit + post_power_units_name: + name: name + type: string + in: formData + required: true + description: Name of Power Unit + post_power_units_type: + name: type + type: string + in: formData + enum: + - 'PDU' + - 'UPS' + - 'ATS' + - 'Environment Monitor' + description: Type of Power Unit. Default is Pdu + post_power_units_pdu_model_id: + name: pdu_model_id + type: integer + in: formData + description: ID of Power Unit Model. Only pdu_model_id or pdu_model can be used. + post_power_units_pdu_model: + name: pdu_model + type: string + in: formData + description: Name of Power Unit Model. Only pdu_model_id or pdu_model can be used. + post_power_units_notes: + name: notes + type: string + in: formData + description: Any additional notes + post_power_units_rated_power: + name: rated_power + type: string + in: formData + description: >- + Rated Power of Power Unit. No need to use this field if infeeds are shown. + (e.g. 250 amps or maybe something like 75a / 75a / 75a for a 3-phase pdu) + post_power_units_outlet_name: + name: outlet_name + type: string + in: formData + description: Name of outlet the Power Unit Port is using + post_power_units_pdu_serial_no: + name: pdu_serial_no + type: integer + in: formData + description: Serial number of Power Unit + post_power_units_device: + name: device + type: string + in: formData + description: Name of Device that maps with Power Unit + post_power_units_serial_no: + name: serial_no + type: integer + in: formData + description: Serial number of device + post_power_units_asset_no: + name: asset_no + type: integer + in: formData + description: Asset number of device + post_power_units_storage_room_id: + name: storage_room_id + type: integer + in: formData + description: ID of storage room power unit is in. Only storage_room_id or storage_room can be used. + post_power_units_storage_room: + name: storage_room + type: string + in: formData + description: Name of storage room power unit is in. Only storage_room_id or storage_room can be used. + post_power_units_object_category: + name: object_category + type: string + in: formData + description: Name of Object Category + post_power_units_new_object_category: + name: new_object_category + type: string + in: formData + description: Use to change Object Category + post_power_units_gateway_pdu_id: + name: gateway_pdu_id + type: integer + in: formData + description: >- + ID of gateway PDU to set. Only gateway_pdu_id or gateway_pdu can be used. + You cannot set gateway power unit when a device mapping is set. + post_power_units_gateway_pdu: + name: gateway_pdu + type: string + in: formData + description: >- + Name of gateway PDU to set. Only gateway_pdu_id or gateway_pdu can be used. + You cannot set gateway power unit when a device mapping is set. + post_power_units_tags: + name: tags + type: string + in: formData + description: Add tags to Power Unit + put_power_units_pdu_id: + name: pdu_id + type: integer + in: formData + description: ID of Power Unit. Either 'name' or 'pdu_id' is REQUIRED. + put_power_units_name: + name: name + type: string + in: formData + description: Name of Power Unit. Either 'name' or 'pdu_id' is REQUIRED. + put_power_units_new_name: + name: new_name + type: string + in: formData + description: Use to change the name of the Power Unit + put_power_units_tags_remove: + name: tags_remove + type: string + in: formData + description: Use to remove tags + delete_power_units_id: + name: id + type: integer + in: path + description: ID of Power Unit + run: + name: run + type: string + in: formData + required: true + description: yes to start + run_as_operator: + name: run_as_operator + type: string + in: formData + enum: + - 'yes' + - 'no' + overwrite_device_name: + name: overwrite_device_name + type: string + in: formData + enum: + - 'yes' + - 'no' + row: + name: row + type: string + in: formData + description: >- + this row field is for the name of the rows, and not related to the grid + positioning of the rack + room_id: + name: room_id + type: integer + in: query + description: filter by room ID (Added in v5.9.0) + room_id_post: + name: room_id + type: string + in: formData + description: Room ID if Room name is not unique + room: + name: room + type: string + in: query + description: >- + filter by room name. Only works if room ID is not present (Added in + v5.9.0) + raid_type: + name: raid_type + type: string + in: formData + description: type of RAID + raid_group: + name: raid_group + type: string + in: formData + description: RAID group name + ramsize: + name: ramsize + type: string + in: formData + description: 'enter in MB, e.g.: 8 GB enter 8192' + ramtype: + name: ramtype + type: string + in: formData + description: 'e.g.: DDR3' + ramspeed: + name: ramspeed + type: string + in: formData + description: 'e.g.: 1600' + rack_id: + name: rack_id + type: integer + in: query + description: filter by rack ID (Added in v5.9.0) + rack: + name: rack + type: string + in: query + description: >- + filter by rack name. Only works if rack ID is not present (Added in + v5.9.0) + rated_power: + name: rated_power + type: string + in: formData + related_field_name: + name: related_field_name + type: string + in: formData + enum: + - appcomp + - building + - businessapp + - certificate + - circuit + - cloudinfrastructure + - costcenter + - customer + - device + - dns_zone + - endusers + - hardware + - ip_address + - netport + - organisation + - os + - pdu + - pdu_model + - powercircuit + - purchase + - rack + - room + - servicecategory + - software_category + - software + - vlan + description: >- + Required if type = related_field. The existing field to relate this + custom field to. Below are details for some of the fields that have been renamed + or require further clarification. + appcomp (for application components), businessapp (for Business Service), + circuit (for Telco Circuit), cloudinfrastructure (for Cloud Account), + hardware (for device hardware model), netport (for Switch Port), + organisation (for Vendor), pdu (for Power Unit), pdu_model (for Power Unit Model), + purchase (for Purchase Order), software (for Software Component), + vlan (for Subnet) + related_device_id: + name: related_device_id + type: integer + in: query + description: ID of the related device (added in v9.3.0) + raised_floor: + name: raised_floor + type: string + in: formData + enum: + - 'yes' + - 'no' + raised_floor_height: + name: raised_floor_height + type: string + in: formData + description: height of raised floor + reverse_xaxis: + name: reverse_xaxis + type: string + in: formData + enum: + - 'yes' + - 'no' + description: '''yes'' reverses the numbering order on the x-axis' + reverse_yaxis: + name: reverse_yaxis + type: string + in: formData + enum: + - 'yes' + - 'no' + description: '''yes'' reverses the numbering order on the y-axis' + remote_collector_id: + name: remote_collector_id + type: string + in: formData + range_begin: + name: range_begin + in: query + description: Range Begin (added in v7.2.0) + type: string + range_begin_post: + name: range_begin + in: formData + description: Range Begin (added in v7.2.0) + type: string + range_end: + name: range_end + in: query + description: Range End (added in v7.2.0) + type: string + range_end_post: + name: range_end + in: formData + description: Range End (added in v7.2.0) + type: string + remove_unfound_instances: + name: remove_unfound_instances + in: formData + type: string + enum: + - 'yes' + - 'no' + remote_port_id: + name: remote_port_id + in: formData + description: ID of the remote connected switch port. + type: string + remote_ips: + name: remote_ips + in: formData + description: >- + the comma separated list of remote IPs that are connected to this + listening IP/port + type: string + remote_device: + name: remote_device + in: formData + description: Name of the switch for remote connected switch port. + type: string + remote_port: + name: remote_port + in: formData + description: Name of the port for remote connected switch port. + type: string + remote_port_clear: + name: remote_port_clear + in: formData + enum: + - 'yes' + - 'no' + description: 'if set to yes, will clear the remote port' + type: string + reserve_ip: + name: reserve_ip + in: query + enum: + - 'yes' + - 'no' + description: >- + If value of yes is passed, the suggested IP is reserved. Return value also + adds reserved as yes or no. (added in v7.2.0) + type: string + row_size: + name: row_size + in: formData + description: How many rows long the rack is + type: string + snmp_string: + name: snmp_string + in: formData + type: string + description: 'required, if new' + snmp_port: + name: snmp_port + in: formData + type: integer + description: snmp port (integer only) (added in v10.4.0) + snmp_version: + name: snmp_version + in: formData + type: string + default: v2c + enum: + - v1 + - v2c + - v3 + snmp_string_id: + name: snmp_string_id + in: formData + type: string + description: The id of the password for the community string + snmp_strings: + name: snmp_strings + in: formData + type: string + description: >- + Can be comma separated list of community strings to use multiple community + strings + snmp_string_ids: + name: snmp_string_ids + in: formData + type: string + description: >- + Can be comma separated list of community string IDs to use multiple + community strings + snmpv3_auth_password_id: + name: snmpv3_auth_password_id + in: formData + type: string + description: The id of the password for the auth password + snmpv3_privacy_protocol_password_id: + name: snmpv3_privacy_protocol_password_id + in: formData + type: string + description: The id of the password for the privacy protocol password + snmpv3_user: + name: snmpv3_user + in: formData + type: string + description: name of snmp v3 user (added in v10.4.0) + snmpv3_auth_mode: + name: snmpv3_auth_mode + in: formData + type: string + enum: + - noAuthoNoPriv + - authNoPriv + - authPriv + snmpv3_auth_protocol: + name: snmpv3_auth_protocol + in: formData + type: string + enum: + - MD5 + - SHA + - SHA256 + - SHA512 + snmpv3_auth_password: + name: snmpv3_auth_password + in: formData + type: string + description: password (added in v10.4.0) + snmpv3_privacy_protocol: + name: snmpv3_privacy_protocol + in: formData + type: string + enum: + - DES + - 3DES + - AES + - AES128 + - AES192 + - AES192C + - AES256 + - AES256C + snmpv3_privacy_protocol_password: + name: snmpv3_privacy_protocol_password + in: formData + type: string + description: password (added in v10.4.0) + snmpv3_context: + name: snmpv3_context + in: formData + type: string + schedule_time: + name: schedule_time + in: formData + type: string + description: >- + Time in HH:MM format if you want to schedule the job. Note: Must be + formatted as text NOT date. For multiple schedules, separate with a slash + (/). + schedule_days: + name: schedule_days + in: formData + type: string + description: >- + Comma separated days of week, where Monday = 0. e.g. 0,1,2 will set the job + for Mon, Tue and Wed. For multiple schedules, separate with a slash (/). + strip_domain_name: + name: strip_domain_name + in: formData + type: string + enum: + - 'yes' + - 'no' + strip_domain_suffix: + name: strip_domain_suffix + in: formData + type: string + description: Strip domain suffix if discovered on VMs or hypervisor + enum: + - 'yes' + - 'no' + service_type: + name: service_type + type: string + in: query + description: could be ignored or tracked. Default is tracked. + secret_key: + name: secret_key + type: string + in: formData + description: Amazon AWS, MS Azure, OpenStack, Google Cloud, Alibaba Cloud, Oracle Cloud + secret_key_id: + name: secret_key_id + type: string + in: formData + description: Amazon AWS, MS Azure, OpenStack, Google Cloud, Alibaba Cloud, Oracle Cloud + server: + name: server + type: string + in: formData + description: IP or FQDN of target server + required: true + service_level_device_id: + name: service_level_device_id + type: string + in: formData + service_name: + name: service_name + type: string + in: query + required: true + description: The executable name of the service + service_display_name: + name: service_display_name + type: string + in: query + required: true + description: The user freindly display name of the service + service_id: + name: service_id + type: string + in: query + description: filter by id of the service + service_detail_id: + name: service_detail_id + type: string + in: query + description: filter by id of the service in use + serial_no: + name: serial_no + type: string + in: query + description: 'filter by serial # (Added in v6.0.0)' + serial_no_contains: + name: serial_no_contains + type: string + in: query + description: filter by partial serial match (Added in 9.7.1) + sequential_numbering_for_ports: + name: sequential_numbering_for_ports + type: string + in: formData + enum: + - 'yes' + - 'no' + description: Could be “yes” or “no”. Yes if ports are numbered starting from 1. + skip_vlan_indexing: + name: skip_vlan_indexing + type: string + in: formData + description: yes or no (added in v10.4.0) + status: + name: status + in: formData + type: string + description: 'Instance status (ie, running, stopped)' + state: + name: state + in: query + type: string + description: >- + The current running state of this service. Valid values are ‘Running’, + ‘Started’, ‘Paused’, ‘Stopped’ and ‘Unknown’ + startmode: + name: startmode + in: query + type: string + description: >- + The start mode of this service - valid values are ‘Automatic’, ‘Manual’, + ‘Disabled’ and ‘Unknown’ + subnet_id: + name: subnet_id + in: query + description: ID of the subnet (added in v7.2.0) + type: string + subnets_type: + name: type + in: formData + enum: + - 'Static' + - 'DHCP' + - 'Reserved' + - 'D42_NULL' + description: type of the subnet. Pass D42_NULL to empty out type. + type: string + subscriptionid: + name: subscriptionid + in: formData + description: MS Azure Subscription ID + type: string + subnet: + name: subnet + in: query + description: name of the subnet + type: string + sudo_retry: + name: sudo_retry + in: formData + type: string + service_level: + name: service_level + type: string + in: query + description: filter by service level name + service_level_post: + name: service_level + type: string + in: formData + description: Must already exist + show_on_chart: + name: show_on_chart + type: string + in: formData + description: Show the field on impact charts + slot_numbering: + name: slot_numbering + type: string + in: formData + enum: + - top_to_bottom + - bottom_to_top + - left_to_right + - right_to_left + switch: + name: switch + in: formData + description: >- + d42 will look for existing port and switch combination and if it exists, + will update that port. + type: string + switch_ids: + name: switch_ids + in: formData + description: Comma separated values for switch_ids
                                                                                      Only vlans with these switch_ids will be merged + type: string + switch2_id: + name: switch2_id + in: query + description: ID of the 2nd network device port is on + type: string + switchport_id: + name: switchport_id + in: formData + description: >- + ID for the switch port. Available via GET at /api/api/1.0/switchports/ or + Tools > Export > Switch Port + type: string + speed: + name: speed + in: formData + description: update port speed + type: string + slave_ports: + name: slave_ports + in: formData + description: comma separated port names + type: string + switch_template_id: + name: switch_template_id + in: formData + required: true + description: GET all Switch Templates + type: string + source_port_start: + name: source_port_start + in: formData + description: Starting port for source IP range + type: string + source_port_end: + name: source_port_end + in: formData + description: used for mapping a range of ports rather than a single port + type: string + software_id: + name: software_id + type: string + in: query + description: filter by id of the software + software_detail_id: + name: software_detail_id + type: string + in: query + description: filter by id of the software + software: + name: software + type: string + in: formData + description: the name of the software + required: true + software_name: + name: software_name + type: string + in: query + description: filter by name of the software component + software_type: + name: software_type + type: string + in: query + description: 'Filter by software type (managed, unmanaged, prohibited or ignored)' + deployment_type: + name: deployment_type + type: string + in: query + description: 'Filter by deployment type (saas, mobile, desktop or server)' + size: + name: size + in: formData + type: string + description: Size of the PDU in U + storage_room_id: + name: storage_room_id + in: formData + type: string + description: ID of storage room to assign power unit to + storage_room: + name: storage_room + in: formData + type: string + description: Name of storage room to apply power unit to + store_config_files: + name: store_config_files + in: formData + type: string + enum: + - 'yes' + - 'no' + start_ip_address: + name: start_ip_address + in: formData + type: string + description: Legacy Field. Please use Server property + start_row: + name: start_row + in: formData + type: string + description: 'Starting row for rack, for grid positioning' + start_col: + name: start_col + in: formData + type: string + description: 'Starting column for the rack, for grid positioning' + start_at: + name: start_at + in: formData + type: string + description: Required if adding to rack. U Start location. + slot_no: + name: slot_no + in: formData + type: integer + description: Number of slot on rack + spec_url: + name: spec_url + in: formData + type: string + description: Specification url for the hardware model. + tags: + name: tags + type: string + in: query + description: >- + filter by tags. comma separated for multiple tags (This is an OR filter, + gets all the devices for all comma separated tags) + tags_and: + name: tags_and + type: string + in: query + description: >- + filter by all the tags, separated by comma. (This is an AND filter and all + tags have to match for filter, this was added in v6.3.1) + tags_remove: + name: tags_remove + type: string + in: formData + description: remove tags from a switchport + tags_post: + name: tags + type: string + description: add tags (comma separated) + in: formData + tags_remove_generic: + name: tags_remove + type: string + in: formData + description: remove tags (comma separated) + target: + name: target + type: string + in: formData + description: list of ip(s), ip range(s), cidr(s) and fqdn(s) to run discovery on + required: true + exclude_targets: + name: exclude_targets + type: string + in: formData + description: list of ip(s), ip range(s), cidr(s) and fqdn(s) to exclude from discovery + tenant: + name: tenant + type: string + in: formData + description: OpenStack Project name; Google Project ID; Oracle Tenant ID; Arista CloudVision Tenant; Workspace ONE Tentant; + type: + name: type + type: string + in: query + description: >- + filter by device type (physical, virtual, blade, other, cluster or + unknown) + required: true + ttl: + name: ttl + in: query + description: TTL value. + type: string + target_port_start: + name: target_port_start + in: formData + description: Starting port for target IP range + type: string + target_port_end: + name: target_port_end + in: formData + description: used for mapping a range of ports rather than a single port + type: string + two_way_relation: + name: two_way_relation + in: formData + enum: + - true + - false + description: >- + true if the internal IP addressed is masked with the external IP address + for outbound traffic in addition to inbound traffic. Default is false. + type: string + token_key: + name: token_key + in: formData + description: DigitalOcean Token Key - required for DigitalOcean. + type: string + token_id: + name: token_id + in: path + description: The id of the token + type: integer + required: true + total_count: + name: total_count + in: query + description: Count of IPs returned (use with offset as max results are limited to 1000) + type: string + toggle_in_service_on_module_power_state: + name: toggle_in_service_on_module_power_state + in: formData + description: yes or no + type: string + toggle_service_level_on_vm_power_state: + name: toggle_service_level_on_vm_power_state + in: formData + type: string + enum: + - 'yes' + - 'no' + threads: + name: threads + in: formData + description: number of threads + type: string + track_licensed_by_count: + name: track_licensed_count_by_keys + type: string + in: formData + enum: + - 'yes' + - 'no' + description: whether or not to track software by discovered count + track_vm_name_change: + name: track_vm_name_change + type: string + in: formData + enum: + - 'yes' + - 'no' + turn_on_date: + name: turn_on_date + type: string + in: query + use_only_users_remove: + name: use_only_users_remove + type: string + in: formData + description: A comma separated list of users to remove use only permissions. + use_only_groups: + name: use_only_groups + type: string + in: formData + description: A comma separated list of user groups that have use permissions. + use_only_groups_remove: + name: use_only_groups_remove + type: string + in: formData + description: A comma separated list of user groups to remove use permissions. + uuid: + name: uuid + type: string + in: query + description: filter by uuid (exact match) (Added in v6.3.2) + user_id: + name: user_id + type: string + in: query + description: filter by id of the user + uom: + name: uom + in: formData + type: string + enum: + - m + - in + description: unit of measurement (meters or inches) + up: + name: up + in: formData + description: = yes for up. = no for down. + enum: + - 'yes' + - 'no' + type: string + up_admin: + name: up_admin + in: formData + description: Whether port is administratively up or down. = yes for up. = no for down. + type: string + enum: + - 'yes' + - 'no' + update_model_if_found: + name: update_model_if_found + in: formData + enum: + - 'yes' + - 'no' + type: string + user: + name: user + in: formData + description: enduser name + type: string + use_name_alias_port_descr: + name: use_name_alias_port_descr + in: formData + enum: + - 'yes' + - 'no' + description: yes to use alias for port description during discovery (added in v8.3.2) + type: string + use_service_account: + name: use_service_account + in: formData + type: string + enum: + - 'yes' + - 'no' + use_domain_server: + name: use_domain_server + in: formData + type: string + enum: + - 'yes' + - 'no' + use_fqdn: + name: use_fqdn + in: formData + type: string + enum: + - 'yes' + - 'no' + username: + name: username + in: query + description: Retrieve all the secrets with the specified username. ?username= + type: string + username_post: + name: username + in: formData + type: string + username_and_password: + name: username_and_password + type: string + in: query + description: Create a new password. + url: + name: url + type: string + in: formData + description: Cloudstack IP address - required for CloudStack + url_prefix: + name: url_prefix + type: string + in: formData + description: http or https + url_suffix: + name: url_suffix + type: string + in: formData + description: append suffix to discovery url + voltage: + name: voltage + type: string + in: formData + description: The rated voltage on this circuit + vm_name_to_use: + name: vm_name_to_use + type: string + in: formData + description: “found from vm tools” or “as named on vserver” + vm_not_found: + name: vm_not_found + type: string + in: formData + enum: + - Remove Host Association + - Change Service Level + - Delete VM + - Do Nothing + description: Choose how to handle VM not found in discovery + vm_add_disk: + name: vm_add_disk + type: string + in: formData + enum: + - 'yes' + - 'no' + virtual_host_name: + name: virtual_host_name + type: string + in: query + description: filter by virtual host name + virtual_subtype: + name: virtual_subtype + type: string + in: query + description: filter by virtual subtype (added in v8.3.2) + virtualsubtype_id: + name: virtualsubtype_id + type: string + in: formData + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' + - '9' + - '10' + - '11' + - '12' + - '13' + - '14' + - '15' + - '16' + - '17' + - '18' + - '19' + - '20' + - '21' + - '22' + - '23' + - '24' + - '25' + - '26' + - '27' + - '28' + - '29' + - '30' + - '31' + - '32' + - '33' + description: >- + Virtual subtype id. Only for virtual devices. +
                                                                                      1. Internal VM 2. Amazon EC2 Instance 3. Azure Cloud Service +
                                                                                      4. Azure SQL Server 5. Azure Storage 6. Other +
                                                                                      7. Outscale Instance 8. Linode Instance 9. DigitalOcean Instance +
                                                                                      10. Azure Virtual Machine 11. VMWare 12. Citrix/Xen +
                                                                                      13. KVM 14. Hyper-V 15. Docker Container +
                                                                                      16. LXC Container 17. Rackspace VM 18. Softlayer VM +
                                                                                      19. QEMU 20. Joyent Instance 21. VirtualBox +
                                                                                      22. Oracle VM 23. OpenStack 24. Xen +
                                                                                      25. LPAR 26. GCE 27. Amazon Service +
                                                                                      28. Context 29. Alibaba Cloud Instance 30. Oracle Cloud Instance +
                                                                                      31. Kubernetes Container 32. AIX VIOS 33. Nutanix AHV + vertical_grid_numbering: + name: vertical_grid_numbering + type: string + in: formData + enum: + - numeric + - alphabetic + - alphabetic_doubled + description: numeric by default + vertical_grid_start: + name: vertical_grid_start + type: string + in: formData + vrf_group_id: + name: vrf_group_id + in: query + description: ID of the VRF group + type: string + vrf_group_id_post: + name: vrf_group_id + in: formData + description: ID of the VRF group + type: integer + vrf_group_from: + name: vrf_group_from + in: formData + description: Originating VRF Group Name + type: string + vrf_group_id_from: + name: vrf_group_id_from + in: formData + description: Originating VRF Group ID + type: string + vrf_group_to: + name: vrf_group_to + in: formData + description: Destination VRF Group Name + type: string + vrf_group_id_to: + name: vrf_group_id_to + in: formData + description: Destination VRF Group ID + type: string + vrf_group: + name: vrf_group + in: query + description: VRF group name + type: string + vrf_group_post: + name: vrf_group + in: formData + description: VRF group name + type: string + vrfgroup: + name: vrfgroup + in: formData + description: name of vrf group for discovered subnets (added in v10.4.0) + type: string + vendor: + name: vendor + in: query + type: string + description: The cloud vendor + vendor_post: + name: vendor + in: formData + type: string + description: The cloud vendor + vendor_name: + name: name + in: query + description: The name of vendor to filter by. + type: string + vlan_id: + name: vlan_id + in: query + description: ID of the vlan + type: string + vlan_id_post: + name: vlan_id + in: formData + description: ID of the vlan + type: string + vlan: + name: vlan + type: string + in: formData + description: Primary Vlan. Use the value 'D42_NULL' to clear up the content of the primary vlan field. + vlans: + name: vlans + type: string + in: formData + description: list of vlans separated by commas. + vlan_ids: + name: vlan_ids + type: string + in: formData + description: list of vlan ids separated by commas. + clear_vlans: + name: clear_vlans + type: string + in: formData + description: list of vlans to be removed separated by commas. + clear_vlan_ids: + name: clear_vlan_ids + type: string + in: formData + description: list of vlan ids to be removed separated by commas. + clear_switch_ids: + name: clear_switch_ids + type: string + in: formData + description: list of switch ids to be removed separated by commas. + clear_switches: + name: clear_switches + type: string + in: formData + description: list of switches to be removed separated by commas. + value: + name: value + in: formData + type: string + description: This will set the value of the custom field for the specific object. + version: + name: version + type: string + in: formData + description: The version number of the software + view_users: + name: view_users + type: string + in: formData + description: >- + A comma separated list of users that have permission to view this + secret. + view_edit_users: + name: view_edit_users + type: string + in: formData + description: >- + A comma separated list of users that have permission to view and edit this + secret. + view_groups: + name: view_groups + type: string + in: formData + description: >- + A comma separated list of user groups that have permission to view this + secret. + view_users_remove: + name: view_users_remove + type: string + in: formData + description: A comma separated list of users to remove view permissions. + view_edit_users_remove: + name: view_edit_users_remove + type: string + in: formData + description: A comma separated list of users to remove view and edit permissions. + view_groups_remove: + name: view_groups_remove + type: string + in: formData + description: A comma separated list of user groups to remove use permissions. + view_edit_groups: + name: view_edit_groups + type: string + in: formData + description: A comma separated list of user groups that have view and edit permissions. + view_edit_groups_remove: + name: view_edit_groups_remove + type: string + in: formData + description: A comma separated list of user groups to remove view and edit permissions. + vlans_to_ignore: + name: vlans_to_ignore + type: string + in: formData + description: list of vlan ids to ignore separated by commas (added in v10.4.0). Use the value 'D42_NULL' to clear up the content of the vlans_to_ignore field. + weeks: + name: weeks + type: string + in: query + description: only for schedule based services where startmode = ‘Scheduled’ + wall: + name: wall + type: string + in: query + description: >- + Can be one of ‘left’, ‘right’, ‘top’, ‘bottom’, ‘middle’. Choose ‘middle’ + if you do not want the object placed along one of the 4 walls. + where: + name: where + type: string + in: formData + enum: + - above + - below + - left + - right + - rack mounted + - shelf + description: >- + Location in a rack. Note: If mounted a size must be provided or available + from the hardware model. + watts: + name: watts + type: string + in: formData + description: per power supply + watts_get: + name: watts + type: string + in: query + description: filter by exact watts + what: + name: what + type: string + in: formData + description: Description of business impact due to loss of component. + width_ratio_get: + name: width_ratio + type: string + in: query + description: Get hardware by it's width ratio. 'Default=1. Can be 1/2, 1/3, 1/4, 1/5,1/6, 1/7, 1/8, 1/9, 1/10, 1/20' + width_ratio_post: + name: width_ratio + type: string + in: formData + enum: + - '1' + - '1/2' + - '1/3' + - '1/4' + - '1/5' + - '1/6' + - '1/7' + - '1/8' + - '1/9' + - '1/10' + - '1/20' + description: >- + Width ratio. Default: 1.
                                                                                      + If given value is other than allowed values, default value will be assigned. + x_pos: + name: x_pos + type: integer + minimum: 0 + maximum: 2520 + in: formData + description: >- + A number between 0 and 2520 representing the position within the u slot in + increments of 252, which is equal to 1/10th of the width of the rack. 0 + will place a device flush left, 1260 will place the left side of a device + in center. + zonename: + name: zonename + in: formData + type: string + description: name of the zone + required: true + remove_password_ids: + name: remove_password_ids + type: string + in: formData + description: Comma separated list of D42 IDs of existing secret records to be removed from the job. +definitions: + devices: + type: array + items: + $ref: '#/definitions/device' + device: + type: object + properties: + name: + example: '320' + serial_no: + example: 'null' + asset_no: + example: 'null' + preferred_alias: + example: 'null' + device_url: + example: /api/api/1.0/devices/id/34/ + device_id: + example: '34' + type: + example: 'physical' + uuid: + example: 07FCE572-B2B3-B44C-BB1C-6799B509CC31 + AppGroupCalcTemplate: + type: object + properties: + id: + type: integer + example: 1 + description: ID of an existing Application Group Calculation Templates. Do not enter an ID if you are creating a new template. + name: + type: string + example: 'Custom Template Name' + description: Name of the Application Group Calculation Templates. Either name or id is required. + calculation_format: + type: string + example: 'DOQL' + enum: + - 'Form' + - 'DOQL' + description: Whether the template is defined using DOQL or using predefined form fields. Required for new templates. + doql_query: + type: string + example: "SELECT servicecommunication_pk FROM view_servicecommunication_v2 where date_part('day', now() :: timestamp - last_updated :: timestamp) <= 30" + description: DOQL query to use for template. Required for new templates with DOQL calculation format. + connection_limit: + type: integer + example: 10 + description: How many connections are allowed for a single node in application group before it stops traversing + time_period: + type: integer + example: 30 + description: Number of days to look back for connections + exclude_local_host: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Exclude any connections that are to the local host + exclude_unmapped_clients: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Exclude any connections that are client only + exclude_client_os: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Exclude devices with client operating systems + end_at_vip: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Stop traversing at VIPs + end_at_db: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Stop traversing at databases + depth_level: + type: integer + example: 20 + description: How many levels deep to traverse + exclude_udl: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Exclude any connections that are to Undiscovered Listeners + inclusions: + description: JSON array of inclusion criteria + type: array + items: + properties: + criteria: + type: string + example: "type=\"virtual\"" + description: Advanced query filtering as specified in list page for selected ci type. + ci_type: + type: string + enum: + - 'device' + - 'resource' + description: Type of CI to include - currently supporting device and resources + exclusions: + description: JSON array of exclusion criteria + type: array + items: + properties: + criteria: + type: string + example: "category = \"Database\"" + description: Advanced query filtering as specified in list page for selected ci type. + ci_type: + type: string + enum: + - 'application_component' + - 'device' + - 'resource' + - 'serviceportremoteip' + - 'servicedetail' + description: Type of CI to include - currently supporting application_component, device, resource, serviceportremoteip, and servicedetail + AppGroupCalcTemplateGet: + allOf: + - $ref: '#/definitions/AppGroupCalcTemplate' + - type: object + properties: + last_processed: + type: string + example: '2024-09-09T10:42:47.241286Z' + description: Date and time the template was last processed + processing_status: + type: string + example: 'Completed' + enum: + - 'Processing' + - 'Completed' + - 'Warnings' + - 'Failed' + description: Status of the template processing + processing_logs: + type: string + example: 'Error preparing data for Application Group Calculation Template.' + description: Logs from the last processing of the template + first_added: + type: string + example: '2024-09-09T10:42:47.241286Z' + description: Date and time the template was added to the database + last_updated: + type: string + example: '2024-09-09T10:42:47.241286Z' + description: Date and time the template record in the database was saved, regardless if any properties were changed or not + AppGroupCalcRuleBase: + type: object + properties: + id: + type: integer + example: 1 + description: ID of an existing Application Group Calculation Rule. Do not enter an ID if you are creating a new rule. + name: + type: string + example: 'Custom Rule Name' + description: Name of the Application Group Calculation Rule. Either name or id is required. + enabled: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Whether the rule is enabled or disabled. + outcome: + type: string + example: 'Auto-Create' + enum: + - 'Auto-Create' + - 'Suggest' + description: Whather the rule produces Application Groups or Application Group Suggestions when processing. + starting_point_type: + type: string + example: 'Criteria' + enum: + - 'Criteria' + - 'Fixed' + description: Whether the Application Groups start with a fixed starting point or a criteria based starting point. + starting_point_criteria: + description: JSON array of starting point criteria + type: array + items: + properties: + criteria: + type: string + example: "type=\"virtual\"" + description: Advanced query filtering as specified in list page for selected ci type. + ci_type: + type: string + enum: + - 'application_component' + - 'device' + - 'resource' + - 'servicedetail' + example: 'device' + description: Type of CI to include - currently supporting application_component, device, resource, and servicedetail + required: + type: string + enum: + - 'yes' + - 'no' + example: 'yes' + description: Whether the starting point is required for the rule. + group_by: + type: array + items: + type: string + example: 'Name' + description: How to group starting points for Application Groups when processing the rule. Available options depend on the CIs in the starting point. + group_by_tags_like: + type: string + example: 'App-%' + description: Tag pattern to group by. Use '%'' as a wildcard. For example, to group on tags like 'App-1', 'App-2', use 'App-%'. Either group_by or group_by_tags_like is required for criteria based starting points. + application_group_calc_template: + type: string + example: 'D42 Default Template' + description: Name of the Application Group Calculation Template to use for processing the rule. The default template is 'D42 Default Template'. + application_group_calc_template_id: + type: integer + example: 1 + description: ID of the Application Group Calculation Template to use for processing the rule. + levels_of_depth: + type: integer + example: 20 + description: Default levels of depth to display on Application Groups. Leave blank to fully expand. + store_connection_metadata: + type: string + example: 'yes' + enum: + - 'yes' + - 'no' + description: Whether to store and display connection metadata. + AppGroupCalcRuleGet: + allOf: + - $ref: '#/definitions/AppGroupCalcRuleBase' + - type: object + properties: + is_system: + type: string + example: 'no' + enum: + - 'yes' + - 'no' + description: Whether the rule is a system rule or a custom rule. + starting_point_devices: + description: JSON array of devices in the fixed starting point + type: array + items: + properties: + device_id: + type: integer + example: 1 + description: ID of the device to use as a starting point + name: + type: string + example: 'Device Name' + description: Name of the device to use as a starting point + starting_point_resources: + description: JSON array of resources in the fixed starting point + type: array + items: + properties: + resource_id: + type: integer + example: 1 + description: ID of the resource to use as a starting point + name: + type: string + example: 'Resource Name' + description: Name of the resource to use as a starting point + starting_point_application_components: + description: JSON array of application components in the fixed starting point + type: array + items: + properties: + application_component_id: + type: integer + example: 1 + description: ID of the application component to use as a starting point + name: + type: string + example: 'Application Component Name' + description: Name of the application component to use as a starting point + starting_point_service_instances: + description: JSON array of service instances in the fixed starting point + type: array + items: + properties: + service_detail_id: + type: integer + example: 1 + description: ID of the service instance to use as a starting point + service_display_name: + type: string + example: 'Service Display Name' + description: Display name of the service of service instance to use as a starting point + last_processed: + type: string + example: '2024-09-09T10:42:47.241286Z' + description: Date and time the rule was last processed + processing_status: + type: string + example: 'Completed' + enum: + - 'Processing' + - 'Completed' + - 'Warnings' + - 'Failed' + description: Status of the rule processing + processing_logs: + type: string + example: 'Cannot process disabled Calculation Rules' + description: Logs from the last processing of the rule + first_added: + type: string + example: '2024-09-09T10:42:47.241286Z' + description: Date and time the rule was added to the database + last_updated: + type: string + example: '2024-09-09T10:42:47.241286Z' + description: Date and time the rule record in the database was saved, regardless if any properties were changed or not + AppGroupCalcRulePost: + allOf: + - $ref: '#/definitions/AppGroupCalcRuleBase' + - type: object + properties: + remove_starting_point_device_ids: + type: string + example: '1,2,3' + description: Comma separated list of device IDs to remove from the fixed starting point + remove_starting_point_resource_ids: + type: string + example: '1,2,3' + description: Comma separated list of resource IDs to remove from the fixed starting point + remove_starting_point_application_component_ids: + type: string + example: '1,2,3' + description: Comma separated list of application component IDs to remove from the fixed starting point + remove_starting_point_service_instance_ids: + type: string + example: '1,2,3' + description: Comma separated list of service instance IDs to remove from the fixed starting point + starting_point_device_ids: + type: string + example: '1,2,3' + description: Comma separated list of device IDs to set as the fixed starting point + starting_point_resource_ids: + type: string + example: '1,2,3' + description: Comma separated list of resource IDs to set as the fixed starting point + starting_point_application_component_ids: + type: string + example: '1,2,3' + description: Comma separated list of application component IDs to set as the fixed starting point + starting_point_service_instance_ids: + type: string + example: '1,2,3' + description: Comma separated list of service instance IDs to set as the fixed starting point + devicesAll: + type: object + properties: + total_count: + example: '709' + limit: + example: '1' + devices: + type: array + items: + type: object + properties: + last_updated: + example: '2019-01-06T07:00:08.330Z' + orientation: + example: '1' + ip_addresses: + example: [] + serial_no: + example: 'FOC1252W6EW' + hw_depth: + example: '1' + device_id: + example: '64' + service_level: + example: 'disposed' + is_it_blade_host: + example: 'no' + hw_size: + example: '1' + id: + example: '64' + custom_fields: + example: [] + aliases: + example: [] + category: + example: '' + hdd_details: + example: 'null' + uuid: + example: '' + cpuspeed: + example: 'null' + hw_model: + example: 'WS-C3750G-48TS-S' + row: + example: '10' + rack_id: + example: '9' + hddcount: + example: 'null' + building: + example: 'Building 3' + xpos: + example: '0' + device_external_links: + example: [] + start_at: + example: '4' + tags: + example: [] + hw_model_id: + example: '24' + in_service: + example: 'false' + hddsize: + example: 'null' + mac_addresses: + example: [] + hddraid: + example: 'null' + nonauthoritativealiases: + example: [] + cpucount: + example: 'null' + os: + example: 'ios' + virtual_host_name: + example: 'null' + is_it_virtual_host: + example: 'no' + is_it_switch: + example: 'yes' + customer: + example: 'yes' + hddraid_type: + example: 'null' + ucs_manager: + example: 'null' + name: + example: 'wh-lab-sw-01 - Switch 1' + room: + example: 'Old devices' + type: + example: 'physical' + notes: + example: '' + ram: + example: 'null' + asset_no: + example: '' + manufacturer: + example: 'cisco' + osver: + example: '12.2(40)SE' + device_purchase_line_items: + example: [] + cpucore: + example: 'null' + where: + example: '5' + rack: + example: 'old_rack' + agent_version: + example: '18.00.00.1649418756' + agent_last_checkin_date: + example: 'April 22, 2022, 5:51 p.m.' + offset: + example: '0' + groupItemDevice: + type: object + properties: + cdeviceid_6: + type: object + properties: + name: + example: 'Device_Name' + type_id: + example: 2 + serial_no: + example: 'FOC1252W6EW' + asset_no: + example: '123456' + device_url: + example: '/api/2.0/devices/64/' + device_id: + example: '64' + type: + example: 'physical' + uuid: + example: '' + groupItemResource: + type: object + properties: + cresourceid_9: + type: object + properties: + category: + example: Device + zones: + example: usa-east-2a + identifier: + example: i-0d90158f3cf3e7e19 + tags: + example: "" + name: + example: d42-internal + notes: + example: oracle cloud + last_changed: + example: 2020-06-19T16:13:18.225Z + subtype: + example: [] + cloud_infra_id: + example: 2 + region: + example: usa-east-2 + root_resource_id: + example: 2 + root_resource: + example: wbd42pstgr1 + last_edited: + example: 2020-06-19T16:13:18.229Z + first_added: + example: 2020-06-19T16:13:18.229Z + id: + example: 3 + resource_storage: + example: [] + groupItemappcomponents: + type: object + properties: + cppcomponents_1: + type: object + properties: + traverse_subdirectories: + example: yes + config_file_location: + example: /opt/atlassian/jira/conf/ + id: + example: 13 + application_category_id: + example: 2 + what: + example: Services + rule_type_id: + example: 1 + rule_type: + example: Windows + application_category_name: + example: Application Layer + related_services_ids: + example: 55, + service_listening_port: + example: 8080 + app_name_pattern: + example: "%(device_name)s - %(app_template_name)s" + customer: + example: ABC LLC + name: + example: App-Comp-Template-T2 + enabled: + example: yes + service_cmd_arg_match: + example: service + match_type: + example: Text + match_type_id: + example: 0 + groupItemServices: + type: object + properties: + cservices_1: + type: object + properties: + name: + example: 'Device_Name' + type_id: + example: 2 + serial_no: + example: 'FOC1252W6EW' + asset_no: + example: '123456' + device_url: + example: '/api/2.0/devices/64/' + device_id: + example: '64' + type: + example: 'physical' + uuid: + example: '' + + devicesAllv2: + type: object + properties: + total_count: + example: '709' + limit: + example: '1' + devices: + type: array + items: + type: object + properties: + name: + example: 'Device_Name' + type_id: + example: 2 + serial_no: + example: 'FOC1252W6EW' + asset_no: + example: '123456' + device_url: + example: '/api/2.0/devices/64/' + device_id: + example: '64' + type: + example: 'physical' + uuid: + example: '' + offset: + example: '0' + deviceAllAliase: + type: array + items: + example: [NHCTWS001.fqdn, NHCTWS] + deviceAllCustomField: + type: array + items: + $ref: '#/definitions/deviceAllCustomFieldData' + deviceAllCustomFieldData: + type: object + properties: + key: + example: Skynet + notes: + example: '' + value: + example: T1000 + deviceAllExternalLink: + type: array + items: + $ref: '#/definitions/deviceAllExternalLinkData' + deviceAllExternalLinkData: + type: object + properties: + link: + example: 'http://{{device.name}}' + notes: + example: Dev Test web server + deviceAllpurchaseLine: + type: array + items: + $ref: '#/definitions/deviceAllpurchaseLineData' + deviceAllpurchaseLineData: + type: object + properties: + line_cancel_policy: + example: '' + line_contract_type: + example: Warranty + line_cost: + example: '400.0' + line_cost_center: + example: '5001245' + line_end_date: + example: '2017-01-09' + line_frequency: + example: One Time + line_item_type: + example: Device + line_no: + example: '1' + line_notes: + example: '' + line_quantity: + example: '1' + line_renew_date: + example: '2017-01-09' + line_start_date: + example: '2017-01-09' + line_type: + example: Contract + purchase_id: + example: '9' + purchase_order_no: + example: 010914Warr + deviceAllHdd: + type: array + items: + $ref: '#/definitions/deviceAllHddData' + deviceAllHddData: + type: object + properties: + description: + example: '' + hdd: + type: object + properties: + bytes: + example: GB + description: + example: SATA 6 Gb/s 64MB Cache + hd_id: + example: '6' + location: + example: 'IT Lab 2nd Floor New Haven, CT' + manufacturer_id: + example: '6' + notes: + example: '' + partno: + example: '' + rpm: + type: object + properties: + id: + example: '2' + name: + example: 10k + size: + example: '500.0' + type: + type: object + properties: + id: + example: '1' + name: + example: SATA + hddcount: + example: '1' + raid_group: + example: '' + raid_type: + example: Raid 1 + deviceAllIp_addresses: + type: object + properties: + ip: + example: 10.1.10.11 + label: + example: '' + macaddress: + example: '00:14:bf:aa:46:18' + subnet: + example: Infra-10.1.10.0/24(Infrastructure Services) + subnet_id: + example: '4' + type: + example: '1' + deviceAllMac_addresses: + type: object + properties: + mac: + example: '00:11:22:33:44:55' + port: + example: FastEthernet0/4 @ nh-lab-switch-01 + port_name: + example: '' + vlan: + example: 'null' + devicesCustomerId: + type: object + properties: + Devices: + $ref: '#/definitions/deviceCustomerIdDevice' + deviceCustomerIdDevice: + type: array + items: + $ref: '#/definitions/deviceCustomerIdDeviceData' + deviceCustomerIdDeviceData: + type: object + properties: + aliases: + type: array + items: + example: device.domain + asset_no: + example: 'null' + category: + example: Development Machine + cpucore: + example: '2' + cpucount: + example: '1' + cpuspeed: + example: '3300.0' + custom_fields: + example: [] + customer: + example: Finance Group + customer_id: + example: '3' + device_external_links: + example: [] + device_purchase_line_items: + example: [] + hdd_details: + example: '' + hddcount: + example: '' + hddraid: + example: '' + hddraid_type: + example: '' + hddsize: + example: '' + hw_depth: + example: 1 + hw_model: + example: ProLiant DL360 G7 + hw_size: + example: '1.0' + in_service: + example: false + ip_addresses: + type: array + items: + $ref: '#/definitions/deviceAllIp_addresses' + last_updated: + example: '2014-01-07T02:23:36.350Z' + mac_addresses: + type: array + items: + $ref: '#/definitions/deviceCustomerIdMac_addresses' + manufacturer: + example: '' + name: + example: d42-231 + notes: + example: '' + os: + example: '' + ram: + example: '512.000' + serial_no: + example: '' + service_level: + example: QA + type: + example: virtual + ucs_manager: + example: '' + uuid: + example: 6BB7DC86-D744-8943-B991-B6BF82B55F99 + virtual_host_name: + example: HYPER01 + agent_version: + example: '18.00.00.1649418756' + agent_last_checkin_date: + example: 'April 22, 2022, 5:51 p.m.' + deviceCustomerIdMac_addresses: + type: object + properties: + mac: + example: '00:15:5d:0b:72:0b' + devicesImpactList: + type: array + items: + $ref: '#/definitions/devicesImpactListData' + devicesImpactListData: + type: object + properties: + children: + type: array + items: + type: object + properties: + children: + type: array + items: + type: object + properties: + children: + type: array + items: + type: object + properties: + children: + type: array + items: + type: object + properties: + duplicate: + example: 'yes' + name: + example: site2.com - webserver.dev + name: + example: Dependant Apps + duplicate: + example: 'yes' + name: + example: Apache HTTP Server - Production Site + name: + example: Dependant Apps + duplicate: + example: 'yes' + name: + example: Apache Tomcat server + deviceName: + example: + - device added or updated + - 46 + - db-080-westport + - true + - true + objectArchive: + example: + - Object archived + - 46 + - db-080-westport + - true + - true + IPAMsubnets: + type: object + properties: + allocated: + example: 'no' + allow_broadcast_address: + example: 'no' + allow_network_address: + example: 'no' + assigned: + example: 'no' + can_edit: + example: 'yes' + category_id: + example: '' + category_name: + example: '' + custom_fields: + example: [] + customer_id: + example: 9 + description: + example: Infrastructure Devices + gateway: + example: '' + mask_bits: + example: 24 + name: + example: Infra + network: + example: 10.1.10.0 + notes: + example: '' + parent_subnet_id: + example: '' + parent_vlan_id: + example: '' + parent_vlan_name: + example: '' + parent_vlan_number: + example: '' + range_begin: + example: 10.1.10.5 + range_end: + example: 10.1.10.254 + service_level: + example: Production + subnet_id: + example: 4 + tags: + example: [] + vrf_group_id: + example: 1 + vrf_group_name: + example: Infrastructure Services + IPAMvlans: + type: object + properties: + description: + example: '' + name: + example: CRMConsultant + notes: + example: '' + number: + example: 20 + switches: + type: array + items: + type: object + properties: + asset_no: + example: '' + device_id: + example: 1 + device_url: + example: /api/api/1.0/devices/id/1/ + name: + example: nh-lab-switch-01 + serial_no: + example: FAB0447Y35M + uuid: + example: '' + tags: + example: [] + vlan_id: + example: 13 + IPAMips_1: + type: object + properties: + available: + example: 'no' + custom_fields: + type: array + items: + type: object + properties: + key: + example: test + notes: + example: '' + value: + example: '' + device: + example: USNHCTVH001 + device_id: + example: 116 + id: + example: 38 + ip: + example: 10.1.10.5 + label: + example: '' + last_updated: + example: '2015-11-12T17:31:57.985Z' + mac_address: + example: '' + mac_id: + example: '' + notes: + example: '' + subnet: + example: Infra-10.1.10.0/24(Infrastructure Services) + subnet_id: + example: 4 + type: + example: Reserved + IPAMips_2_device: + type: object + properties: + available: + example: 'no' + custom_fields: + type: array + items: + type: object + properties: + key: + example: test + notes: + example: '' + value: + example: '' + id: + example: 38 + ip: + example: 10.1.10.5 + label: + example: '' + last_updated: + example: '2015-11-12T17:31:57.985Z' + mac_address: + example: '' + mac_id: + example: '' + notes: + example: '' + subnet: + example: Infra-10.1.10.0/24(Infrastructure Services) + subnet_id: + example: 5 + type: + example: Reserved + is_shared: + example: false + devices: + type: array + items: + type: object + properties: + device_id: + example: 4924 + name: + example: '17R0TW1' + locked: + example: false + IPAMips_2_resource: + type: object + properties: + available: + example: 'no' + custom_fields: + type: array + items: + type: object + properties: + key: + example: test + notes: + example: '' + value: + example: '' + id: + example: 41 + ip: + example: 10.1.20.6 + label: + example: '' + last_updated: + example: '2017-06-12T17:31:57.985Z' + mac_address: + example: '' + mac_id: + example: '' + notes: + example: '' + subnet: + example: Infra-10.1.20.0/24(Infrastructure Services) + subnet_id: + example: 7 + type: + example: Reserved + is_shared: + example: false + resource: + type: object + properties: + id: + example: 42 + name: + example: 'DEFAULT' + identifier: + example: 'boot/DEFAULT' + devices: + example: [] + IPAMmacs: + type: object + properties: + device: + type: object + properties: + asset_no: + example: '' + device_id: + example: 11 + device_url: + example: /api/api/1.0/devices/id/11/ + name: + example: DeviceTOM4 + serial_no: + example: '' + type: + example: physical + uuid: + example: '' + macaddress: + example: '00:0a:cd:1f:c9:2f' + macaddress_id: + example: 24 + port_name: + example: vmnic0 + IPAMmacs_port: + type: object + properties: + description: + example: FastEthernet0/21 + devices: + example: nh-hyperv-02 + is_connected: + example: 'yes' + mac_ids: + example: 61; 60 + macs: + example: '00:15:5d:0b:9e:02; 00:1c:c4:44:d1:32' + normalized_port: + example: FastEthernet0000/0021 + obj_label: + example: Hyper-V Virtual Ethernet Adapte + port: + example: FastEthernet0/21 + switch: + type: object + properties: + asset_no: + example: '' + device_id: + example: 1 + device_url: + example: /api/api/1.0/devices/id/1/ + name: + example: nh-lab-switch-01 + serial_no: + example: FAB0447Y35M + type: + example: physical + uuid: + example: '' + switchport_id: + example: 10 + tags: + example: [] + type: + example: '' + vlan_ids: + example: '14' + vlans: + example: default + IPAMtap_ports: + type: object + properties: + port_to_from_id: + example: 9 + id: + example: 7 + mac: + example: 'mac' + port_type: + example: Fiber FC + tap: + example: tap device + port_type_id: + example: 5 + monitor_direction: + example: to + label: + example: tap1 + tap_id: + example: 9129 + module_id: + example: 667 + monitor_port_1_id: + example: 9 + port_capability: + example: Device + monitor_port_2_id: + example: 11 + module: + example: tap + mirror_port_id: + example: 4 + netport_id: + example: 8 + IPMdns_records: + type: object + properties: + name: + example: '@' + prio: + example: '' + dns_zone: + example: device42.pvt + content: + example: nh-win2k8r2-vm-03 hostmaster 107489 900 600 86400 3600 + ttl: + example: 3600 + change_date: + example: '' + nameserver: + example: 192.168.11.161 + type: + example: SOA + id: + example: 1 + buildings: + type: array + items: + type: object + properties: + address: + example: 879 main st + building_id: + example: 3 + contact_name: + example: roger + custom_fields: + example: [] + groups: + example: 'Prod_East:no, Corp:yes' + name: + example: Las Vegas Office + notes: + example: super critical + tags: + example: [] + longitude: + example: '60' + latitude: + example: '30' + contact_phone: + example: '' + building: + type: object + properties: + address: + example: 879 main st + building_id: + example: 3 + contact_name: + example: roger + custom_fields: + example: [] + groups: + example: 'Prod_East:no, Corp:yes' + name: + example: Las Vegas Office + notes: + example: super critical + tags: + example: [] + longitude: + example: '60' + latitude: + example: '30' + contact_phone: + example: '' + savedDOQLQueries: + type: array + items: + type: object + properties: + name: + example: Power_outlet + tags: + type: array + items: + example: power + include_headers: + example: true + notes: + example: query + saved_query: + example: select * from view_rudata_v2 + output_type: + example: csv + id: + example: 182 + rooms: + type: array + items: + type: object + properties: + building: + example: New Haven DC + building_id: + example: 1 + custom_fields: + example: [] + groups: + example: 'Prod_East:no, Corp:yes' + name: + example: 1st floor + notes: + example: super critical + room_id: + example: 1 + tags: + example: ["data_centre", "storage"] + horizontal_grid_numbering: + example: 0 + horizontal_grid_start: + example: '1' + vertical_grid_numbering: + example: 1 + vertical_grid_start: + example: 'A' + RoomsRacks: + type: object + properties: + rack: + type: object + properties: + orientation: + example: left + numbering_start_from_bottom: + example: 'yes' + custom_fields: + example: [] + size: + example: 42 + available_u: + example: 35 + row: + example: 1 + rack_id: + example: 20 + rack_middle_option: + example: Start at + number_between_us: + example: true + tags: + example: [] + col_size: + example: 1 + start_col: + example: 3 + row_size: + example: 1 + first_number: + example: 0 + manufacturer: + example: APC Inc. + building: + example: New Haven + start_row: + example: 6 + name: + example: NH-DC1-01 + room: + example: NHDC1 + notes: + example: '' + asset_no: + example: '' + rack_url: + example: /api/api/1.0/racks/20/ + racks: + type: object + properties: + asset_no: + example: '' + available_u: + example: 45 + building: + example: Building + col_size: + example: 1 + custom_fields: + example: [] + first_number: + example: 1 + groups: + example: '' + manufacturer: + example: APC Inc. + name: + example: RA1 + notes: + example: '' + number_between_us: + example: true + numbering_start_from_bottom: + example: 'yes' + rack_id: + example: 255 + rack_middle_option: + example: End at + rack_url: + example: /api/api/1.0/racks/255/ + room: + example: Main room + row: + example: '' + row_size: + example: 1 + size: + example: '45' + start_col: + example: 4 + start_row: + example: 2 + tags: + example: [] + RackDevices: + type: object + properties: + depth: + example: Full Depth + device: + type: object + properties: + asset_no: + example: '' + device_id: + example: 215 + device_url: + example: /api/api/1.0/devices/id/215/ + is_it_blade_host: + example: 'no' + is_it_switch: + example: 'no' + is_it_virtual_host: + example: 'no' + name: + example: USNHCS-DCM06 + serial_no: + example: '' + type: + example: physical + uuid: + example: '' + file_names: + example: + - /var/www/graphics/images/HP--ProLiant-DL380p-Gen8.png + - /var/www/graphics/images/HP--ProLiant-DL380p-Gen8-B.png + orientation: + example: Front + reversed: + example: 'no' + size: + example: 2 + start_at: + example: 1 + where: + example: Rack Mounted + width: + example: 2520 + xpos: + example: 0 + Assets: + type: object + properties: + asset_contracts: + example: [] + asset_id: + example: 16 + asset_no: + example: '0075' + asset_purchases: + example: [] + building: + example: New Haven + custom_fields: + example: '' + depth: + example: Half Depth + imagefile_id: + example: 2 + name: + example: DC1R5PP1 + notes: + example: '' + orientation: + example: Front + patch_panel_model_id: + example: 5 + rack: + example: NH-DC1-05 + rack_id: + example: 24 + room: + example: NHDC1 + row: + example: 2 + serial_no: + example: '' + service_level: + example: In Service + size: + example: 2 + start_at: + example: 40 + type: + example: Patch Panel + vendor: + example: Black Box Corp. + vendor_id: + example: 36 + where: + example: Rack Mounted + object_categories: + type: object + properties: + id: + example: 1 + description: + example: >- + Devices that the Network Administration team should have full access + to + name: + example: Network Admin Team + HardwareModels: + type: object + properties: + hardware_id: + example: 1 + watts: + example: 1000 + physicalsubtype_id: + example: 9 + vendor_id: + example: 269 + last_changed: + example: "2020-11-18T19:26:56.333326Z" + network_device: + example: false + name: + example: "PowerLogic" + part_number: + example: 12 + physicalsubtype: + example: "Branch Circuit Power Meter" + add_ports_when_creating_device: + example: false + specification_url: + example: "" + end_of_life_date: + example: "2019-11-04" + end_of_support_date: + example: "2019-03-13" + notes: + example: "hardware notes" + blade_host: + example: false + OperatingSystems: + type: object + properties: + aliases: + example: [] + category: + example: '' + id: + example: 1 + licensed_count: + example: 5 + manufacturer: + example: '' + name: + example: Microsoft Windows 7 Professional + not_licensed_count: + example: 0 + notes: + example: '' + total_count: + example: 5 + discovered_license_count: + example: 5 + enriched_data: + type: object + properties: + service_pack: + example: '' + vendor: + example: 'Juniper' + os_version: + example: '12.3' + golden_record_id: + example: 'gros_00000571' + os_version_no: + example: '' + eol: + example: '2023-11-23 00:00:00' + eos: + example: '2027-03-01 00:00:00' + edition: + example: '' + os_architecture: + example: '' + os_family: + example: '*nix' + enriched_os: + example: 'Juniper Junos OS' + id: + example: 3, + os_name: + example: 'Junos OS' + Device_os: + type: object + properties: + discovered_license_key: + example: '' + os_id: + example: 2 + osver: + example: '12.3R12-S1' + dont_change_via_api: + example: 'no' + device: + example: 'sb-n15-10' + device_os_id: + example: 2 + license_key: + example: '' + osverno: + example: '' + os: + example: junos + id: + example: 2 + count_in_licensing: + example: 'yes' + device_id: + example: 120 + enriched_data: + type: object + properties: + service_pack: + example: '' + vendor: + example: 'Juniper' + os_version: + example: '12.3' + golden_record_id: + example: 'gros_00000571' + os_version_no: + example: '' + eol: + exmaple: '2023-11-23 00:00:00' + eos: + example: '2027-03-01 00:00:00' + edition: + example: '' + os_architecture: + example: '' + os_family: + example: '*nix' + enriched_os: + example: 'Juniper Junos OS' + id: + example: 3, + os_name: + example: 'Junos OS' + get_power_unit_return: + type: object + properties: + total_count: + example: 24 + offset: + example: 0 + pdus: + type: array + items: + type: object + properties: + building: + example: West Haven Office + pdu_id: + example: 1 + name: + example: "Sentry / ADTK0000001 / 10.42.10.9" + pdu_model: + type: object + properties: + pdu_model_id: + example: 1 + sequential_numbering_for_ports: + example: true + name: + example: "CWG-8H1A114" + width: + example: "null" + notes: + example: "" + height: + example: "null" + size: + example: 2.0 + description: + example: "" + width_ratio: + example: 2520 + ports in pdu model: + example: [] + back_image: + example: "null" + type: + example: pdu + front_image: + example: "null" + depth: + example: Half Depth + port_court: + example: 0 + manufacturer: + example: serverTech + notes: + example: "" + room: + example: room3 + rack: + example: Rack 1 Manual + rack_id: + example: 4 + pdu_serial_no: + example: 9C96300196 + category: + example: West Haven + device_mapping: + type: object + properties: + hddcount: + example: "null" + hdd_details: + example: "null" + name: + example: "prod-vert-pdu-01 / ZA0737007687 / 10.42.10.8" + customer_id: + example: 1 + hw_model_id: + example: 18 + ucs_manager: + example: "null" + cpucount: + example: "null" + serial_no: + example: ADTK0000003 + hw_depth: + example: "null" + mac_addresses: + type: array + items: + port: + example: "GigabitEthernet1/0/32 - 00:24:98:48:9a:a4 @ wh-lab-sw-02" + vlan: + example: "null" + mac: + example: "00:0a:4c:51:97:88" + port_name: + example: eth0 + nonauthoritativealiases: + example: [] + cpucore: + example: "null" + device_id: + example: 3863 + custom_fields: + type: array + items: + type: object + properties: + value: + example: "null" + notes: + example: "null" + key: + example: "alpha.eksctl.io/nodegroup-name" + is_it_virtual_host: + example: no + cpuspeed: + example: "null" + virtual_host_name: + example: "null" + aliases: + example: [] + ip_addresses: + type: array + items: + type: object + properties: + ip: + example: "172.25.160.187" + macaddress: + example: "00:0w:5d:29:di:45" + subnet: + example: "10.41.0.0/19" + type: + example: "null" + subnet_id: + example: 2 + label: + example: br0 + hw_model: + example: "PX3-5497JV-N2A2" + preferred_alias: + example: "null" + device_purchase_line_items: + example: [] + is_it_blade_host: + example: no + hddraid: + example: "null" + pdu_mapping_url: + example: "/api/1.0/power_units/14/" + device_sub_type: + example: PDU + tags: + example: + - 'live-lab-snmp' + - 'live-lab-power' + id: + example: 346 + asset_no: + example: "" + notes: + example: "" + in_service: + example: true + customer: + example: Device42 + last_updated: + example: "2022-05-23T16:24:56.220410Z" + hddsize: + example: "null" + category: + example: west Haven + type: + example: other + osver: + example: "00.00.0010" + ram: + example: "null" + os: + example: Eaton Firmware + is_it_switch: + example: no + service_level: + example: Production + uuid: + example: "null" + manufacturer: + example: serverTech + device_external_links: + example: [] + hddraid_type: + example: "null" + type: + example: pdu + custom_fields: + example: [] + gateway_pdu_id: + example: 3 + building_id: + example: 1 + room_id: + example: 1 + get_power_unit_return_single: + type: object + properties: + building: + example: West Haven Office + pdu_id: + example: 1 + name: + example: "Sentry / ADTK0000001 / 10.42.10.9" + pdu_model: + type: object + properties: + pdu_model_id: + example: 1 + sequential_numbering_for_ports: + example: true + name: + example: "CWG-8H1A114" + width: + example: "null" + notes: + example: "" + height: + example: "null" + size: + example: 2.0 + description: + example: "" + width_ratio: + example: 2520 + ports in pdu model: + example: [] + back_image: + example: "null" + type: + example: pdu + front_image: + example: "null" + depth: + example: Half Depth + port_court: + example: 0 + manufacturer: + example: serverTech + notes: + example: "" + room: + example: room3 + rack: + example: Rack 1 Manual + rack_id: + example: 4 + pdu_serial_no: + example: 9C96300196 + category: + example: West Haven + device_mapping: + type: object + properties: + hddcount: + example: "null" + hdd_details: + example: "null" + name: + example: "prod-vert-pdu-01 / ZA0737007687 / 10.42.10.8" + customer_id: + example: 1 + hw_model_id: + example: 18 + ucs_manager: + example: "null" + cpucount: + example: "null" + serial_no: + example: ADTK0000003 + hw_depth: + example: "null" + mac_addresses: + type: array + items: + port: + example: "GigabitEthernet1/0/32 - 00:24:98:48:9a:a4 @ wh-lab-sw-02" + vlan: + example: "null" + mac: + example: "00:0a:4c:51:97:88" + port_name: + example: eth0 + nonauthoritativealiases: + example: [] + cpucore: + example: "null" + device_id: + example: 3863 + custom_fields: + type: array + items: + type: object + properties: + value: + example: "null" + notes: + example: "null" + key: + example: "alpha.eksctl.io/nodegroup-name" + is_it_virtual_host: + example: no + cpuspeed: + example: "null" + virtual_host_name: + example: "null" + aliases: + example: [] + ip_addresses: + type: array + items: + type: object + properties: + ip: + example: "172.25.160.187" + macaddress: + example: "00:0w:5d:29:di:45" + subnet: + example: "10.41.0.0/19" + type: + example: "null" + subnet_id: + example: 2 + label: + example: br0 + hw_model: + example: "PX3-5497JV-N2A2" + preferred_alias: + example: "null" + device_purchase_line_items: + example: [] + is_it_blade_host: + example: no + hddraid: + example: "null" + pdu_mapping_url: + example: "/api/1.0/power_units/14/" + device_sub_type: + example: PDU + tags: + example: + - 'live-lab-snmp' + - 'live-lab-power' + id: + example: 346 + asset_no: + example: "" + notes: + example: "" + in_service: + example: true + customer: + example: Device42 + last_updated: + example: "2022-05-23T16:24:56.220410Z" + hddsize: + example: "null" + category: + example: west Haven + type: + example: other + osver: + example: "00.00.0010" + ram: + example: "null" + os: + example: Eaton Firmware + is_it_switch: + example: no + service_level: + example: Production + uuid: + example: "null" + manufacturer: + example: serverTech + device_external_links: + example: [] + hddraid_type: + example: "null" + type: + example: pdu + custom_fields: + example: [] + gateway_pdu_id: + example: 3 + building_id: + example: 1 + room_id: + example: 1 + post_power_unit_return: + type: object + properties: + msg: + example: + - Power unit successfully added + - 22 + - Primary Power Unit + - true + - true + code: + example: 0 + put_power_unit_return: + type: object + properties: + msg: + example: + - Power unit successfully added + - 22 + - Primary Power Unit + - true + - false + code: + example: 0 + general_delete_return: + type: object + properties: + deleted: + example: 'true' + id: + example: 9 + Pdu_models: + type: object + properties: + back_image: + type: object + properties: + id: + example: 22 + imgfile: + example: /var/www/graphics/images/apc-rack-pdu-front.png + depth: + example: Half Depth + description: + example: '' + front_image: + type: object + properties: + id: + example: 66 + imgfile: + example: /var/www/graphics/images/d42-apc-rack-pdu-front.png + manufacturer: + example: Server Technology + name: + example: CXG-8H1A113 + notes: + example: '' + pdu_model_id: + example: 7 + port_count: + example: 8 + ports in pdu model: + type: array + items: + properties: + pdu_port_count: + example: 12 + pdu_port_type: + example: custom + sequential_numbering_for_ports: + example: false + size: + example: 1 + type: + example: pdu + width_ratio: + example: 2520 + Pdus: + type: object + properties: + building: + example: New Haven + building_id: + example: 1 + category: + example: Prod_East + device mapping: + example: '' + name: + example: NHCTPDU01 + notes: + example: '' + pdu_id: + example: 4 + pdu_model: + properties: + back_image: + example: '' + depth: + example: Half Depth + description: + example: '' + front_image: + properties: + id: + example: 22 + imgfile: + example: /var/www/graphics/images/apc-rack-pdu-front.png + manufacturer: + example: APC Inc. + name: + example: APC 8841 + notes: + example: '' + pdu_model_id: + example: 4 + port_count: + example: 12 + ports in pdu model: + type: array + items: + properties: + pdu_port_count: + example: 12 + pdu_port_type: + example: IEC 320 C19 + sequential_numbering_for_ports: + example: true + size: + example: 1 + type: + example: pdu + width_ratio: + example: 2520 + rack: + example: NH-DC1-01 + rack_id: + example: 20 + room: + example: NHDC1 + room_id: + example: 1 + type: + example: pdu + Pdu_by_Id: + type: object + properties: + building: + example: '' + building_id: + example: '' + device mapping: + type: object + properties: + aliases: + example: [] + asset_no: + example: '' + building: + example: New Haven + cpucore: + example: '' + cpucount: + example: '' + cpuspeed: + example: '' + custom_fields: + type: array + items: + properties: + key: + example: Agent email address + notes: + example: '' + value: + example: '' + customer: + example: '' + device_external_links: + example: [] + device_id: + example: 122 + device_purchase_line_items: + example: [] + device_sub_type: + example: UPS + hdd_details: + example: '' + hddcount: + example: '' + hddraid: + example: '' + hddraid_type: + example: '' + hddsize: + example: '' + hw_depth: + example: '' + hw_model: + example: '' + hw_size: + example: '' + id: + example: 122 + in_service: + example: true + ip_addresses: + example: [] + last_updated: + example: '2016-07-05T22:08:34.849Z' + mac_addresses: + example: [] + manufacturer: + example: '' + name: + example: UPS1 + notes: + example: '' + os: + example: '' + pdu_mapping_url: + example: /api/api/1.0/power_units/232/ + ram: + example: '' + room: + example: NHDC1 + serial_no: + example: '' + service_level: + example: Production + tags: + example: [] + type: + example: other + ucs_manager: + example: '' + uuid: + example: '' + virtual_host_name: + example: '' + name: + example: UPS1 + notes: + example: '' + pdu_id: + example: 232 + pdu_model: + example: '' + rack: + example: '' + rack_id: + example: '' + room: + example: '' + room_id: + example: '' + type: + example: ups + Patch_panel: + type: object + properties: + asset_contracts: + example: [] + asset_id: + example: 29 + asset_no: + example: '0010' + asset_purchases: + example: [] + building: + example: New Haven + custom_fields: + example: '' + customer_id: + example: 1 + depth: + example: Half Depth + imagefile_id: + example: 2 + name: + example: DC1R1PP1 + no_ports: + example: 12 + no_ports_in_row: + example: 12 + notes: + example: 'Notes, Notes, Notes...' + numbering_direction: + example: left-right + numbering_start_location: + example: top-left + orientation: + example: Back + patch_panel_model_id: + example: 6 + ports: + type: array + items: + properties: + back_connection_id: + example: 109 + back_pp_id: + example: 16 + cable_color: + example: black + color: + example: '#659a39' + content_type: + example: device + device_id: + example: 153 + device_name: + example: USNHCTVH002 + full_path: + example: >- + USNHCTVH002 <-> [DC1R1PP1-29:1] <-> DC1R5PP1-109:1 <-> + NHCTCORE01(gbE/1) + number: + example: 1 + obj_label: + example: LI + object_id: + example: 153 + panel_id: + example: 29 + panel_name: + example: DC1R1PP1 + rack: + example: NH-DC1-04 + rack_id: + example: 23 + room: + example: NHDC1 + row: + example: 1 + serial_no: + example: '4242424242' + service_level: + example: In Service + size: + example: 2 + start_at: + example: 40 + type: + example: 1 + vendor: + example: Black Box Corp + vendor_id: + example: 36 + where: + example: Rack Mounted + Patch_panel_port: + type: object + properties: + id: + type: integer + example: 123 + color: + type: string + example: "#666B61" + object_id: + type: integer + example: 1235 + content_type: + type: string + example: "patch_panel_port" + Pp_port_end: + type: string + example: "good" + obj_label: + type: string + example: "label" + number: + type: integer + example: 24 + panel_name: + type: string + example: "Patch3" + pp_port: + type: integer + example: 1 + connection_id: + type: array + items: + type: object + properties: + type: + type: boolean + example: false + id: + type: integer + example: 1234 + patch_panel_name: + type: string + example: "Patch4" + type_name: + type: string + example: "patch_panel_port" + name: + type: string + example: "Patch4 1 (To Patch3)" + patch_panel_id: + type: integer + example: 891 + module_id: + type: integer + example: 12 + full_path: + type: string + example: "None <-> AC Unit-AC101-None : 12 <-> None" + cable_color: + type: string + example: "black" + Parts: + properties: + asset_no: + example: '' + assignment: + example: device + change_perm: + example: 'yes' + count: + example: 1 + custom_fields: + example: [] + date_changed: + example: '' + description: + example: '' + device: + example: AAA switch 2 + device_id: + example: 388 + firmware: + example: '' + first_added: + example: '2014-02-20T18:13:54.099Z' + last_updated: + example: '2014-11-14T22:03:08.717Z' + part_id: + example: 1 + partmodel: + properties: + available: + example: 0 + description: + example: '' + in_devices: + example: 1 + in_rma: + example: 0 + in_storage_racks: + example: 0 + in_storage_rooms: + example: 0 + in_transit: + example: 0 + length: + example: '' + location: + example: 'IT Lab 2nd Floor New Haven, CT' + manufacturer: + example: Kingston Technology Corp. + modelno: + example: '' + name: + example: Kingston 8GB DDR31600 + notes: + example: '' + partmodel_id: + example: 3 + partno: + example: KVR16E11/8 + ramsize: + example: 8192 + ramspeed: + example: '1600' + ramtype: + example: 'DDR3 ' + total_count: + example: 1 + type: + example: RAM + used: + example: 1 + serial_no: + example: '' + tags: + example: [] + Partmodels: + type: object + properties: + limit: + example: 2 + offset: + example: 0 + partmodels: + type: array + items: + properties: + available: + example: 2 + cores: + example: 4 + cpuspeed: + example: 3400 + description: + example: 3.4GHz (3.9GHz Turbo) + in_devices: + example: 0 + in_rma: + example: 0 + in_storage_racks: + example: 0 + in_storage_rooms: + example: 2 + in_transit: + example: 0 + length: + example: '' + location: + example: 'IT Lab 2nd Floor New Haven, CT' + manufacturer: + example: Intel Corp. + modelno: + example: '' + name: + example: Core i7-3770 + notes: + example: "Socket:LGA 1155\r\nSpeedDual-channel DDR3 Memory Controller supports DDR3-1333 and DDR3-1600 memory\r\nIntel HD Graphics 4000\r\nLimited Warranty period (parts): 3 years\r\nLimited Warranty period (labor): 3 years\r\n" + partmodel_id: + example: 1 + partno: + example: BX80637I73770 + threads: + example: '' + total_count: + example: 2 + type: + example: CPU + used: + example: 0 + total_count: + example: 71 + Purchases: + type: object + properties: + purchases: + type: array + items: + properties: + purchase_id: + example: '1' + po_date: + example: 'null' + vendor: + example: 'Amazon' + building: + example: 'West Haven Office' + order_no: + example: '9000000001' + line_items: + example: [] + notes: + example: 'null' + line_items_one_time_cost: + example: '0' + customer: + example: 'Device42' + cost: + example: '100.00' + groups: + example: '' + completed: + example: 'no' + custom_fields: + example: [] + Appcomps_Custom_fields: + type: object + properties: + key: + example: Project + notes: + example: '' + value: + example: Migration + Services: + type: array + items: + type: object + properties: + category: + type: string + description: + type: string + displayname: + type: string + id: + type: integer + name: + type: string + notes: + type: string + service_type: + type: string + tags: + example: [] + vendor: + type: string + example: + - category: '' + vendor: '' + description: '' + tags: [] + notes: '' + service-type: 'null' + displayname: apport-autoreport + id: 2 + - category: '' + vendor: '' + description: '' + tags: [] + notes: '' + service-type: 'null' + displayname: apport-forward@ + id: 3 + Service_details: + type: object + properties: + appcomp: + example: Device42 Production + appcomp_id: + example: Device42 Production + device: + example: Device42 Appliance + device_id: + example: 445 + first_detected: + example: '2015-02-27T19:20:29.493Z' + last_updated: + example: '2015-02-27T19:20:44.029Z' + service_detail_id: + example: '3' + service_display_name: + example: DB service + service_id: + example: '1' + service_name: + example: DB service + startmode: + example: automatic + state: + example: running + user: + example: 'null' + user_id: + example: 'null' + vendor: + example: 'null' + vendor_id: + example: 'null' + Service_ports: + type: object + properties: + description: + example: '' + device_name: + example: app21.device42.pvt + discovered_process: + example: '' + discovered_service: + example: mysqld + id: + example: 1 + listening_ip: + example: 127.0.0.1 + mapped_service: + example: '' + port: + example: 3306 + remote_ips: + example: 192.241.191.123 + Client_stats: + type: object + properties: + avg_time_span: + example: 5 + first_found: + example: '2016-09-16T14:45:14' + ip: + example: 76.127.207.96 + last_found: + example: '2016-09-16T14:57:56' + last_time_span: + example: 7 + latest_contiguous_stats: + type: object + properties: + avg_time_span: + example: 5 + detected_connections: + example: 3 + ephemeral_ports: + example: '(17741:25283:23991)' + first_found: + example: '2016-09-16T14:45:14' + last_found: + example: '2016-09-16T14:57:56' + last_time_span: + example: 7 + max_time_span: + example: 7 + min_time_span: + example: 0 + std_dev_time_span: + example: 29 + total_detected: + example: 2 + max_time_span: + example: 7 + min_time_span: + example: 0 + std_dev_time_span: + example: 29 + total_detected: + example: 2 + Networkshare_details: + type: object + properties: + caption: + example: Remote Admin + description: + example: Remote Admin + device_name: + example: ovh01-w2012-04 + first_detected: + example: '2016-04-08T16:14:04.612Z' + id: + example: '5' + install_date: + example: '' + last_updated: + example: '2016-04-08T16:14:04.612Z' + name: + example: ADMIN$ + path: + example: 'C:\Windows' + status: + example: OK + type: + example: Disk Drive + Get_Software_details: + type: object + properties: + count_in_licensing: + example: true + device: + example: d42laptop01 + device_id: + example: ovh01-w2012-04 + first_detected: + example: '2015-05-20T12:33:13.343Z' + id: + example: '108' + install_date: + example: '' + last_updated: + example: '2016-04-08T16:14:04.612Z' + license_use_count: + example: 1.0$ + software: + example: Hyper-V Tools + software_alias: + example: '' + software_id: + example: '108' + user: + example: '' + user_id: + example: '' + vendor: + example: Probus-IT + vendor_id: + example: '62' + version: + example: 2.03.00.04 + Get_Software_Component_details: + type: object + properties: + discovered_count: + example: '' + custom_fields: + example: [] + rating: + example: 5.0 + description: + example: 'Sample description' + licensed_count: + example: '' + licensing_model: + example: Individual - Device/Perpetual + track_licensed_count_by_keys: + example: 'yes' + notes: + example: test + tags: + example: + - def + vendor: + example: cisco + category: + example: past_time2 + aliases: + example: '3pay, 4pay' + name: + example: 2pay + software_type: + example: prohibited + deployment_type: + example: mobile + id: + example: '583' + Get_Software_License_Keys: + type: object + properties: + count: + example: 1 + id: + example: 1 + key: + example: '124124' + notes: + example: '' + software_id: + example: 114 + software_name: + example: accountsservice + Get_certificates: + type: object + properties: + content_commitment_usage: + example: false + crl_sign_usage: + example: false + custom_fields: + example: [] + data_encipherment_usage: + example: false + days_to_expiry: + example: 1077 + decipher_only_usage: + example: false + digital_signature_usage: + example: true + encipher_only_usage: + example: false + extended_key_usage: + example: | + SERVERAUTH(1.3.6.1.5.5.7.3.1) + CLIENTAUTH(1.3.6.1.5.5.7.3.2) + id: + example: '3' + san: + example: '' + issued_by: + example: '' + issued_to: + example: registration.device42.com + key_agreement_usage: + example: false + key_cert_sign_usage: + example: false + key_encipherment_usage: + example: true + parent_cert: + example: '' + serial_number: + example: 77eb9b55e9228635f2157fd374b8da8 + signature_algorithm: + example: sha256WithRSAEncryption + signature_hash: + example: '708489795' + subject: + example: >- + /OU=Domain Control + Validated/OU=PositiveSSL/CN=registration.device42.com + valid_from: + example: '2014-08-10' + valid_to: + example: '2019-08-09' + vendor: + example: '' + version: + example: 2 + Get_certificate_instances: + type: object + properties: + id: + type: integer + example: 1 + description: The unique ID of the certificate instance. + ip: + type: string + example: '192.168.1.1' + description: The IP address associated with the certificate instance. + valid_from: + type: string + format: date + example: '2024-01-01' + description: The date when the certificate becomes valid. + valid_to: + type: string + format: date + example: '2025-12-31' + description: The certificate's expiration date. + device_id: + type: integer + example: 1 + description: The device ID associated with the certificate. + device: + type: string + example: 'example-device' + description: The device name associated with the certificate instance. + certificate_id: + type: integer + example: 1 + description: The unique ID of the certificate. + certificate: + type: string + example: 'example.com' + description: The domain associated with the certificate. + cipher_suites: + type: object + additionalProperties: + type: string + example: + TLSv1.2: "TLS_RSA_WITH_AES_256_CBC_SHA" + description: Supported cipher suites for the certificate. + fqdn: + type: string + example: 'example.com' + description: Fully Qualified Domain Name. + serial_number: + type: string + example: 'ABC1234567890' + description: The certificate's serial number. + ssl_version: + type: string + example: 'TLSv1.2' + description: SSL version used. + last_added: + type: string + format: date-time + example: 'null' + description: The date and time when the certificate instance was last added. + first_added: + type: string + format: date-time + example: '2024-01-01T00:00:00Z' + description: The date and time when the certificate instance was first added. + Get_All_Password_Accounts: + type: object + properties: + category: + example: Service + custom_fields: + example: [] + first_added: + example: '2013-09-20T19:36:21.585Z' + id: + example: 4 + label: + example: Patch Management Service Account + last_pw_change: + example: '2014-03-18T13:03:04Z' + notes: + example: '' + password: + example: '' + username: + example: usnhctpatchmanager + view_edit_groups: + example: '' + view_edit_users: + example: admin + view_groups: + example: sys_eng + view_users: + example: Ford Prefect + Get_all_Vendors: + type: object + properties: + account_no: + example: '1234' + contact_info: + example: '8004553432' + escalation_1: + example: 'no' + escalation_2: + example: 'no' + groups: + example: 'Prod_East:no, Corp:yes' + home_page: + example: www.acer.com + name: + example: Acer Incorporated + notes: + example: acer + vendor_id: + example: '10' + enrichai_data: + type: object + properties: + id: + example: 33 + enriched_vendor: + example: 'Acer' + Customers: + properties: + Contacts: + type: array + items: + properties: + address: + example: 123 main st + email: + example: rick@d42.com + name: + example: Random Guy + phone: + example: 555-555-5555 + type: + example: Technical + Custom Fields: + type: array + items: + properties: + key: + example: custID + notes: + example: '' + value: + example: '42' + value2: + example: '' + contact_info: + example: '555 Technical Lane, Cool City.' + devices_url: + example: /api/api/1.0/devices/customer_id/1/ + groups: + example: 'Prod_East:no, Corp:yes' + id: + example: 1 + name: + example: 'ABC, Inc.' + notes: + example: some notes here + subnets_url: + example: /api/api/1.0/subnets/customer_id/1/ + Get_all_Circuits: + type: object + properties: + ID: + example: 1 + bandwidth: + example: '' + circuit_id: + example: L3-01 + custom_fields: + type: array + items: + properties: + key: + example: Region + notes: + example: '' + value: + example: APAC + customer: + example: ABC Inc. + end_point_id: + example: 124 + end_point_type: + example: patch_panel_port + notes: + example: '' + origin_id: + example: 193 + origin_type: + example: 'vendor' + origin_vendor: + example: 'TF1' + provision_date: + example: '' + turn_on_date: + example: '' + type: + example: Dedicated Ethernet + vendor: + example: '' + full_path_list: + type: array + items: + properties: + type: + type: string + id: + type: integer + name: + type: string + example: + - type: 'organisation' + id: 193 + name: 'TF1' + - type: 'circuit' + id: 1 + name: 'L3-01' + - type: 'patch_panel_port' + id: 124 + name: 'MDF-CORE-A : 24' + Get_all_Power_Circuits: + type: object + properties: + amps: + example: '' + asset_connections: + example: [] + bcpm: + example: '' + bcpm_id: + example: '' + breakerpanel: + example: Primary Breaker Panel + breakerpanel_id: + example: '10' + connection: + example: '' + device_connections: + example: [] + label: + example: Testing Circuits + number: + example: Main Power Circuit + power_circuit_id: + example: '85' + powerunit_connections: + example: [] + voltage: + example: '' + Cable: + type: object + properties: + cable_id: + example: 'Fiber 1:Multi' + cable_length: + example: '' + cable_length_units: + example: m + custom_fields: + example: [] + end_back_patch_panel: + example: false + end_cable_color: + example: '' + end_cable_type: + example: '' + end_connector_type: + example: '' + end_content_type: + example: cable + end_optic_type: + example: '' + end_point_multiple: + example: true + id: + example: 3 + notes: + example: '' + origin_back_patch_panel: + example: false + origin_cable_color: + example: '' + origin_cable_type: + example: '' + origin_connector_type: + example: '' + origin_content_type: + example: netport + origin_netport_id: + example: 899 + origin_netport_name: + example: '' + origin_optic_type: + example: '' + room: + example: '' + tags: + example: [] + vendor: + example: '' + getHistory: + type: object + properties: + action: + example: Add/Change(API) + action_time: + example: '2014-03-19T13:09:35.474Z' + change_message: + example: >- + added/edited via api with values: {u'domain': u'd42.net', u'type': + u'A', u'nameserver': u'ns1', u'name': u'oxrouter', u'ttl': u'3'}. + content_type: + example: DNS A or AAAA Record + obj_repr: + example: oxrouter + user: + example: admin + getAuditLogs: + type: object + properties: + total_count: + example: 6 + limit: + example: 1000 + offset: + example: 0 + auditlogs: + type: array + items: + type: object + properties: + object_id: + example: 1 + from: + example: Internal + object_type: + example: user + object_fields: + example: '{\"id\": \"1\", \"status\": \"Affinity Group processing completed in 0:00:00.088542\", \"enabled\": \"t\", \"upgraded\": \"t\", \"saved_doql_id\": \"1\", \"last_processed\": \"2022-11-08 15:33:00.733269+00\", \"target_reports\": \"3\"}' + user: + example: admin + x_d42_source: + example: 'null' + changed_fields: + type: object + properties: + message: + example: User logged in from ['10.42.08'] + status: + example: Affinity Group processing completed in 0:00:00.254720. + action_time: + example: '2022-11-09T15:37:04.632566Z' + api_data: + example: 'null' + action: + example: Login + url: + example: 'null' + healthstat_status: + type: object + properties: + version: + example: '18.10.00.1690226275' + backup_status: + type: array + items: + type: object + properties: + id: + example: 1 + job_name: + example: Demo Backup + status: + example: Good @ 2019-01-10 18:51:31 + cpu_used_percent: + example: '2.51904' + dbsize: + example: 84 MB + disk_used_percent: + example: '8' + memory_in_MB: + type: object + properties: + buffers: + example: 92 + cached: + example: 254 + memfree: + example: 1728 + memtotal: + example: 3948 + swapfree: + example: 8187 + swaptotal: + example: 8187 + rc_stats: + type: array + items: + type: object + properties: + rc_name: + example: 'DC1-RC' + state: + example: 'disconnected' + version: + example: '18.10.00-1690226275' + nvenv: + type: object + properties: + core-app: + example: 'OK' + app_mgr: + example: 'NOK' + superset: + example: 'OK' + rc_python: + example: 'OK' + system_pkg: + type: object + properties: + status: + example: 'OK' + last_upgrade: + type: object + properties: + status: + example: 'NOK' + from_version: + example: '18.08.00.1686665414' + Service_schedules: + type: array + items: + type: object + properties: + service_name: + type: string + idle_time: + type: boolean + install_Date: + type: string + day_of_month: + type: string + at_startup: + type: boolean + user_id: + type: integer + other_trigger: + type: boolean + arguments: + type: string + event_based: + type: boolean + weeks: + type: string + status: + type: string + description: + type: string + service_schedule_id: + type: integer + month_of_year: + type: string + hours: + type: string + user: + type: string + device: + type: string + other_type: + type: string + device_id: + type: integer + days: + type: string + day_of_week: + type: string + caption: + type: string + at_logon: + type: boolean + minutes: + type: string + example: + - service_name: api_test + idle_time: false + install_Date: '2019-01-01T00:00:00Z' + day_of_month: '' + at_startup: true + user_id: 'null' + other_trigger: false + arguments: '' + event_based: false + weeks: '0' + status: Complete + description: '' + service_schedule_id: 1 + month_of_year: January + hours: '5' + user: 'null' + device: dqr1400pd + other_type: '' + device_id: 1 + days: '2' + day_of_week: '' + caption: scheduled_task_1 + at_logon: false + minutes: '' + - service_name: api_test2 + idle_time: false + install_Date: 'null' + day_of_month: '' + at_startup: false + user_id: 'null' + other_trigger: false + arguments: '' + event_based: false + weeks: '' + status: '' + description: '' + service_schedule_id: 1 + month_of_year: '' + hours: '' + user: 'null' + device: dqr1400pd2 + other_type: '' + device_id: 1 + days: '' + day_of_week: '' + caption: scheduled_task_2 + at_logon: false + minutes: '' + Service_schedule: + properties: + service_name: + type: string + idle_time: + type: boolean + install_Date: + type: string + day_of_month: + type: string + at_startup: + type: boolean + user_id: + type: integer + other_trigger: + type: boolean + arguments: + type: string + event_based: + type: boolean + weeks: + type: string + status: + type: string + description: + type: string + service_schedule_id: + type: integer + month_of_year: + type: string + hours: + type: string + user: + type: string + device: + type: string + other_type: + type: string + device_id: + type: integer + days: + type: string + day_of_week: + type: string + caption: + type: string + at_logon: + type: boolean + minutes: + type: string + example: + service_name: api_test + idle_time: false + install_Date: '2019-01-01T00:00:00Z' + day_of_month: '' + at_startup: true + user_id: 'null' + other_trigger: false + arguments: '' + event_based: false + weeks: '0' + status: Complete + description: '' + service_schedule_id: 1 + month_of_year: January + hours: '5' + user: 'null' + device: dqr1400pd + other_type: '' + device_id: 1 + days: '2' + day_of_week: '' + caption: scheduled_task_1 + at_logon: false + minutes: '' + Service_instances: + type: array + items: + type: object + properties: + appcomps: + type: string + appcomp_ids: + type: string + device: + type: string + device_id: + type: integer + first_detected: + type: string + last_updated: + type: string + service_detail_id: + type: integer + service_display_name: + type: string + service_id: + type: integer + state: + type: string + startmode: + type: string + user: + type: string + user_id: + type: integer + vendor: + type: string + vendor_id: + type: integer + cmd_paths: + example: + - '' + ignore_client_connections: + type: boolean + topology_status: + type: string + pinned: + type: boolean + example: + - service_detail_id: 1 + service_display_name: apport-autoreport + ignore_client_connections: false + last_updated: '2019-08-01T17:09:08.063Z' + first_detected: '2019-07-31T19:49:07.532Z' + vendor_id: 'null' + cmd_paths: + - '' + vendor: 'null' + topology_status: Normal + pinned: false + device: D42Test1 + state: unknown + appcomps: '' + user: 'null' + service_id: 2 + appcomp_ids: '' + user_id: 'null' + startmode: unknown + device_id: 4 + - service_detail_id: 2 + service_display_name: apport-forward@ + ignore_client_connections: false + last_updated: '2019-08-01T17:09:08.063Z' + first_detected: '2019-07-31T19:49:07.532Z' + vendor_id: 'null' + cmd_paths: + - '' + vendor: 'null' + topology_status: Normal + pinned: false + device: D42Test1 + state: unknown + appcomps: '' + user: 'null' + service_id: 2 + appcomp_ids: '' + user_id: 'null' + startmode: unknown + device_id: 4 + Service_instance: + properties: + appcomps: + type: string + appcomp_ids: + type: string + device: + type: string + device_id: + type: integer + first_detected: + type: string + last_updated: + type: string + service_detail_id: + type: integer + service_display_name: + type: string + service_id: + type: integer + state: + type: string + startmode: + type: string + user: + type: string + user_id: + type: integer + vendor: + type: string + vendor_id: + type: integer + cmd_paths: + example: + - '' + ignore_client_connections: + type: boolean + topology_status: + type: string + pinned: + type: boolean + example: + service_detail_id: 2 + service_display_name: apport-forward@ + ignore_client_connections: false + last_updated: '2019-08-01T17:09:08.063Z' + first_detected: '2019-07-31T19:49:07.532Z' + vendor_id: 'null' + cmd_paths: + - '' + vendor: 'null' + topology_status: Normal + pinned: false + device: D42Test1 + state: unknown + appcomps: '' + user: 'null' + service_id: 2 + appcomp_ids: '' + user_id: 'null' + startmode: unknown + device_id: 4 + Service_client_connections: + properties: + total_count: + example: 1 + offset: + example: 0 + limit: + example: 1000 + client_connections: + type: array + items: + type: object + properties: + listener_device_id: + type: integer + client_service_id: + type: integer + stats: + example: [] + client_device_id: + type: integer + listener_mapped_service: + type: string + listener_discovered_serivce: + type: string + listener_mapped_service_id: + type: integer + client_ip: + type: string + listener_device: + type: string + client_service: + type: string + port: + type: integer + client_device: + type: string + client_process_name: + type: string + client_process_display_name: + type: string + id: + type: integer + listener_ip: + type: string + type: + type: integer + listener_discovered_service_id: + type: integer + service_port_ip_id: + type: integer + example: + - listener_device_id: 'null' + client_service_id: 151 + stats: [] + client_device_id: 3 + listener_mapped_service: 'null' + listener_discovered_service: 'null' + listener_mapped_service_id: 'null' + client_ip: 10.90.6.15 + listener_device: 'null' + client_service: systemd-resolved + port: 80 + client_device: peter-ubu1604-90615.device42.pvt + client_process_name: >- + /usr/bin/wget -q -O - + http://169.254.169.254/latest/dynamic/instance-identity/document + client_process_display_name: wget + id: 2 + listener_ip: 169.254.169.254 + type: 0 + listener_discovered_service_id: 'null' + service_port_ip_id: 'null' + Service_listener_ports: + properties: + total_count: + example: 2 + offset: + example: 0 + limit: + example: 1000 + service_ports: + type: array + items: + type: object + properties: + discovered_service: + type: string + mapped_service: + type: string + protocol: + type: string + id: + type: integer + device_name: + type: string + listening_ip: + type: string + remote_ips_ids: + type: string + appcomp_ids: + type: string + remote_ips: + type: string + port: + type: integer + example: + - discovered_service: exim4 + mapped_service: exim4 + protocol: tcp + id: 3 + device_name: D42_Test_Device + listening_ip: '::1' + remote_ips_ids: '' + appcomp_ids: '' + remote_ips: '' + port: 25 + - discovered_service: exim4 + mapped_service: exim4 + protocol: tcp + id: 4 + device_name: D42_Test_Device + listening_ip: 127.0.0.1 + remote_ips_ids: '' + appcomp_ids: '' + remote_ips: '' + port: 25 + Service_listener_port: + properties: + service_ports: + type: object + properties: + discovered_service: + type: string + mapped_service: + type: string + protocol: + type: string + id: + type: integer + device_name: + type: string + listening_ip: + type: string + remote_ips_ids: + type: string + appcomp_ids: + type: string + remote_ips: + type: string + port: + type: integer + example: + discovered_service: exim4 + mapped_service: exim4 + protocol: tcp + id: 3 + device_name: D42_Test_Device + listening_ip: 127.0.0.1 + remote_ips_ids: '' + appcomp_ids: '' + remote_ips: '' + port: 25 + Listener_connection_stats: + properties: + total_count: + example: 2 + offset: + example: 0 + limit: + example: 1000 + service_ports: + type: array + items: + type: object + properties: + listener_device_id: + type: integer + protocol: + type: string + listener_device_name: + type: string + client_ips_ids: + type: string + client_ips: + type: string + client_stats: + type: array + items: + type: string + id: + type: integer + listening_ip: + type: string + appcomp_ids: + type: string + listener_service: + type: string + port: + type: integer + listener_service_id: + type: integer + example: + - listener_device_id: 10 + protocol: tcp + listener_device_name: D42_Test_Device + client_ips_ids: '' + client_ips: '' + client_stats: [] + id: 3 + listening_ip: '::1' + appcomp_ids: '' + listener_service: exim4 + port: 25 + listener_service_id: 162 + - listener_device_id: 10 + protocol: tcp + listener_device_name: D42_Test_Device + client_ips_ids: '' + client_ips: '' + client_stats: [] + id: 4 + listening_ip: 127.0.0.1 + appcomp_ids: '' + listener_service: exim4 + port: 25 + listener_service_id: 162 + Listener_connection_stats_id: + properties: + service_ports: + type: object + properties: + listener_device_id: + type: integer + protocol: + type: string + listener_device_name: + type: string + client_ips_ids: + type: string + client_ips: + type: string + client_stats: + type: array + items: + type: string + id: + type: integer + listening_ip: + type: string + appcomp_ids: + type: string + listener_service: + type: string + port: + type: integer + listener_service_id: + type: integer + example: + listener_device_id: 10 + protocol: tcp + listener_device_name: D42_Test_Device + client_ips_ids: '' + client_ips: '' + client_stats: [] + id: 4 + listening_ip: 127.0.0.1 + appcomp_ids: '' + listener_service: exim4 + port: 25 + listener_service_id: 162 + auto_discoveryPortscan: + type: object + properties: + job_id: + example: '1' + name: + example: Portscan1 + servers: + example: 192.168.1.1 + start_ip: + example: 192.168.1.1 + end_ip: + example: 192.168.1.1 + schedule_time: + example: 11:40 + schedule_days: + example: 0,1,2,3 + last_status: + example: success + run_report: + example: finished successfully + exclude_servers: + example: 192.168.1.10 + task_name_template: + example: '%name% - %platform% (autocreated)' + debug_level_id: + example: '1' + debug_level: + example: Debug On + vserver_debug_level: + example: yes + hostname_precedence: + example: yes + ignore_host_serial: + example: no + ignore_host_uuid: + example: yes + discover_vms: + example: yes + discover_vm_creation_date: + example: no + set_device_dnp: + example: no + device_name_format: + example: hostname + add_nonauthoritativealiases: + example: yes + ignore_ipv6: + example: no + ignore_subnets: + example: yes + ignore_virt_subtype: + example: yes + discover_parts: + example: no + capture_hosts_file: + example: no + discover_software: + example: no + initial_software_type: + example: managed + discover_services: + example: no + discover_applications: + example: yes + discover_cloudid: + example: no + discover_cluster: + example: yes + store_config_files: + example: no + store_software_config_files: + example: no + store_registry_info: + example: no + store_filesystem_info: + example: yes + strip_domain_suffix: + example: yes + service_level_id: + example: '1' + service_level: + example: Development + object_category_id: + example: '1' + object_category: + example: Test + overwrite_device_categories: + example: yes + customer_id: + example: '1' + customer: + example: customer1 + vrfgroup_id: + example: '1' + vrfgroup: + example: vrfgroup1 + remote_collector_id: + example: '1' + remote_collector: + example: RC1 + polling_interval: + example: '300' + enable_resources_monitoring: + example: yes + collect_db_info: + example: no + tags: + example: + - abc + - sql + ignore_host_os_info: + example: yes + allow_sudo: + example: yes + allow_su: + example: yes + enc_unpwd_ids: + example: '' + db_enc_unpwd_ids: + example: '' + api_client: + type: object + properties: + id: + example: 2 + client_key: + example: "e230e6edfc5b4781a3f2600272506278" + last_used: + example: "2022-03-21T14:26:03.704Z" + created: + example: "2022-03-21T14:16:08.481Z" + resource_owner: + example: "apiclient" + failed_attempts: + example: 0 + is_locked: + example: false + token_ttl: + example: 60 + active: + example: true + aws_role_account: + type: object + properties: + id: + example: 3 + aws_account_id: + example: "123456789012" + aws_role_id: + example: 1 + aws_role: + type: object + properties: + id: + example: 2 + role_name: + example: "example role" + role_description: + example: "An Example AWS Role" + name: + example: "Example Role" + accounts: + type: array + items: + $ref: '#/definitions/aws_role_account' + businessapps_element: + type: object + properties: + businessapp_element_uuid: + example: "344316e2-409d-4bbf-b994-f4e3f152947a" + businessapp_id: + example: 2 + device_id: + example: 4 + name: + example: "test device" + orphaned: + example: "no" + businessapps_element_delete: + type: object + properties: + businessapp_element_uuid: + example: "344316e2-409d-4bbf-b994-f4e3f152947a" + deleted: + example: "true" + businessapps_connection: + type: object + properties: + businessapp_connection_uuid: + example: "344316e2-409d-4bbf-b994-f4e3f152947a" + from_businessapp_element_uuid: + example: "344316e2-409d-4bbf-b994-f4e3f152947b" + to_businessapp_element_uuid: + example: "344316e2-409d-4bbf-b994-f4e3f152947c" + type: + example: "test" + labels: + example: "test" + custom_fields: + type: array + items: + type: object + properties: + id: + example: 2 + key: + example: "room" + type_id: + example: 1 + type: + example: "Text" + filterable: + example: "false" + mandatory: + example: "true" + fk_model_id: + example: "null" + fk_model_input: + example: "null" + log_for_api: + example: "true" + is_multi: + example: "false" + picklist: + example: "null" + BadRequest: + description: Bad Request (A validation exception has occurred.) + examples: + errors: + - code: 400 + reason: BAD_REQUEST + title: The error response code title. + detail: Details of the error response. + Unauthorized: + description: Unauthorized (Your credentials suck) + examples: + errors: + - code: 401 + reason: Unauthorized + title: Unauthorized + detail: Your credentials suck + Forbidden: + description: Forbidden (The resource requested is hidden) + examples: + errors: + - code: 403 + reason: Forbidden + title: Forbidden + detail: The resource requested is hidden + NotFound: + description: Not Found (The specified resource could not be found) + examples: + errors: + - code: 404 + reason: Not Found + title: Not Found + detail: The specified resource could not be found. + InternalServerError: + description: >- + Internal Server Error (Some parameter missing or issue with the + server. Check with returned “msg” from the call.) + examples: + errors: + - code: 500 + reason: Internal Server Error + title: Internal Server Error + detail: >- + Some parameter missing or issue with the server. Check with + returned “msg” from the call. + ServiceUnavailable: + description: >- + Service Unavailable (Please check if your Device42 instance is + working normally.) + examples: + errors: + - code: 503 + reason: Service Unavailable + title: Service Unavailable + detail: Please check if your Device42 instance is working normally. + PowerUnitModelPort: + type: object + properties: + id: + example: '1' + type: string + normalized_port_name: + example: foo + type: string + orientation: + example: 1 + type: integer + port_name: + example: foo + type: string + port_type: + example: IEC 320 C13 + type: string + port_type_id: + example: 2 + type: integer + power_unit_model_id: + example: 2 + type: integer + x_pos: + example: 0 + type: integer + y_pos: + example: 0 + type: integer From 1491e343fc53e51e21849f1f600c0e9a29f4070a Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Wed, 18 Mar 2026 14:08:36 +0200 Subject: [PATCH 2/5] 1240: reword SSH instruction and update Configuring Instance section accordingly --- .../installation-amazon-web-services.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/getstarted/deploy-device42/installation-guides/installation-amazon-web-services.mdx b/docs/getstarted/deploy-device42/installation-guides/installation-amazon-web-services.mdx index 6409731b8..3b76d01bc 100644 --- a/docs/getstarted/deploy-device42/installation-guides/installation-amazon-web-services.mdx +++ b/docs/getstarted/deploy-device42/installation-guides/installation-amazon-web-services.mdx @@ -68,27 +68,27 @@ When you arrive at the **Launch this software** screen, select a key pair to use ![Select SSH key pair to use for console access to Device42 on AWS](/assets/images/choose_SSH_keypair_AWSd42-hl.png) -- Create an appropriate security group via **Security Group Settings** by selecting **Create new based on seller settings** and adding your external IP address as an allowed IP for the default Device42 ports: `404 ssh`, `4242 appmgr-http`, `4343 appmgr-https`, and `443 https`. +- Create an appropriate security group via **Security Group Settings** by selecting **Create new based on seller settings** and allowing access from the appropriate administrative source for the default Device42 ports: `404 ssh`, `4242 appmgr-http`, `4343 appmgr-https`, and `443 https`. These ports are part of the default Device42 AMI security group settings for incoming SSH, Appliance Manager, and web UI access. ![security group settings for access to Device42 on AWS](/assets/images/security_group_settings_CORRECT-hl.png) :::note -This allows traffic from your PC and local network to facilitate communication with the deployed Device42 instance **directly over the internet**. This is not considered best practice and should only be used for testing. Set up a VPN or other secure means of communication for production AWS use. +If you allow direct access from your PC or local network, the deployed Device42 instance will be reachable **directly over the internet**. This is not considered best practice and should only be used for testing. Set up a VPN or other secure means of communication for production AWS use. ::: -SSH to the public endpoint of your new Device42 MA using the public DNS name or the IP address found in the AWS UI, ensuring your SSH client is configured to connect on port 404: +SSH to your Device42 MA using the DNS name or IP address of the instance. If your instance is in a public subnet (test/dev only — see the note above), you can connect directly using the public DNS name or IP found in the AWS console. For private subnet deployments, connect via a bastion host, AWS Systems Manager Session Manager, or your VPN. In all cases, ensure your SSH client connects on port 404. - Use `device42` as the username. - Instead of a password, use the SSH key file you selected on the **Launch this software** screen for SSH authentication. -- Configure your instance's [security group settings](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html) to allow SSH access from your PC's IP address. +- Configure your instance's [security group settings](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html) to allow SSH access from the appropriate administrative source, such as your PC's IP address for direct public access, your bastion host, or your VPN/network range. ![Instance ID, public ip, DNS address on EC2 dash](/assets/images/EC2_dashboard_Instance_ID-IP-DNS_hl.png) Navigate to the Device42 login screen by visiting `https://Device42_AWS_address` **(1)**: -- `Device42_AWS_address` is the DNS name (preferred) or IP address found on the AWS UI. +- `Device42_AWS_address` is the reachable DNS name (preferred) or IP address for the instance shown in AWS. Use the public endpoint for test/dev public-subnet deployments, or the private/internal endpoint when connecting through a bastion host, Session Manager, or VPN. - Log in to the Device42 web UI using `admin` as your username and your AWS instance ID **(2)** as your temporary password. It's a good idea to change these credentials to something more secure as soon as you log in! From de49ef3ef501cf5bb226cc35bccf9698d6b77949 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Wed, 18 Mar 2026 14:27:41 +0200 Subject: [PATCH 3/5] 1241: update AWS security group guidance for Device42 ports; installation-amazon-web-services --- .../installation-amazon-web-services.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/getstarted/deploy-device42/installation-guides/installation-amazon-web-services.mdx b/docs/getstarted/deploy-device42/installation-guides/installation-amazon-web-services.mdx index 3b76d01bc..cf5f9827b 100644 --- a/docs/getstarted/deploy-device42/installation-guides/installation-amazon-web-services.mdx +++ b/docs/getstarted/deploy-device42/installation-guides/installation-amazon-web-services.mdx @@ -62,15 +62,17 @@ Device42 AWS deployments are supported in the following regions: Launch your Device42 instance using the [AWS Marketplace](https://aws.amazon.com/marketplace/search/results?x=0&y=0&searchTerms=Device42&ref_=device42) one-click feature and follow the on-screen instructions. -When you arrive at the **Launch this software** screen, select a key pair to use for SSH console access to the Device42 MA and allow incoming access from your external IP address: +When you arrive at the **Launch this software** screen, select a key pair to use for SSH console access to the Device42 MA and configure incoming access for the appropriate administrative source: - Click **Create a key pair in EC2** to generate a key. See the [Generating a New AWS Key Pair](#generating-a-new-aws-key-pair-for-ssh-access) section for more help with this step. ![Select SSH key pair to use for console access to Device42 on AWS](/assets/images/choose_SSH_keypair_AWSd42-hl.png) - Create an appropriate security group via **Security Group Settings** by selecting **Create new based on seller settings** and allowing access from the appropriate administrative source for the default Device42 ports: `404 ssh`, `4242 appmgr-http`, `4343 appmgr-https`, and `443 https`. - + These ports are part of the default Device42 AMI security group settings for incoming SSH, Appliance Manager, and web UI access. + +- For ports `404`, `4242`, and `4343`, select **Custom TCP** as the rule type and enter the port number manually. Port `443` can use the standard **HTTPS** rule type. ![security group settings for access to Device42 on AWS](/assets/images/security_group_settings_CORRECT-hl.png) From db06f03cc0bf67bc023bc615ec0233adedabc0a6 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Wed, 18 Mar 2026 15:01:20 +0200 Subject: [PATCH 4/5] 1219: add Characteristics screenshot; application-component-templates --- .../application-component-templates.mdx | 8 ++++++++ .../template-characteristics-dark.png | Bin 0 -> 53284 bytes .../template-characteristics-light.png | Bin 0 -> 54952 bytes 3 files changed, 8 insertions(+) create mode 100644 static/assets/images/application-component-templates/template-characteristics-dark.png create mode 100644 static/assets/images/application-component-templates/template-characteristics-light.png diff --git a/docs/apps/application-components/application-component-templates.mdx b/docs/apps/application-components/application-component-templates.mdx index b9d2cdb73..36813893a 100644 --- a/docs/apps/application-components/application-component-templates.mdx +++ b/docs/apps/application-components/application-component-templates.mdx @@ -83,6 +83,14 @@ You can add a new template by clicking **Create** in the top right of the temp ### Characteristics + + - Select the **Service Type** (Windows or \*Nix) to specify which platform Device42 autodiscovery searches for the service(s) that the Application Component will be based on.(required). - Select, enter, or add (using the **plus sign** icon) the **Associated Service** that autodiscovery will search for and use to create the Application Component (required). - Enter a port in the **Only services listening on this port** field to limit autodiscovery to only the services that are listening on your chosen port. Leave the field empty to ignore the port. diff --git a/static/assets/images/application-component-templates/template-characteristics-dark.png b/static/assets/images/application-component-templates/template-characteristics-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..940ae230f84f8c009968c96a038cb756ab7173c2 GIT binary patch literal 53284 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 qum`8HvpVQOT&t;ucLK6T>u!9)@ literal 0 HcmV?d00001 diff --git a/static/assets/images/application-component-templates/template-characteristics-light.png b/static/assets/images/application-component-templates/template-characteristics-light.png new file mode 100644 index 0000000000000000000000000000000000000000..030ca949648b8b679445ee022e0314e84d54b6a6 GIT binary patch literal 54952 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%0D6j_f+}J`ljJ|35;K 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 Date: Thu, 19 Mar 2026 16:53:57 +0200 Subject: [PATCH 5/5] 1240: restructure SSH and connection instructions; installation-amazon-web-services --- .../installation-amazon-web-services.mdx | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/docs/getstarted/deploy-device42/installation-guides/installation-amazon-web-services.mdx b/docs/getstarted/deploy-device42/installation-guides/installation-amazon-web-services.mdx index cf5f9827b..cd290405d 100644 --- a/docs/getstarted/deploy-device42/installation-guides/installation-amazon-web-services.mdx +++ b/docs/getstarted/deploy-device42/installation-guides/installation-amazon-web-services.mdx @@ -58,6 +58,8 @@ Device42 AWS deployments are supported in the following regions: ## Deploying Device42 from the AWS Marketplace +The following steps walk you through deploying Device42 from the AWS Marketplace, configuring security groups, and connecting to your instance. + ### Configuring Instance and Communication Settings Launch your Device42 instance using the [AWS Marketplace](https://aws.amazon.com/marketplace/search/results?x=0&y=0&searchTerms=Device42&ref_=device42) one-click feature and follow the on-screen instructions. @@ -80,17 +82,20 @@ When you arrive at the **Launch this software** screen, select a key pair to use If you allow direct access from your PC or local network, the deployed Device42 instance will be reachable **directly over the internet**. This is not considered best practice and should only be used for testing. Set up a VPN or other secure means of communication for production AWS use. ::: -SSH to your Device42 MA using the DNS name or IP address of the instance. If your instance is in a public subnet (test/dev only — see the note above), you can connect directly using the public DNS name or IP found in the AWS console. For private subnet deployments, connect via a bastion host, AWS Systems Manager Session Manager, or your VPN. In all cases, ensure your SSH client connects on port 404. +### Connect to the Instance + +SSH to your Device42 MA on port `404` using one of the following methods: + +- **Public subnet (test/dev only — see the note above):** Connect directly using the public DNS name or IP address from the AWS console. +- **Private subnet:** Connect via a bastion host, AWS Systems Manager Session Manager, or your VPN. -- Use `device42` as the username. -- Instead of a password, use the SSH key file you selected on the **Launch this software** screen for SSH authentication. -- Configure your instance's [security group settings](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html) to allow SSH access from the appropriate administrative source, such as your PC's IP address for direct public access, your bastion host, or your VPN/network range. +Use `device42` as the username and the SSH key file you selected on the **Launch this software** screen for authentication (not a password). Ensure your instance's [security group settings](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html) allow SSH access from your connection source. - ![Instance ID, public ip, DNS address on EC2 dash](/assets/images/EC2_dashboard_Instance_ID-IP-DNS_hl.png) +![Instance ID, public IP, and DNS address on the EC2 dashboard](/assets/images/EC2_dashboard_Instance_ID-IP-DNS_hl.png) Navigate to the Device42 login screen by visiting `https://Device42_AWS_address` **(1)**: -- `Device42_AWS_address` is the reachable DNS name (preferred) or IP address for the instance shown in AWS. Use the public endpoint for test/dev public-subnet deployments, or the private/internal endpoint when connecting through a bastion host, Session Manager, or VPN. +- `Device42_AWS_address` is the DNS name (preferred) or IP address you used to connect via SSH. - Log in to the Device42 web UI using `admin` as your username and your AWS instance ID **(2)** as your temporary password. It's a good idea to change these credentials to something more secure as soon as you log in!