Welcome to The IT Glue API
Welcome to IT Glue's API. You can use this API to access all of our API endpoints, such as the Configurations API, the Passwords API, and the Flexible Assets API.
The IT Glue API is a RESTful API and conforms to the JSON API Spec: jsonapi.org. The API can be used to create, retrieve, update, and delete data in your IT Glue account.
You can use the IT Glue API with any programming language that supports the creation of HTTPS requests and that can parse JSON. Most modern programming languages have tools to parse JSON, which allows you to sync your data with virtually any platform.
Note that the POST and PATCH methods can be used to modify object resources and object structure resources. However, certain rules may prevent an object from being updated by an API request. For example, a PATCH request on an organization will fail if the specified organization is syncing with your PSA. Refer to the documentation included with each endpoint and method for further details about potential API errors.
Developer Documentation
The developer docs are organized by resource type, each with its own set of endpoints. The intended audience is a developer with HTTP and JSON API experience.
If you are just getting started with the API, start by reading getting started article in our knowledge base.
Make sure you also understand the following concepts: pagination and sorting and filtering.
Please note that the maximum number of page results that can be requested is 1000.
API Requests and Responses
The IT Glue API accepts JSON requests and returns JSON content in all of its responses, including errors. The UTF-8 character encoding is supported for both requests and responses. All data is encrypted in transport using the HTTPS protocol.
Some general information about responses:
-
The API populates certain fields automatically, such as object ID, created-at
, updated-at
, resource-url
, names of attributes (e.g. manufacturer-name
, model-name
, location-name
, etc.), and fields to identify when an object is related to a MyGlue account or PSA integration.
-
Dates are returned in RFC3339 format in UTC timezone: YYYY-MM-DDTHH:MM:SSZ.
-
Empty attribute fields are generally included as null instead of being blank strings or omitted. If null is a valid value, that means it is possible to set the specified attribute to null to clear a value.
API Key
All requests require an API key that will be linked to your IT Glue account. Trying to access the API with an incorrect key will result in an HTTP 403 error.
To create one or more API keys, sign in to IT Glue with an Administrator role and generate your keys from Account > Settings > API Keys. Note that you can't view a key again after it has been generated, so store your keys as passwords in IT Glue or somewhere else safe. API keys do not expire, but they can be revoked anytime from Account > Settings > API Keys.
NOTE: As of May 15, 2023, to protect your account, unused API keys will be automatically revoked after 90 days of inactivity. A notice will be sent to your account admins 10 days before being automatically revoked.
Authentication/Request Headers
All API requests require the following headers:
x-api-key: {{api-token}}
Content-Type: application/vnd.api+json
Note that if the request does not have a payload, the Content-Type header is not required.
The base URL for all endpoints and methods is:
https://api.itglue.com
Partners with an account in the EU data center will use:
https://api.eu.itglue.com
Partners with an account in the Australia data center will use:
https://api.au.itglue.com
Rate Limiting
Rate limiting in the IT Glue API should be encountered only in rare circumstances. Currently, we have throttling limits in place: a maximum of 3000 requests within a 5-minute window. A 429 Too Many Requests error code will be returned for rate limited requests.
Payload Size Limit
Payload size in API requests cannot exceed 10 MB. Note that payload includes all data from payload including files when files are applied, e.g. for 'Attachments' endpoints.
Incoming Webhooks
One of the key benefits of an API is the ability to integrate with third-party tools. Incoming webhooks are an easy way to get simple push notifications (HTTP POST messages) from external sources into IT Glue when things happen. For example, you may configure a webhook to add charged Stripe customers as new organizations or create a flexible asset when a new project is created in Asana. You will need an integration service like Zapier or other third-party tool that can execute the required code to POST a message to a URL along with the necessary data as a JSON payload. Note that for outgoing webhooks from IT Glue, you will need to use our workflows feature.
Versioning
Release notes are issued for API improvements and changes in our knowledge base. In the event of breaking changes, the API endpoint will generally be versioned so that you can choose which endpoint you want (GET V1/configurations).
Happy coding!
Flexible Asset Fields
A flexible asset field refers to a field in a flexible asset type.
This resource lets you manage all of the flexible asset fields in your account. The name-key
attributes of fields can be used to POST new flexible assets.
Each flexible asset field has, at most, one immediate parent flexible asset type, and may be created after or at the same time as a new flexible asset type. Note: To avoid POST/PATCH errors, make sure that the name and order attributes are unique. In other words, no two fields with the same parent flexible asset type can have identical values for name or order. It's also required that at least one field has show-in-list
set to true.
To explore the different fields that are available, refer to our Flexible asset field definitions article.
GET /flexible_asset_types/:flexible_asset_type_id/relationships/flexible_asset_fields
List all flexible asset fields for a particular flexible asset type.
Returns a list of fields for the specified flexible asset type.
Example return value:
{
"data": [
{
"id": "401",
"type": "flexible-asset-fields",
"attributes": {
"flexible-asset-type-id": 33,
"order": 1,
"name": "Domains",
"kind": "Tag",
"hint": "Tag accepted domains for this email system",
"decimals": 0,
"default-value": "default text",
"tag-type": "Domains",
"required": true,
"use-for-title": false,
"expiration": false,
"show-in-list": true,
"name-key": "domains",
"created-at": "2017-10-22T00:03:48.000Z",
"updated-at": "2017-10-22T00:06:17.000Z"
},
"relationships": {
"flexible-asset-type": {
"data": {
"id": "33",
"type": "flexible-asset-types"
}
}
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
flexible_asset_type_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Flexible asset type Id in your Account
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
include
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
GET /flexible_asset_fields/:id
Retrieve a flexible asset field.
GET /flexible_asset_types/:flexible_asset_type_id/relationships/flexible_asset_fields/:id
Retrieve a flexible asset field.
Returns the details of an existing field.
Example return value:
{
"data": {
"id": "401",
"type": "flexible-asset-fields",
"attributes": {
"flexible-asset-type-id": 33,
"order": 1,
"name": "Domains",
"kind": "Tag",
"hint": "Tag accepted domains for this email system",
"decimals": 0,
"default-value": "default text",
"tag-type": "Domains",
"required": true,
"use-for-title": false,
"expiration": false,
"show-in-list": true,
"name-key": "domains",
"created-at": "2017-10-22T00:03:48.000Z",
"updated-at": "2017-10-22T00:06:17.000Z"
},
"relationships": {
"flexible-asset-type": {
"data": {
"id": "33",
"type": "flexible-asset-types"
}
}
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
flexible_asset_type_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Flexible asset type Id in your Account
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
POST /flexible_asset_fields
Create a flexible asset field.
POST /flexible_asset_types/:flexible_asset_type_id/relationships/flexible_asset_fields
Create a flexible asset field for a particular flexible asset type.
Creates a new field under the flexible asset type specified in the ID parameter. Returns the created object if successful. Use the nested relationships route to add multiple fields to a flexible asset type in bulk.
The request body must contain a JSON object, for example: To create a single field:
{
"data": {
"type": "flexible-asset-fields",
"attributes": {
"name": "Type",
"order": 2,
"kind": "Select",
"required": true,
"hint": "Select the email platform",
"default-value": "Office 365\nExchange 2016\nExchange 2013\nExchange 2010\nPOP/IMAP",
"use-for-title": true,
"show-in-list": true
}
}
}
To create multiple fields in bulk (only supported for nested route):
{
"data": [
{
"type": "flexible-asset-fields",
"attributes": {
"name": "Email Servers",
"order": 3,
"kind": "Tag",
"required": false,
"hint": "Tag server(s) participating in email delivery",
"tag-type": "Configurations",
"use-for-title": false,
"show-in-list": true
}
},
{
"type": "flexible-asset-fields",
"attributes": {
"name": "Location",
"order": 4,
"kind": "Select",
"hint": "Where is the email hosted",
"default-value": "Cloud\nOn-Premises",
"required": false,
"use-for-title": false,
"show-in-list": false
}
},
{
"type": "flexible-asset-fields",
"attributes": {
"name": "Inbound Delivery",
"order": 5,
"kind": "Select",
"hint": "How is inbound email delivered",
"default-value": "Office 365\nGoogle\nProofpoint\nMimecast\nReflexion",
"required": false,
"use-for-title": false,
"show-in-list": true
}
},
{
"type": "flexible-asset-fields",
"attributes": {
"name": "Webmail URL",
"order": 6,
"kind": "Text",
"required": false,
"use-for-title": false,
"show-in-list": true
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
flexible_asset_type_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Flexible asset type Id in your Account
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for updates
Validations:
|
data[attributes][flexible_asset_type_id]
required
|
Not required when using nested relationship routes
Validations:
|
data[attributes][order]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
data[attributes][kind]
required
|
Kind cannot be changed once there are traits created for the field
Validations:
-
Must be one of: Checkbox , Date , Header , Number , Select , Text , Textbox , Upload , Tag , Percent , Password .
|
data[attributes][hint]
optional
, nil allowed
|
Validations:
|
data[attributes][decimals]
optional
, nil allowed
|
A non-negative required value if field type is Number or Percent
Validations:
|
data[attributes][default_value]
optional
, nil allowed
|
Required if field type is Select
Validations:
|
data[attributes][tag_type]
optional
, nil allowed
|
Validations:
-
Must be one of: AccountsUsers , Checklists , ChecklistTemplates , Contacts , Configurations , Documents , Domains , Passwords , Locations , Organizations , SslCertificates , Tickets , FlexibleAssetType: id .
|
data[attributes][required]
optional
, nil allowed
|
Indicates if the field is required for the flexible asset; it will be set to false if the field type is Header
Validations:
|
data[attributes][use_for_title]
optional
, nil allowed
|
Indicates if the field name should be added to the flexible asset name; it will be set to false if the field type is one of: Checkbox, Header, Number, Password, Percent, Step, Tag, Textbox, Upload
Validations:
|
data[attributes][expiration]
optional
, nil allowed
|
Validations:
|
data[attributes][show_in_list]
optional
, nil allowed
|
Validations:
|
PATCH /flexible_asset_fields/:id
Update a flexible asset field.
PATCH /flexible_asset_types/:flexible_asset_type_id/relationships/flexible_asset_fields/:id
Update a flexible asset field.
Updates the details of an existing field. Returns 422 error if trying to change the kind attribute of fields that are already in use.
A PATCH request does not require that the entire object resource be enclosed. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON object, for example:
{
"data": {
"type": "flexible-asset-fields",
"attributes": {
"name": "Webmail Acccess URL",
"required": true,
"hint": "URL used to sign in to webmail"
}
}
}
Supported Formats
json
Errors
Code |
Description |
400 |
Bad Request |
401 |
Unauthorized |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
flexible_asset_type_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Flexible asset type Id in your Account
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for updates
Validations:
|
data[attributes][flexible_asset_type_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[attributes][order]
optional
|
Validations:
|
data[attributes][name]
optional
|
Validations:
|
data[attributes][kind]
optional
|
Kind cannot be changed once there are traits created for the field
Validations:
-
Must be one of: Checkbox , Date , Header , Number , Select , Text , Textbox , Upload , Tag , Percent , Password .
|
data[attributes][hint]
optional
, nil allowed
|
Validations:
|
data[attributes][decimals]
optional
, nil allowed
|
A non-negative required value if field type is Number or Percent
Validations:
|
data[attributes][default_value]
optional
, nil allowed
|
Required if field type is Select
Validations:
|
data[attributes][tag_type]
optional
, nil allowed
|
Validations:
-
Must be one of: AccountsUsers , Checklists , ChecklistTemplates , Contacts , Configurations , Documents , Domains , Passwords , Locations , Organizations , SslCertificates , Tickets , FlexibleAssetType: id .
|
data[attributes][required]
optional
, nil allowed
|
Indicates if the field is required for the flexible asset; it will be set to false if the field type is Header
Validations:
|
data[attributes][use_for_title]
optional
, nil allowed
|
Indicates if the field name should be added to the flexible asset name; it will be set to false if the field type is one of: Checkbox, Header, Number, Password, Percent, Step, Tag, Textbox, Upload
Validations:
|
data[attributes][expiration]
optional
, nil allowed
|
Validations:
|
data[attributes][show_in_list]
optional
, nil allowed
|
Validations:
|
PATCH /flexible_asset_fields
Update multiple flexible asset fields.
Updates a list of fields, also known as bulk updating. Bulk updates using a nested relationships route are not supported. Returns 422 error if trying to change the kind attribute of fields that are already in use.
The bulk update PATCH format is one that is similar to the response returned from a GET on a list resource. It will accept a partial representation of objects, as long as the required parameters are present. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON array with one or more objects, for example:
{
"data": [
{
"type": "flexible-asset-fields",
"attributes": {
"id": 402,
"order": 2,
"name": "Type",
"kind": "Select",
"hint": "Select the email platform",
"default-value": "Office 365\nExchange 2016\nExchange 2013\nExchange 2010"
}
},
{
"type": "flexible-asset-fields",
"attributes": {
"id": 403,
"order": 5,
"name": "Inbound Delivery",
"hint": "test text field bulk updated",
"default-value": "Office 365\nGoogle\nProofpoint",
"use-for-title": true
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
400 |
Bad Request |
401 |
Unauthorized |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “flexible_asset_fields”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
optional
, nil allowed
|
Required identifier for updates
Validations:
|
data[_][attributes][flexible_asset_type_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[_][attributes][order]
optional
|
Validations:
|
data[_][attributes][name]
optional
|
Validations:
|
data[_][attributes][kind]
optional
|
Kind cannot be changed once there are traits created for the field
Validations:
-
Must be one of: Checkbox , Date , Header , Number , Select , Text , Textbox , Upload , Tag , Percent , Password .
|
data[_][attributes][hint]
optional
, nil allowed
|
Validations:
|
data[_][attributes][decimals]
optional
, nil allowed
|
A non-negative required value if field type is Number or Percent
Validations:
|
data[_][attributes][default_value]
optional
, nil allowed
|
Required if field type is Select
Validations:
|
data[_][attributes][tag_type]
optional
, nil allowed
|
Validations:
-
Must be one of: AccountsUsers , Checklists , ChecklistTemplates , Contacts , Configurations , Documents , Domains , Passwords , Locations , Organizations , SslCertificates , Tickets , FlexibleAssetType: id .
|
data[_][attributes][required]
optional
, nil allowed
|
Indicates if the field is required for the flexible asset; it will be set to false if the field type is Header
Validations:
|
data[_][attributes][use_for_title]
optional
, nil allowed
|
Indicates if the field name should be added to the flexible asset name; it will be set to false if the field type is one of: Checkbox, Header, Number, Password, Percent, Step, Tag, Textbox, Upload
Validations:
|
data[_][attributes][expiration]
optional
, nil allowed
|
Validations:
|
data[_][attributes][show_in_list]
optional
, nil allowed
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
DELETE /flexible_asset_fields/:id
Delete a flexible asset field.
DELETE /flexible_asset_types/:flexible_asset_type_id/relationships/flexible_asset_fields/:id
Delete a flexible asset field.
Destroys a single flexible asset field with its ID. Returns a 204 status code if successful. Note that this action will cause data loss if the field is already in use.
Supported Formats
json
Errors
Code |
Description |
401 |
Bad credentials |
404 |
Not Found |
Params
Param name |
Description |
flexible_asset_type_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Flexible asset type Id in your Account
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
Flexible Assets
A flexible asset refers to a record that has been created using a specific flexible asset type.
This resource lets you manage all of the flexible assets in your account.
Before you can have a flexible asset, a flexible asset type must exist. Flexible asset types pre-define the data structure as a table containing one or more fields with defined data types.
Every flexible asset (record) has a set of traits. Each trait is a JSON key-value pair. The key part of the key-value pair is the name-key
for the corresponding flexible asset field. The value part is the field data. For example, if you have a key called ip-address
, then you would enter an actual IP address as its value.
Note: The use-for-title
property of fields in the flexible asset type is what determines the name of each associated flexible asset. If more than one field has the use-for-title
property set to true, the text strings are joined into one string.
GET /flexible_assets
List all flexible assets for a specific flexible asset type ID.
Returns a list of flexible assets based on the unique ID of the flexible asset type.
Example return value:
{
"data": {
"id": "401",
"type": "flexible-assets",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"resource-url": "http://happyfrog.itglue.com/2/assets/33-email/records/401",
"restricted": false,
"my-glue": false,
"flexible-asset-type-id": 33,
"flexible-asset-type-name": "Email",
"name": "Exchange 2013",
"traits": {
"type": "Exchange 2013",
"domains": {
"type": "Domains",
"values": [
{
"id": 347287,
"name": "happyfrog.itglue.com",
"organization-name": "Happy Frog"
}
]
},
"email-servers": {
"type": "Configurations",
"values": [
{
"id": 11303436,
"name": "HF-SF-EXCH01 (Exchange)",
"hostname": "HF-SF-EXCH01 (Exchange)",
"organization-name": "Happy Frog",
"configuration-type-name": "Managed Server"
}
]
},
"location": "On-Premises",
"inbound-delivery": "Office 365",
"webmail-url": "https://email.example.com",
},
"archived": false,
"created-at": "2017-07-28T00:53:02.000Z",
"updated-at": "2017-07-28T00:53:03.000Z"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
required
|
Validations:
Metadata:
Param Type: CGI
Description: All filter params have to be exact match only
|
filter[flexible-asset-type-id]
required
|
Validations:
|
filter[name]
optional
|
Validations:
|
filter[organization-id]
optional
|
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
include
optional
|
Validations:
-
Must be one of: adapters_resources , distinct_remote_assets , attachments , passwords , user_resource_accesses , group_resource_accesses .
Metadata:
Param Type: CGI
Notes: Comma separated values
|
GET /flexible_assets/:id
Retrieve a flexible asset.
Returns the details of an existing flexible asset.
The following example demonstrates a return value for a request with the attachments
parameter included:
{
"data": {
"id": "401",
"type": "flexible-assets",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"resource-url": "http://happyfrog.itglue.com/2/assets/33-email/records/401",
"restricted": false,
"my-glue": false,
"flexible-asset-type-id": 33,
"flexible-asset-type-name": "Email",
"name": "Exchange 2013",
"traits": {
"type": "Exchange 2013",
"domains": {
"type": "Domains",
"values": [
{
"id": 347287,
"name": "happyfrog.itglue.com",
"organization-name": "Happy Frog"
}
]
},
"email-servers": {
"type": "Configurations",
"values": [
{
"id": 11303436,
"name": "HF-SF-EXCH01 (Exchange)",
"hostname": "HF-SF-EXCH01 (Exchange)",
"organization-name": "Happy Frog",
"configuration-type-name": "Managed Server"
}
]
},
"location": "On-Premises",
"inbound-delivery": "Office 365",
"webmail-url": "https://email.example.com"
},
"archived": false,
"created-at": "2017-07-28T00:53:02.000Z",
"updated-at": "2017-07-28T00:53:03.000Z"
},
"relationships": {
"attachments": {
"data": [
{
"id": "1279",
"type": "attachments"
}
]
}
}
],
"included": [
{
"id": "1279",
"type": "attachments",
"attributes": {
"name": "exchange_server_2013_operation_guideV3.pdf",
"attachment-file-name": "exchange_server_2013_operation_guideV3.pdf",
"attachment-content-type": "application/pdf",
"attachment-file-size": 314368,
"ext": "pdf",
"viewable": false,
"download-url": "http://happyfrog.itglue.com/attachments/1279",
"created-at": "2018-03-01T23:14:18.000Z",
"updated-at": "2018-03-01T23:14:18.000Z"
}
}
]
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
include
optional
|
Validations:
-
Must be one of: adapters_resources , distinct_remote_assets , attachments , passwords , user_resource_accesses , group_resource_accesses , recent_versions , related_items , authorized_users .
Metadata:
Param Type: CGI
Notes: Comma separated values
|
POST /flexible_assets
Create a flexible asset.
POST /organizations/:organization_id/relationships/flexible_assets
Creates a new flexible asset.
If there are any required fields in the flexible asset type, they will need to be included in the request.
The request body must contain a JSON object, for example:
{
"data": {
"type": "flexible-assets",
"attributes": {
"organization-id": 2,
"flexible-asset-type-id": 33,
"archived": true,
"traits": {
"domains": 569,
"type": "Exchange 2013",
"email-servers": 457,
"location": "On-Premises",
"inbound-delivery": "Office 365",
"webmail-url": "https://email.example.com"
}
}
}
}
To create multiple flexible assets, the JSON object will look something like:
{
"data": [
{
"type": "flexible-assets",
"attributes": {
"flexible-asset-type-id": 23,
"traits": {
"trait1": "some text value",
"trait2": "some another text value"
}
}
},
{
"type": "flexible-assets",
"attributes": {
"flexible-asset-type-id": 23,
"traits": {
"trait1": "some text value",
"trait2": "some another text value"
}
}
}
]
}
Bulk creation works only with nested route
Files can be encoded and passed in JSON format for direct upload to a flexible asset with an Upload field. The file has to be strict encoded. You need to convert it using something like www.freeformatter.com/base64-encoder.html. This produces a string of text that goes into the content
field. For example:
"traits": {
"file": {
"content": "R0lGODlhABAQAIAAAAAAAP///yH7BAEAAAAALAAAAAAEAABAAAIBRAA5",
"file_name": "test.png"
}
}
Multipart requests can also be used when POST/PATCH flexible assets with uploaded file. Here is a sample curl request:
curl -v \
-H "Content-Type: multipart/form-data" \
-H "x-api-key: ITG.**************************" \
-X POST \
-F "data[type]=flexible-assets" \
-F "data[attributes][organization-id]=2" \
-F "data[attributes][flexible-asset-type-id]=30" \
-F "data[attributes][traits][file]=@test.png" \
http://api.itglue.com/api/flexible_assets
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][organization_id]
required
|
Validations:
|
data[attributes][restricted]
optional
, nil allowed
|
Validations:
|
data[attributes][flexible_asset_type_id]
required
|
Validations:
|
data[attributes][archived]
optional
, nil allowed
|
Validations:
|
data[attributes][traits]
required
|
A hash of key value pairs for the traits of this asset. Values can be arrays. The key has to be an available field key from the specified flexible asset type.
Validations:
|
PATCH /flexible_assets/:id
Update a flexible asset.
Updates a flexible asset in your account.
Any traits you don't specify will be deleted. Passing a null value will also delete a trait's value.
The request body must contain a JSON object, for example:
{
"data": {
"type": "flexible-assets",
"attributes": {
"archived": true,
"traits": {
"domains": 569,
"type": "Exchange 2016",
"email-servers": [457, 676],
"location": "On-Premises",
"inbound-delivery": "Office 365",
"webmail-url": "https://email.example.com"
}
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][organization_id]
optional
|
Validations:
|
data[attributes][restricted]
optional
, nil allowed
|
Validations:
|
data[attributes][archived]
optional
, nil allowed
|
Validations:
|
data[attributes][traits]
optional
|
A hash of key value pairs for the traits of this asset. Values can be arrays. The key has to be an available field key from the specified flexible asset type.
Validations:
|
PATCH /flexible_assets
Update multiple flexible assets.
Updates a list of flexible assets, also known as bulk updating. Bulk updates using a nested relationships route are not supported.
Any traits you don't specify will be deleted. Passing a null value will also delete a trait's value.
The bulk update PATCH format is one that is similar to the response returned from a GET on a list resource. It will accept a partial representation of objects, as long as the required parameters are present. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON array with one or more objects:
{
"data": [
{
"type": "flexible-assets",
"attributes": {
"id": 72,
"traits": {
"name-field": "updated value"
}
}
},
{
"type": "flexible-assets",
"attributes": {
"id": 73,
"archived": true,
"traits": {
"name-field": "updated value"
}
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “flexible_assets”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[_][attributes][organization_id]
optional
|
Validations:
|
data[_][attributes][restricted]
optional
, nil allowed
|
Validations:
|
data[_][attributes][archived]
optional
, nil allowed
|
Validations:
|
data[_][attributes][traits]
optional
|
A hash of key value pairs for the traits of this asset. Values can be arrays. The key has to be an available field key from the specified flexible asset type.
Validations:
|
DELETE /flexible_assets/:id
Delete a flexible asset.
Destroys a single flexible asset with its ID. Returns a 204 status code if successful.
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
DELETE /flexible_assets
Delete multiple flexible assets.
Deletes one or more specified flexible assets. Returns the deleted flexible assets and a 200 status code if successful.
Below is a sample request body with a JSON array to delete multiple objects:
{
"data": [
{
"type": "flexible-assets",
"attributes": {
"id": 2
}
},
{
"type": "flexible-assets",
"attributes": {
"id": 4
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
Notes: Cannot be used in combination with filter
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “flexible_assets”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
required
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
exact match only
Validations:
|
filter[organization_id]
required
|
Validations:
|
filter[flexible_asset_type_id]
required
|
Validations:
|
Operating Systems
An operating system refers to any current or previous version of operating system software, for example, Windows 10.
The Operating Systems resource allows you to retrieve information about the operating systems that IT Glue supports. Operating system IDs can be used to POST new configurations.
Supported operating systems may be referenced by one or more configurations. Each configuration can have one operating system, but it's not required.
GET /operating_systems
List all operating systems.
Returns a list of supported operating systems.
Example return value:
{
"data": [
{
"id": "1",
"type": "operating-systems",
"attributes": {
"name": "Mac OS X 10.0 Cheetah",
"platform-id": 1,
"platform-name": "Mac OS",
"created-at": "2016-10-12T21:15:00.000Z",
"updated-at": "2016-10-12T21:15:00.000Z"
}
},
{
"id": "2",
"type": "operating-systems",
"attributes": {
"name": "Mac OS X 10.1 Puma",
"platform-id": 1,
"platform-name": "Mac OS",
"created-at": "2016-10-12T21:15:00.000Z",
"updated-at": "2016-10-12T21:15:00.000Z"
}
},
{
"id": "3",
"type": "operating-systems",
"attributes": {
"name": "Mac OS X 10.2 Jaguar",
"platform-id": 1,
"platform-name": "Mac OS",
"created-at": "2016-10-12T21:15:00.000Z",
"updated-at": "2016-10-12T21:15:00.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[name]
optional
|
exact match only
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /operating_systems/:id
Retrieve an operating system.
Returns the details of one of the supported operating systems.
Example return value:
{
"data": {
"id": "1",
"type": "operating-systems",
"attributes": {
"name": "Mac OS X 10.0 Cheetah",
"platform-id": 1,
"platform-name": "Mac OS",
"created-at": "2016-10-12T21:15:00.000Z",
"updated-at": "2016-10-12T21:15:00.000Z"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
Passwords
A password refers to a login credential for a managed system, application, or account.
This resource allows you to manage all passwords in your account.
For added security, accessing the actual password values is an optional setting that must be explicitly enabled for each API key. To enable this setting, select the “Password Access” checkbox under Account > Settings > API Keys. Once enabled, password values can be sent and received over HTTPS.
GET /passwords
List all passwords in your account.
GET /organizations/:organization_id/relationships/passwords
List all passwords for a particular organization.
Returns a list of passwords for all organizations or for a specified organization.
Example return value:
{
"data": [
{
"id": "54",
"type": "passwords",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"resource-url": "http://example.com/1013/passwords/541",
"restricted": false,
"my-glue": false,
"name": "Office 365 Admin",
"autofill-selectors": null,
"username": "tech@happyfrog.itglue.com",
"url": "https://login.itglue.com/",
"notes": "Admin account for all Office 365 users at Happy Frog.",
"password-updated-at": "2017-08-24T00:34:40.000Z",
"updated-by": 4444,
"resource-id": null,
"resource-type": null,
"cached-resource-type-name": null,
"cached-resource-name": null,
"password-category-id": 15,
"password-category-name": "Cloud",
"created-at": "2014-07-02T21:36:45.000Z",
"updated-at": "2018-01-30T22:32:34.000Z"
}
},
{
"id": "69",
"type": "passwords",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"resource-url": "http://example.com/1013/passwords/6970",
"restricted": true,
"my-glue": false,
"name": "Pre-Shared Key",
"autofill-selectors": null,
"username": null,
"url": null,
"notes": null,
"password-updated-at": "2016-07-25T21:06:00.000Z",
"updated-by": null,
"resource-id": 28631,
"resource-type": "flexible-asset-trait",
"cached-resource-type-name": "Wireless",
"cached-resource-name": "Detroit Office Wireless",
"password-category-id": null,
"password-category-name": null,
"created-at": "2014-12-15T18:09:34.000Z",
"updated-at": "2018-01-30T22:34:16.000Z"
}
},
{
"id": "177",
"type": "passwords",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"resource-url": "http://example.com/1013/passwords/17702",
"restricted": false,
"my-glue": false,
"name": "GoDaddy SSL Account",
"autofill-selectors": null,
"username": "admin",
"url": "https://example.com",
"notes": null,
"password-updated-at": "2017-08-01T19:08:24.000Z",
"updated-by": 4444,
"resource-id": null,
"resource-type": null,
"cached-resource-type-name": null,
"cached-resource-name": null,
"password-category-id": 15,
"password-category-name": "Cloud",
"created-at": "2015-03-05T16:25:40.000Z",
"updated-at": "2018-01-30T22:32:40.000Z"
}
},
{
"id": "222",
"type": "passwords",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"resource-url": "http://example.com/1013/passwords/222232",
"restricted": false,
"my-glue": false,
"name": "UPS Web Interface",
"autofill-selectors": null,
"username": "administrator",
"password": "p4ssw0rd",
"url": "http://10.10.10.5:5020",
"notes": null,
"password-updated-at": "2015-12-16T00:56:49.000Z",
"updated-by": 44234,
"resource-id": 2282563,
"resource-type": "Configuration",
"cached-resource-type-name": "Configuration",
"cached-resource-name": "HF-SF-UPS01",
"password-category-id": null,
"password-category-name": null,
"created-at": "2015-12-16T00:56:49.000Z",
"updated-at": "2017-12-22T12:31:40.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid Organization Id in your Account
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
filter[password_category_id]
optional
|
Validations:
|
filter[url]
optional
|
Validations:
|
filter[cached_resource_name]
optional
|
Validations:
|
filter[archived]
optional
|
Validations:
|
sort
optional
|
Validations:
-
Must be one of: name , username , url , id , created_at , updated_at .
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
include
optional
|
Validations:
-
Must be one of: network_glue_networks , attachments , rotatable_password , updater , user_resource_accesses , group_resource_accesses .
Metadata:
Param Type: CGI
Notes: Comma separated values
|
GET /passwords/:id
Retrieve a password.
GET /organizations/:organization_id/relationships/passwords/:id
Retrieve a password for a particular organization.
Returns the details of an existing password.
Example return value:
{
"data": {
"id": "54",
"type": "passwords",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"resource-url": "http://example.com/1013/passwords/541",
"restricted": false,
"my-glue": false,
"name": "Office 365 Admin",
"autofill-selectors": null,
"username": "tech@happyfrog.itglue.com",
"password": "p4ssw0rd",
"url": "https://login.itglue.com/",
"notes": "Admin account for all Office 365 users at Happy Frog.",
"password-updated-at": "2017-08-24T00:34:40.000Z",
"updated-by": 4444,
"resource-id": null,
"resource-type": null,
"cached-resource-type-name": null,
"cached-resource-name": null,
"password-category-id": 15,
"password-category-name": "Cloud",
"created-at": "2014-07-02T21:36:45.000Z",
"updated-at": "2018-01-30T22:32:34.000Z",
"is-live": true
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid Organization Id in your Account
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
include
optional
|
Validations:
-
Must be one of: network_glue_networks , attachments , rotatable_password , updater , user_resource_accesses , group_resource_accesses , recent_versions , related_items , authorized_users .
Metadata:
Param Type: CGI
Notes: Comma separated values
|
show_password
optional
|
defaults to 'true', Can be set to 'false' to not return the password
Validations:
Metadata:
Param Type: In URL
|
version_id
optional
|
Set the password's version ID to return it's revision
Validations:
Metadata:
Param Type: In URL
|
POST /passwords
Create a password.
POST /organizations/:organization_id/relationships/passwords
Create a password for a particular organization.
Creates a password under the organization specified in the ID parameter. Returns the created object if successful. Use the nested relationships route to add multiple passwords to an organization in bulk.
Keep in mind that you can create general and embedded passwords with this endpoint: If the resource-id
and resource-type
attributes are NOT provided, IT Glue assumes the password is a general password. If the resource-id
and resource-type
attributes are provided, IT Glue assumes the password is an embedded password. Learn more about the difference between general and embedded passwords in this article.
The request body must contain a JSON object, for example:
{
"data": {
"type": "passwords",
"attributes": {
"name": "Meraki Dashboard Administrator Login",
"username": "dashboardadmin@happyfrog.itglue.com",
"password": "p4ssw0rd",
"otpSecret":"SAFDSAFDSADFASDFASDF",
"url": "https://meraki.itglue.com/secure/login/dashboard_login",
"notes": "Admin credentials for Happy Frog's Meraki account.",
"password-category-id": 71326,
"password-category-name": "Wireless",
}
}
}
To create multiple passwords, the JSON object will look something like:
{
"data": [
{
"type": "passwords",
"attributes": {...}
},
{
"type": "passwords",
"attributes": {...}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid Organization Id in your Account
|
show_password
optional
|
defaults to 'false', Can be set to 'true' to return the password
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][organization_id]
required
|
Not required when using nested relationship routes
Validations:
|
data[attributes][password_category_id]
optional
, nil allowed
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
data[attributes][username]
optional
, nil allowed
|
Validations:
|
data[attributes][password]
required
|
Validations:
|
data[attributes][otp_secret]
optional
, nil allowed
|
One Time Password secret
Validations:
|
data[attributes][resource_id]
optional
, nil allowed
|
Must be used together with `resource_type`
Validations:
|
data[attributes][resource_type]
optional
, nil allowed
|
Must be used together with `resource_id`
Validations:
-
Must be one of: Configuration , Contact , Document , Domain , Location , SSL Certificate , Flexible Asset , Ticket .
|
data[attributes][url]
optional
, nil allowed
|
Validations:
|
data[attributes][notes]
optional
, nil allowed
|
Validations:
|
data[attributes][password_updated_at]
optional
, nil allowed
|
Date the password last changed
Validations:
|
data[attributes][restricted]
optional
, nil allowed
|
Validations:
|
data[attributes][autofill_selectors]
optional
, nil allowed
|
Used for identification of fields for password autofill
Validations:
|
data[attributes][archived]
optional
, nil allowed
|
Validations:
|
data[attributes][is_live]
optional
, nil allowed
|
Used for understanding - is this a live version of the password or not.
Validations:
|
data[attributes][generated_password_type]
optional
, nil allowed
|
This value indicates if the user is using the complex password feature, and if the password is complex or pronounceable.
Validations:
|
data[relationships]
optional
|
Not permitted in PUT/PATCH, optional in POST
Validations:
|
data[relationships][password_category]
optional
|
Can belong to one password category
Validations:
|
data[relationships][password_category][data]
optional
|
Validations:
|
data[relationships][password_category][data][type]
required
|
Validations:
|
data[relationships][password_category][data][attributes]
required
|
Validations:
|
data[relationships][password_category][data][attributes][name]
required
|
Validations:
|
data[relationships][password_category][data][attributes][account_id]
required
|
Identifies the account that this category belongs to.
Validations:
|
PATCH /passwords/:id
Update a password.
PATCH /organizations/:organization_id/relationships/passwords/:id
Update a password for a particular organization.
Updates the details of an existing password.
A PATCH request does not require that the entire object resource with all of its attributes be enclosed. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON object, for example:
{
"data": {
"type": "passwords",
"name": "Meraki Dashboard Administrator Login"
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid Organization Id in your Account
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
show_password
optional
|
defaults to 'false', Can be set to 'true' to return the password
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][organization_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[attributes][password_category_id]
optional
, nil allowed
|
Validations:
|
data[attributes][name]
optional
|
Validations:
|
data[attributes][username]
optional
, nil allowed
|
Validations:
|
data[attributes][password]
optional
|
Validations:
|
data[attributes][otp_secret]
optional
, nil allowed
|
One Time Password secret
Validations:
|
data[attributes][url]
optional
, nil allowed
|
Validations:
|
data[attributes][notes]
optional
, nil allowed
|
Validations:
|
data[attributes][password_updated_at]
optional
, nil allowed
|
Date the password last changed
Validations:
|
data[attributes][restricted]
optional
, nil allowed
|
Validations:
|
data[attributes][autofill_selectors]
optional
, nil allowed
|
Used for identification of fields for password autofill
Validations:
|
data[attributes][archived]
optional
, nil allowed
|
Validations:
|
data[attributes][is_live]
optional
, nil allowed
|
Used for understanding - is this a live version of the password or not.
Validations:
|
data[attributes][generated_password_type]
optional
, nil allowed
|
This value indicates if the user is using the complex password feature, and if the password is complex or pronounceable.
Validations:
|
PATCH /passwords
Update multiple passwords.
Updates a list of passwords, also known as bulk updating. Bulk updates using a nested relationships route are not supported.
The bulk update PATCH format is one that is similar to the response returned from a GET on a list resource. It will accept a partial representation of objects, as long as the required parameters are present. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON array with one or more objects, for example:
{
"data": [
{
"type": "passwords",
"attributes": {...}
},
{
"type": "passwords",
"attributes": {...}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “passwords”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[_][attributes][organization_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[_][attributes][password_category_id]
optional
, nil allowed
|
Validations:
|
data[_][attributes][name]
optional
|
Validations:
|
data[_][attributes][username]
optional
, nil allowed
|
Validations:
|
data[_][attributes][password]
optional
|
Validations:
|
data[_][attributes][otp_secret]
optional
, nil allowed
|
One Time Password secret
Validations:
|
data[_][attributes][url]
optional
, nil allowed
|
Validations:
|
data[_][attributes][notes]
optional
, nil allowed
|
Validations:
|
data[_][attributes][password_updated_at]
optional
, nil allowed
|
Date the password last changed
Validations:
|
data[_][attributes][restricted]
optional
, nil allowed
|
Validations:
|
data[_][attributes][autofill_selectors]
optional
, nil allowed
|
Used for identification of fields for password autofill
Validations:
|
data[_][attributes][archived]
optional
, nil allowed
|
Validations:
|
data[_][attributes][is_live]
optional
, nil allowed
|
Used for understanding - is this a live version of the password or not.
Validations:
|
data[_][attributes][generated_password_type]
optional
, nil allowed
|
This value indicates if the user is using the complex password feature, and if the password is complex or pronounceable.
Validations:
|
DELETE /passwords
Delete multiple passwords.
DELETE /organizations/:organization_id/relationships/passwords/:id
Delete multiple passwords for a particular organization.
Deletes one or more specified passwords. Returns the deleted passwords and a 200 status code if successful.
Below is a sample request body with a JSON array to delete multiple objects:
{
"data": [
{
"type": "passwords",
"attributes": {
"id": 2
}
},
{
"type": "passwords",
"attributes": {
"id": 24
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid Organization Id in your Account
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
Notes: Cannot be used in combination with filter
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “passwords”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
required
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
filter[password_category_id]
optional
|
Validations:
|
filter[url]
optional
|
Validations:
|
filter[cached_resource_name]
optional
|
Validations:
|
filter[archived]
optional
|
Validations:
|
DELETE /passwords/:id
Delete a password.
Destroys a single password with its ID. Returns a 204 status code if successful.
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
Logs
Log
This resource allows you to manage logs on your account.
GET /logs
Get the activity logs for most recent 30 days.
Get all activity logs of the account for most recent 30 days.
IMPORTANT NOTE: This endpoint is limited to 5 pages of results. If more results are desired, setting a larger page [size] will increase the number of results per page. To iterate over even more results, use filter [created_at] (with created_at sort) to fetch a subset of results based on timestamp, then use the last timestamp in the last page the start date in the filter for the next request.
Example return value:
{
"data":[
{
"id": "574989297464115201",
"type": "logs",
"attributes":{
"created-at": "2021-07-24T00:55:31.000Z",
"level": 2,
"account-id": 1,
"user-id": 1,
"organization-id": 1,
"action": "create",
"resource-type": "User",
"resource-name": "Super Admin",
"ip-address": "10.21.0.10",
"ip-city": "San Diego",
"ip-region": "CA",
"ip-country": "United States",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[created_at]
optional
|
The specified string must be a date range and comma-separated as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` or `end_date`. Date ranges longer than a week may be disallowed for performance reasons.
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
Metadata:
Notes: Must be a value between 1 and 5 (inclusive).
|
page[size]
optional
|
Validations:
|
Related Items
A related item refers to a link between two items.
Use the Related Items resource to manage related items in your account. For documentation on how to use a flexible asset's Tag field to create related items, refer to the Flexible Assets resource instead.
Note that related items (including those created from a Tag field) are accessed from the relevant endpoints (GET /configurations, GET /passwords, etc.) using the include=related_items
parameter to return the related items in the relationships attributes of the requested objects.
Example: /configurations/1?include=related_items
POST /:resource_type/:resource_id/relationships/related_items
Create a related item.
Creates a related item. Returns the created object if successful. Can also be used to add multiple related items to an asset in bulk.
The create action is directional from source item to destination item(s). The source item is the item that matches the resource_type
and resource_id
in the URL. The destination item(s) are the items that match the destination_type
and destination_id
in the JSON object.
The request body must contain a JSON object, for example:
{
"data" : {
"type": "related_items",
"attributes": {
"destination_id" : "1",
"destination_type" : "SSL Certificate",
"notes": "some notes",
"via_copilot": true
}
}
}
To create multiple related items, the JSON object will look something like:
{
"data" : [
{
"type": "related_items",
"attributes": {
"destination_id" : "1",
"destination_type" : "SSL Certificate",
"notes": "some notes",
"via_copilot": true
}
},
{
"type": "related_items",
"attributes": {...}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
resource_type
required
|
The resource type of the parent resource
Validations:
-
Must be one of: checklists , checklist_templates , configurations , contacts , documents , domains , folders , locations , passwords , ssl_certificates , flexible_assets , tickets .
Metadata:
Param Type: In URL
|
resource_id
required
|
The resource id of the parent resource.
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
required
|
Validations:
Metadata:
Param Type: In URL
|
data[attributes][destination_type]
required
|
Validations:
-
Must be one of: User , Checklist , Checklist Template , Contact , Configuration , Datto Device , Document , Document Folder , Domain , Location , Organization , Password , SSL Certificate , Flexible Asset , Ticket .
|
data[attributes][destination_id]
required
|
Validations:
|
data[attributes][notes]
optional
|
Validations:
|
data[attributes][via_copilot]
optional
|
Validations:
|
PATCH /:resource_type/:resource_id/relationships/related_items/:id
Update an related item for a particular resource.
Updates the details of an existing related item. Only the related item notes that are displayed on the asset view screen can be changed.
The request body must contain a JSON object, for example:
{
"data": {
"type": "related_items",
"attributes": {
"notes": "new notes"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
resource_type
required
|
The resource type of the parent resource
Validations:
-
Must be one of: checklists , checklist_templates , configurations , contacts , documents , domains , folders , locations , passwords , ssl_certificates , flexible_assets , tickets .
Metadata:
Param Type: In URL
|
resource_id
required
|
The resource id of the parent resource.
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
required
|
Validations:
Metadata:
Param Type: In URL
|
data[attributes][notes]
optional
|
Validations:
|
DELETE /:resource_type/:resource_id/relationships/related_items
Delete multiple related items.
Deletes one or more specified related items. Returns the deleted related items and a 200 status code if successful.
Below is a sample request body with a JSON array to delete multiple objects:
{
"data": [
{
"type": "related_items",
"attributes": {
"id": 2
}
},
{
"type": "related_items",
"attributes": {
"id": 4
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
resource_type
required
|
The resource type of the parent resource
Validations:
-
Must be one of: checklists , checklist_templates , configurations , contacts , documents , domains , folders , locations , passwords , ssl_certificates , flexible_assets , tickets .
Metadata:
Param Type: In URL
|
resource_id
required
|
The resource id of the parent resource.
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
Notes: Cannot be used in combination with filter
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “related_items”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
required
|
Validations:
|
Documents
Document
The Documents resource allows you to manage documents on your account.
PATCH /documents/:id
Update a document.
PATCH /organizations/:organization_id/relationships/documents/:id
Update a document for a particular organization.
Updates an existing document. Returns the updated object if successful.
A PATCH request does not require that the entire object resource with all of its attributes be enclosed. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON object, for example:
{
"data": {
"type": "documents",
"attributes": {
"name": "Document Name",
"archived": true,
"restricted": false,
"public": false
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
:Param Type: In URL
:Notes: Must be a valid Organization Id in your Account
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][organization_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[attributes][name]
optional
|
Validations:
|
data[attributes][restricted]
optional
, nil allowed
|
Validations:
|
data[attributes][archived]
optional
, nil allowed
|
Validations:
|
data[attributes][public]
optional
, nil allowed
|
Validations:
|
data[attributes][is_uploaded]
optional
, nil allowed
|
Not permitted in PUT/PATCH, optional in POST
Validations:
|
data[attributes][document_folder_id]
optional
, nil allowed
|
Not permitted in PUT/PATCH, optional in POST
Validations:
|
PATCH /documents
Update multiple documents.
Updates a list of items, also known as bulk updating.
The bulk update PATCH format is one that is similar to the response returned from a GET on a list resource. It will accept a partial representation of objects, as long as the required parameters are present. Any attributes you don't specify will remain unchanged.
Bulk updates using a nested relationships route are not supported.
The request body must contain a JSON array with one or more objects, for example:
{
"data": [
{
"type": "documents",
"attributes": {
"id": "10",
"name": "New Document Name 1",
"archived": true,
"public": false
}
},
{
"type": "documents",
"attributes": {
"id": "11",
"name": "New Document Name 2",
"archived": true,
"public": false
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
403 |
Forbidden |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
:Param Type: In URL
:Notes: Must be a valid Organization Id in your Account
|
data
required
|
Validations:
Metadata:
:Param Type: JSON Body Param
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “documents”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[_][attributes][organization_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[_][attributes][name]
optional
|
Validations:
|
data[_][attributes][restricted]
optional
, nil allowed
|
Validations:
|
data[_][attributes][archived]
optional
, nil allowed
|
Validations:
|
data[_][attributes][public]
optional
, nil allowed
|
Validations:
|
data[_][attributes][is_uploaded]
optional
, nil allowed
|
Not permitted in PUT/PATCH, optional in POST
Validations:
|
data[_][attributes][document_folder_id]
optional
, nil allowed
|
Not permitted in PUT/PATCH, optional in POST
Validations:
|
Models
A model refers to a specific computer model, such as a Dell Latitude E7470.
The models resource allows you to manage the model names for your account. Model IDs can be used to POST new configurations.
A model name can belong to only one manufacturer and may be referenced by one or more configurations. Each configuration can specify one model name, but it's not required.
GET /models
List all models in your account.
GET /manufacturers/:manufacturer_id/relationships/models
List all models for a particular manufacturer.
Returns a list of model names for all manufacturers or for a specified manufacturer.
Example return value:
{
"data": [
{
"id": "1",
"type": "models",
"attributes": {
"name": "MX64",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
},
{
"id": "2",
"type": "models",
"attributes": {
"name": "MX80",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
},
{
"id": "3",
"type": "models",
"attributes": {
"name": "MX42",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
manufacturer_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Manufacturer Id in your Account
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
sort
optional
|
Validations:
-
Must be one of: id , name , manufacturer_id , created_at , updated_at .
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /models/:id
Retrieve a model.
GET /manufacturers/:manufacturer_id/relationships/models/:id
Retrieve a model for a particular manufacturer.
Returns the details of an existing model name.
Example return value:
{
"data": {
"id": "2",
"type": "models",
"attributes": {
"name": "MX80",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
manufacturer_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Manufacturer Id in your Account
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
POST /models
Create a model.
POST /manufacturers/:manufacturer_id/relationships/models
Create a model for a particular manufacturer.
Creates a model name under the manufacturer specified in the ID parameter. Returns the created object if successful. Use the nested relationships route to add multiple models to a manufacturer in bulk.
The request body must contain a JSON object, for example:
{
"data": {
"type": "models",
"attributes": {
"name": "MX80",
"manufacturer-id": 494
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
manufacturer_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Manufacturer Id in your Account
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][manufacturer_id]
optional
, nil allowed
|
Not required when using nested relationship routes
Validations:
|
data[attributes][name]
required
|
Validations:
|
PATCH /models/:id
Update a model.
PATCH /manufacturers/:manufacturer_id/relationships/models/:id
Update a model for a particular manufacturer.
Updates an existing model name. Returns 422 Bad Request error if trying to update an externally synced record.
The request body must contain a JSON object, for example:
{
"data": {
"type": "models",
"attributes": {
"name": "MX80",
"manufacturer-id": 494
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
manufacturer_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Manufacturer Id in your Account
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][manufacturer_id]
optional
, nil allowed
|
Not required when using nested relationship routes
Validations:
|
data[attributes][name]
optional
|
Validations:
|
PATCH /models
Update multiple models.
Updates a list of model names, also known as bulk updating. Bulk updates using a nested relationships route are not supported. Returns 422 Bad Request error if trying to update an externally synced record.
The request body must contain a JSON array with one or more objects:
{
"data": [
{
"type": "models",
"attributes": {
"id": 1,
"name": "MX64",
"manufacturer-id": 494
}
},
{
"type": "models",
"attributes": {
"id": 2,
"name": "MX80",
"manufacturer-id": 494
}
},
{
"type": "models",
"attributes": {
"id": 3,
"name": "MX42",
"manufacturer-id": 494
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “models”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[_][attributes][manufacturer_id]
optional
, nil allowed
|
Not required when using nested relationship routes
Validations:
|
data[_][attributes][name]
optional
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
Password Categories
A password category refers to the type categorization of a password.
This resource is used to manage information about your account's password types.
A password category may be referenced by one or more passwords. Each password can have one password category, but it's not required.
GET /password_categories
List all password categories.
Returns a list of password categories in your account.
Example return value:
{
"data": [
{
"id": "1",
"type": "password-categories",
"attributes": {
"name": "Application",
"created-at": "2018-02-23T00:57:22.000Z",
"updated-at": "2018-02-23T00:57:22.000Z",
"passwords-count": 85
}
},
{
"id": "2",
"type": "password-categories",
"attributes": {
"name": "Cloud",
"created-at": "2018-02-23T00:57:22.000Z",
"updated-at": "2018-02-23T00:57:22.000Z",
"passwords-count": 91
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[name]
optional
|
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /password_categories/:id
Retrieve a password category.
Returns the details of an existing password category.
Example return value:
{
"data": {
"id": "1",
"type": "password-categories",
"attributes": {
"name": "Application",
"created-at": "2018-02-23T00:57:22.000Z",
"updated-at": "2018-02-23T00:57:22.000Z",
"passwords-count": 85
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
POST /password_categories
Create a password category.
Creates a new password category in your account. Returns the created object if successful.
The request body must contain a JSON object, for example:
{
"data": {
"type": "password-categories",
"attributes": {
"name": "Active Directory"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
PATCH /password_categories/:id
Update a password category.
Updates a password category in your account.
The request body must contain a JSON object, for example:
{
"data": {
"type": "password-categories",
"attributes": {
"name": "Windows Server Active Directory"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
Configuration Statuses
A configuration status refers to the status that can be maintained on a configuration, for example, active or inactive.
This resource is used to manage information about configuration statuses for your account. Configuration status IDs can be used to POST new configurations.
A configuration status may be referenced by one ore more configurations. Each configuration can have one configuration status, but it's not required.
GET /configuration_statuses
List all configuration statuses.
Returns a list of the configuration statuses in your account.
Example return value:
{
"data": [
{
"id": "29",
"type": "configuration-statuses",
"attributes": {
"name": "Active",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
},
{
"id": "30",
"type": "configuration-statuses",
"attributes": {
"name": "Active (Not in Labtech)",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
},
{
"id": "31",
"type": "configuration-statuses",
"attributes": {
"name": "Inactive",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[name]
optional
|
exact match only
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /configuration_statuses/:id
Retrieve a configuration status.
Returns the details of an existing configuration status.
Example return value:
{
"data": {
"id": "29",
"type": "configuration-statuses",
"attributes": {
"name": "Active",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
POST /configuration_statuses
Create a configuration status.
Creates a new configuration status in your account. Returns the created object if successful.
The request body must contain a JSON object, for example:
{
"data": {
"type": "configuration-statuses",
"attributes": {
"name": "Active"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
PATCH /configuration_statuses/:id
Update a configuration status.
Updates a configuration status in your account. Returns 422 Bad Request error if trying to update an externally synced record.
The request body must contain a JSON object, for example:
{
"data": {
"type": "configuration-statuses",
"attributes": {
"name": "Inactive in last 6 months"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
Configurations
A configuration refers to a device you manage for a client organization.
The Configurations resource allows you to manage information about all configurations in your account.
A configuration can belong to only one organization. Each configuration can have a primary IP address, a primary MAC address, plus one or more additional IP and MAC addresses that are maintained in a separate Configuration Interfaces resource.
GET /configurations
List all configurations in your account.
GET /organizations/:organization_id/relationships/configurations
List all configurations for a particular organization.
Returns a list of configurations for all organizations or for a specified organization.
Example return value with the configuration_interfaces
parameter included:
{
"data": [
{
"id": "455",
"type": "configurations",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"resource-url": "https://mycompany.itglue.com/2/configurations/455",
"name": "HF-SF-CJ452JK",
"hostname": "HFSFCJ452JK",
"primary-ip": "10.10.2.231",
"mac-address": "18-5E-0F-ED-99-9J",
"serial-number": "C03R3LT7THV8",
"asset-tag": "BP6549",
"position": null,
"installed-by": null,
"purchased-by": null,
"notes": null,
"operating-system-notes": null,
"warranty-expires-at": "2018-05-05",
"installed-at": "2010-05-20",
"purchased-at": "2010-05-05",
"created-at": "2016-09-14T18:15:28.000Z",
"updated-at": "2016-09-29T20:55:16.000Z",
"organization-short-name": "happy",
"configuration-type-id": 65,
"configuration-type-name": "Managed Server",
"configuration-type-kind": "server",
"configuration-status-id": 29,
"configuration-status-name": "Active",
"manufacturer-id": 60,
"manufacturer-name": "Dell",
"model-id": 3,
"model-name": "Latitude E7470",
"operating-system-id": 4,
"operating-system-name": "Windows 10",
"location-id": null,
"location-name": null,
"archived": false
},
"relationships": {
"configuration-interfaces": {
"data": [
{
"id": "68",
"type": "configuration-interfaces"
},
{
"id": "78",
"type": "configuration-interfaces"
}
]
}
}
},
{
"id": "456",
"type": "configurations",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"resource-url": "https://mycompany.itglue.com/2/configurations/456",
"name": "HF-DET-SW01",
"hostname": null,
"primary-ip": "10.10.2.254",
"mac-address": null,
"serial-number": "FR554H",
"asset-tag": "3e23e",
"position": null,
"installed-by": null,
"purchased-by": null,
"notes": null,
"operating-system-notes": null,
"warranty-expires-at": "2018-02-27",
"installed-at": null,
"purchased-at": null,
"created-at": "2017-02-14T12:13:24.000Z",
"updated-at": "2016-04-19T10:31:16.000Z",
"organization-short-name": "happy",
"configuration-type-id": 42,
"configuration-type-name": "Switch",
"configuration-type-kind": "switch",
"configuration-status-id": 29,
"configuration-status-name": "Active",
"manufacturer-id": null,
"manufacturer-name": null,
"model-id": null,
"model-name": null,
"operating-system-id": null,
"operating-system-name": null,
"location-id": null,
"location-name": null,
"archived": true
},
"relationships": {
"configuration-interfaces": {
"data": [
{
"id": "115",
"type": "configuration-interfaces"
},
{
"id": "116",
"type": "configuration-interfaces"
}
]
}
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Organization Id in your Account
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
filter[configuration_type_id]
optional
|
Validations:
|
filter[configuration_status_id]
optional
|
Validations:
|
filter[contact_id]
optional
|
Validations:
|
filter[serial_number]
optional
|
Validations:
|
filter[mac_address]
optional
|
Validations:
|
filter[asset_tag]
optional
|
Validations:
|
filter[psa_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for psa_integration_type
|
filter[psa_integration_type]
optional
|
Validations:
-
Must be one of: manage , autotask , tigerpaw , kaseya-bms , pulseway-psa , vorex .
|
filter[rmm_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for rmm_integration_type
|
filter[rmm_integration_type]
optional
|
Validations:
-
Must be one of: addigy , aem , atera , auvik , managed-workplace , continuum , jamf-pro , kaseya-vsa , automate , log-me-in , msp-rmm , meraki , msp-n-central , ninja-rmm , panorama9 , pulseway-rmm , syncro , watchman-monitoring , office365 , vsa-x .
|
filter[archived]
optional
|
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
include
optional
|
Validations:
-
Must be one of: adapters_resources , configuration_interfaces , rmm_records , passwords , attachments , tickets , dnet_fa_remote_assets , user_resource_accesses , group_resource_accesses .
Metadata:
Param Type: CGI
Notes: Comma separated values
|
GET /configurations/:id
Retrieve a configuration.
GET /organizations/:organization_id/relationships/configurations/:id
Retrieve a configuration for a particular organization.
Returns the details of an existing configuration.
The following example demonstrates a return value for a request with the rmm_records
, configuration_interfaces
, and attachments
parameters included:
{
"data": {
"id": "455",
"type": "configurations",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"resource-url": "https://mycompany.itglue.com/2/configurations/455",
"name": "HF-SF-CJ452JK",
"hostname": "HFSFCJ452JK",
"primary-ip": "10.10.2.231",
"mac-address": "18-5E-0F-ED-99-9J",
"serial-number": "C03R3LT7THV8",
"asset-tag": "BP6549",
"position": null,
"installed-by": null,
"purchased-by": null,
"notes": null,
"operating-system-notes": null,
"warranty-expires-at": "2018-05-05",
"installed-at": "2010-05-20",
"purchased-at": "2010-05-05",
"created-at": "2016-09-14T18:15:28.000Z",
"updated-at": "2016-09-29T20:55:16.000Z",
"organization-short-name": "happy",
"configuration-type-id": 65,
"configuration-type-name": "Managed Server",
"configuration-type-kind": "server",
"configuration-status-id": 29,
"configuration-status-name": "Active",
"manufacturer-id": 60,
"manufacturer-name": "Dell",
"model-id": 3,
"model-name": "Latitude E7470",
"operating-system-id": 4,
"operating-system-name": "Windows 10",
"location-id": null,
"location-name": null,
"archived": true
},
"relationships": {
"attachments": {
"data": [
{
"id": "11296",
"type": "attachments"
}
]
},
"configuration-interfaces": {
"data": [
{
"id": "68",
"type": "configuration-interfaces"
},
{
"id": "78",
"type": "configuration-interfaces"
}
],
"rmm-records": {
"data": [
{
"id": "1",
"type": "rmm-records"
}
]
}
}
},
"included": [
{
"id": "11296",
"type": "attachments",
"attributes": {
"name": "HP_MSA_2040_Storage_Quickspecs.pdf",
"attachment-file-name": "HP_MSA_2040_Storage_Quickspecs.pdf",
"attachment-content-type": "application/pdf",
"attachment-file-size": 314368,
"ext": "pdf",
"viewable": false,
"download-url": "http://example.com/attachments/11296",
"created-at": "2018-03-01T23:14:18.000Z",
"updated-at": "2018-03-01T23:14:18.000Z"
}
},
{
"id": "1",
"type": "rmm-records",
"attributes": {
"name": "HF-SF-CJ452JK",
"cpu": "Intel Core i5-6200U @ 2.30GHz",
"device-type": "Workstation",
"disks": [
{
"name": "C:",
"used": 33809235968,
"total": 984920096768
}
],
"external-url": "RMM-URL-link to this configuration",
"hostname": "HFPSFCJ452JK",
"ip-addresses": [
"10.10.2.231"
],
"last-login-user": "root",
"last-reboot": "2017-02-10T01:33:04.000Z",
"last-seen-online": "2017-03-10T18:44:10.000Z",
"mac-addresses": [
"00-00-00-00-00-00",
"00-00-00-00-00-01",
"00-00-00-00-00-02",
],
"manufacturer-name": "Dell Inc.",
"memory-total": 8494514176,
"manufacturer-model-name": "Latitude E7470",
"ms-office-version": null,
"operating-system": "Windows 10",
"patches-applied": null,
"patches-total": null,
"serial-number": "C03R3LT7THV8"
},
"relationships": {
"configuration": {
"data": {
"id": "455",
"type": "configurations"
}
}
}
}
]
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Organization Id in your Account
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
include
optional
|
Validations:
-
Must be one of: adapters_resources , configuration_interfaces , rmm_records , rmm_adapters_resources , passwords , attachments , tickets , adapters_resources_errors , rmm_adapters_resources_errors , active_network_glue_network_devices , to_configuration_connections , from_configuration_connections , dnet_fa_remote_assets , user_resource_accesses , group_resource_accesses , recent_versions , related_items , authorized_users .
Metadata:
Param Type: CGI
Notes: Comma separated values
|
POST /configurations
Create a configuration.
POST /organizations/:organization_id/relationships/configurations
Create a configuration for a particular organization.
Creates a configuration under the organization specified in the ID parameter. Returns the created object if successful. Use the nested relationships route to add multiple configurations to an organization in bulk.
The request body must contain a JSON object, for example:
{
"data": {
"type": "configurations",
"attributes": {
"name": "HF-DET-SW01",
"configuration-type-id": 22,
"configuration-status-id": 2,
"manufacturer-id": 49,
"model-id": 6,
"operating-system-id": 11,
"location-id": 126
},
"relationships": {
"configuration_interfaces": {
"data": [
{
"type": "configuration_interfaces",
"attributes": {
"name": "Ethernet",
"ip-address": "10.10.2.254"
}
}
]
}
}
}
}
To create multiple configurations, the JSON object will look something like:
{
"data": [
{
"type": "configurations",
"attributes": {...},
"relationships": {...}
},
{
"type": "configurations",
"attributes": {...}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Organization Id in your Account
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][organization_id]
required
|
Not required when using nested relationship routes
Validations:
|
data[attributes][configuration_type_id]
required
|
Validations:
|
data[attributes][configuration_status_id]
optional
, nil allowed
|
Validations:
|
data[attributes][location_id]
optional
, nil allowed
|
Validations:
|
data[attributes][contact_id]
optional
, nil allowed
|
Validations:
|
data[attributes][manufacturer_id]
optional
, nil allowed
|
Validations:
|
data[attributes][model_id]
optional
, nil allowed
|
Validations:
|
data[attributes][operating_system_id]
optional
, nil allowed
|
Validations:
|
data[attributes][operating_system_notes]
optional
, nil allowed
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
data[attributes][notes]
optional
, nil allowed
|
Validations:
|
data[attributes][hostname]
optional
, nil allowed
|
Validations:
|
data[attributes][primary_ip]
optional
, nil allowed
|
IP4 and IP6 are supported
Validations:
|
data[attributes][mac_address]
optional
, nil allowed
|
17 Character limit
Validations:
|
data[attributes][default_gateway]
optional
, nil allowed
|
Validations:
|
data[attributes][serial_number]
optional
, nil allowed
|
Validations:
|
data[attributes][asset_tag]
optional
, nil allowed
|
Validations:
|
data[attributes][position]
optional
, nil allowed
|
Validations:
|
data[attributes][installed_by]
optional
, nil allowed
|
Validations:
|
data[attributes][purchased_by]
optional
, nil allowed
|
Validations:
|
data[attributes][purchased_at]
optional
, nil allowed
|
Validations:
|
data[attributes][warranty_expires_at]
optional
, nil allowed
|
Validations:
|
data[attributes][mitp_device_expiration_date]
optional
, nil allowed
|
Validations:
|
data[attributes][mitp_end_of_life_date]
optional
, nil allowed
|
Validations:
|
data[attributes][installed_at]
optional
, nil allowed
|
Validations:
|
data[attributes][restricted]
optional
, nil allowed
|
Validations:
|
data[attributes][archived]
optional
, nil allowed
|
Validations:
|
data[relationships]
optional
|
Not permitted in PUT/PATCH, optional in POST
Validations:
|
data[relationships][configuration_interfaces]
optional
|
Validations:
|
data[relationships][configuration_interfaces][data]
optional
|
Can contain multiple Interfaces
Validations:
|
data[relationships][configuration_interfaces][data][_]
optional
|
Nameless hash: should look like: {“type”: “configuration_interfaces”, “attributes”.…}
Validations:
|
data[relationships][configuration_interfaces][data][_][type]
required
|
Validations:
|
data[relationships][configuration_interfaces][data][_][attributes]
optional
|
Validations:
|
data[relationships][configuration_interfaces][data][_][attributes][name]
optional
|
Validations:
|
data[relationships][configuration_interfaces][data][_][attributes][ip_address]
optional
|
IP4 and IP6 are supported
Validations:
|
data[relationships][configuration_interfaces][data][_][attributes][mac_address]
optional
|
Must be a valid MAC address
Validations:
|
data[relationships][configuration_interfaces][data][_][attributes][primary]
optional
|
Validations:
|
data[relationships][configuration_interfaces][data][_][attributes][notes]
optional
|
Validations:
|
PATCH /configurations/:id
Update a configuration.
PATCH /organizations/:organization_id/relationships/configurations/:id
Update a configuration for a particular organization.
Updates the details of an existing configuration. Returns 422 Unprocessable Entity error if any relationships are present in the request. Returns 422 Unprocessable Entity error if trying to update an externally synced record on attributes other than: archived, asset_tag, notes, purchased_at, restricted, serial_number, warranty_expires_at, mitp_device_expiration_date, mitp_end_of_life_date
A PATCH request does not require that the entire object resource with all of its attributes be enclosed. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON object, for example:
{
"data": {
"type": "configurations",
"attributes": {
"name": "HF-SF-SW01",
"hostname": "HFSFSW01",
"location-id": 126
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Organization Id in your Account
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][organization_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[attributes][configuration_type_id]
optional
|
Validations:
|
data[attributes][configuration_status_id]
optional
, nil allowed
|
Validations:
|
data[attributes][location_id]
optional
, nil allowed
|
Validations:
|
data[attributes][contact_id]
optional
, nil allowed
|
Validations:
|
data[attributes][manufacturer_id]
optional
, nil allowed
|
Validations:
|
data[attributes][model_id]
optional
, nil allowed
|
Validations:
|
data[attributes][operating_system_id]
optional
, nil allowed
|
Validations:
|
data[attributes][operating_system_notes]
optional
, nil allowed
|
Validations:
|
data[attributes][name]
optional
|
Validations:
|
data[attributes][notes]
optional
, nil allowed
|
Validations:
|
data[attributes][hostname]
optional
, nil allowed
|
Validations:
|
data[attributes][primary_ip]
optional
, nil allowed
|
IP4 and IP6 are supported
Validations:
|
data[attributes][mac_address]
optional
, nil allowed
|
17 Character limit
Validations:
|
data[attributes][default_gateway]
optional
, nil allowed
|
Validations:
|
data[attributes][serial_number]
optional
, nil allowed
|
Validations:
|
data[attributes][asset_tag]
optional
, nil allowed
|
Validations:
|
data[attributes][position]
optional
, nil allowed
|
Validations:
|
data[attributes][installed_by]
optional
, nil allowed
|
Validations:
|
data[attributes][purchased_by]
optional
, nil allowed
|
Validations:
|
data[attributes][purchased_at]
optional
, nil allowed
|
Validations:
|
data[attributes][warranty_expires_at]
optional
, nil allowed
|
Validations:
|
data[attributes][mitp_device_expiration_date]
optional
, nil allowed
|
Validations:
|
data[attributes][mitp_end_of_life_date]
optional
, nil allowed
|
Validations:
|
data[attributes][installed_at]
optional
, nil allowed
|
Validations:
|
data[attributes][restricted]
optional
, nil allowed
|
Validations:
|
data[attributes][archived]
optional
, nil allowed
|
Validations:
|
PATCH /configurations
Update multiple configurations.
Updates a list of items, also known as bulk updating. Bulk updates using a nested relationships route are not supported. Returns 422 Unprocessable Entity error if any relationships are present in the request. Returns 422 Unprocessable Entity error if trying to update an externally synced record on attributes other than: archived, asset_tag, notes, purchased_at, restricted, serial_number, warranty_expires_at, mitp_device_expiration_date, mitp_end_of_life_date
The bulk update PATCH format is one that is similar to the response returned from a GET on a list resource. It will accept a partial representation of objects, as long as the required parameters are present. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON array with one or more objects, for example:
{
"data": [
{
"type": "configurations",
"attributes": {
"id": "456",
"location-id": 126
}
},
{
"type": "configurations",
"attributes": {
"id": "455",
"location-id": 126
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “configurations”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[_][attributes][organization_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[_][attributes][configuration_type_id]
optional
|
Validations:
|
data[_][attributes][configuration_status_id]
optional
, nil allowed
|
Validations:
|
data[_][attributes][location_id]
optional
, nil allowed
|
Validations:
|
data[_][attributes][contact_id]
optional
, nil allowed
|
Validations:
|
data[_][attributes][manufacturer_id]
optional
, nil allowed
|
Validations:
|
data[_][attributes][model_id]
optional
, nil allowed
|
Validations:
|
data[_][attributes][operating_system_id]
optional
, nil allowed
|
Validations:
|
data[_][attributes][operating_system_notes]
optional
, nil allowed
|
Validations:
|
data[_][attributes][name]
optional
|
Validations:
|
data[_][attributes][notes]
optional
, nil allowed
|
Validations:
|
data[_][attributes][hostname]
optional
, nil allowed
|
Validations:
|
data[_][attributes][primary_ip]
optional
, nil allowed
|
IP4 and IP6 are supported
Validations:
|
data[_][attributes][mac_address]
optional
, nil allowed
|
17 Character limit
Validations:
|
data[_][attributes][default_gateway]
optional
, nil allowed
|
Validations:
|
data[_][attributes][serial_number]
optional
, nil allowed
|
Validations:
|
data[_][attributes][asset_tag]
optional
, nil allowed
|
Validations:
|
data[_][attributes][position]
optional
, nil allowed
|
Validations:
|
data[_][attributes][installed_by]
optional
, nil allowed
|
Validations:
|
data[_][attributes][purchased_by]
optional
, nil allowed
|
Validations:
|
data[_][attributes][purchased_at]
optional
, nil allowed
|
Validations:
|
data[_][attributes][warranty_expires_at]
optional
, nil allowed
|
Validations:
|
data[_][attributes][mitp_device_expiration_date]
optional
, nil allowed
|
Validations:
|
data[_][attributes][mitp_end_of_life_date]
optional
, nil allowed
|
Validations:
|
data[_][attributes][installed_at]
optional
, nil allowed
|
Validations:
|
data[_][attributes][restricted]
optional
, nil allowed
|
Validations:
|
data[_][attributes][archived]
optional
, nil allowed
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
filter[configuration_type_id]
optional
|
Validations:
|
filter[configuration_status_id]
optional
|
Validations:
|
filter[contact_id]
optional
|
Validations:
|
filter[serial_number]
optional
|
Validations:
|
filter[mac_address]
optional
|
Validations:
|
filter[asset_tag]
optional
|
Validations:
|
filter[psa_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for psa_integration_type
|
filter[psa_integration_type]
optional
|
Validations:
-
Must be one of: manage , autotask , tigerpaw , kaseya-bms , pulseway-psa , vorex .
|
filter[rmm_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for rmm_integration_type
|
filter[rmm_integration_type]
optional
|
Validations:
-
Must be one of: addigy , aem , atera , auvik , managed-workplace , continuum , jamf-pro , kaseya-vsa , automate , log-me-in , msp-rmm , meraki , msp-n-central , ninja-rmm , panorama9 , pulseway-rmm , syncro , watchman-monitoring , office365 , vsa-x .
|
filter[archived]
optional
|
Validations:
|
DELETE /configurations
Delete multiple configurations.
DELETE /organizations/:organization_id/relationships/configurations
Delete multiple configurations for a particular organization.
Deletes one or more specified configurations. Returns the deleted configurations and a 200 status code if successful.
Below is a sample request body with a JSON array to delete multiple objects:
{
"data": [
{
"type": "configurations",
"attributes": {
"id": 2
}
},
{
"type": "configurations",
"attributes": {
"id": 4
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
Notes: Cannot be used in combination with filter
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “configurations”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
required
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
filter[configuration_type_id]
optional
|
Validations:
|
filter[configuration_status_id]
optional
|
Validations:
|
filter[contact_id]
optional
|
Validations:
|
filter[serial_number]
optional
|
Validations:
|
filter[mac_address]
optional
|
Validations:
|
filter[asset_tag]
optional
|
Validations:
|
filter[psa_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for psa_integration_type
|
filter[psa_integration_type]
optional
|
Validations:
-
Must be one of: manage , autotask , tigerpaw , kaseya-bms , pulseway-psa , vorex .
|
filter[rmm_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for rmm_integration_type
|
filter[rmm_integration_type]
optional
|
Validations:
-
Must be one of: addigy , aem , atera , auvik , managed-workplace , continuum , jamf-pro , kaseya-vsa , automate , log-me-in , msp-rmm , meraki , msp-n-central , ninja-rmm , panorama9 , pulseway-rmm , syncro , watchman-monitoring , office365 , vsa-x .
|
filter[archived]
optional
|
Validations:
|
Contacts
A contact refers to a contact in a client organization.
The Contacts resource allows you to manage information about all contacts in your account.
A contact can belong to only one organization. Each contact can have one location, which is maintained as a separate Locations resource.
GET /contacts
List all contacts in your account.
GET /organizations/:organization_id/relationships/contacts
List all contacts for a particular organization.
Returns a list of contacts for all organizations or for a specified organization.
Example return value:
{
"data": [
{
"id": "72",
"type": "contacts",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"name": "Robert Storts",
"first-name": "Robert",
"last-name": "Storts",
"title": "Director of IT",
"contact-type-id": 24,
"contact-type-name": "Approver",
"location-id": null,
"location-name": null,
"important": null,
"notes": null,
"created-at": "2016-09-12T19:10:26.000Z",
"updated-at": "2016-09-12T19:10:26.000Z",
"contact-emails": [
{
"value": "robert@happyfrog.itglue.com",
"primary": true,
"label-name": "Work"
}
],
"contact-phones": [
{
"value": "4155552156",
"extension": null,
"primary": true,
"label-name": "Work",
"label-type": "phone",
"formatted-value": "(415) 555-2156"
},
{
"value": "8134890123",
"extension": null,
"primary": false,
"label-name": "Cell",
"label-type": "phone",
"formatted-value": "(813) 489-0123"
}
]
}
},
{
"id": "73",
"type": "contacts",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"name": "John Morgan",
"first-name": "John",
"last-name": "Morgan",
"title": "VP Operations",
"contact-type-id": 24,
"contact-type-name": "Approver",
"location-id": null,
"location-name": null,
"important": true,
"notes": null,
"created-at": "2016-09-12T19:10:26.000Z",
"updated-at": "2016-09-12T19:10:26.000Z",
"contact-emails": [
{
"value": "john.morgan@happyfrog.itglue.com",
"primary": true,
"label-name": "Work"
},
{
"value": "john@home.com",
"primary": false,
"label-name": "Home"
}
],
"contact-phones": [
{
"value": "4155557673",
"extension": null,
"primary": true,
"label-name": "Work",
"label-type": "phone",
"formatted-value": "(415) 555-7673"
}
]
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Organization Id in your Account
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[first_name]
optional
|
Validations:
|
filter[last_name]
optional
|
Validations:
|
filter[title]
optional
|
Validations:
|
filter[contact_type_id]
optional
|
Validations:
|
filter[important]
optional
|
Validations:
|
filter[primary_email]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
filter[psa_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for psa_integration_type
|
filter[psa_integration_type]
optional
|
Validations:
-
Must be one of: manage , autotask , tigerpaw , kaseya-bms , pulseway-psa , vorex .
|
sort
optional
|
Validations:
-
Must be one of: first_name , last_name , id , created_at , updated_at .
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
include
optional
|
Validations:
-
Must be one of: adapters_resources , location , passwords , attachments , tickets , distinct_remote_contacts , resource_fields , user_resource_accesses , group_resource_accesses .
Metadata:
Param Type: CGI
Notes: Comma separated values
|
GET /contacts/:id
Retrieve a contact.
GET /organizations/:organization_id/relationships/contacts/:id
Retrieve a contact for a particular organization.
Returns the details of an existing contact.
Example return value:
{
"data": {
"id": "72",
"type": "contacts",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"name": "Robert Storts",
"first-name": "Robert",
"last-name": "Storts",
"title": "Director of IT",
"contact-type-id": 24,
"contact-type-name": "Approver",
"location-id": null,
"location-name": null,
"important": null,
"notes": null,
"created-at": "2016-09-12T19:10:26.000Z",
"updated-at": "2016-09-12T19:10:26.000Z",
"contact-emails": [
{
"value": "robert@happyfrog.itglue.com",
"primary": true,
"label-name": "Work"
}
],
"contact-phones": [
{
"value": "4155552156",
"extension": null,
"primary": true,
"label-name": "Work",
"label-type": "phone",
"formatted-value": "(415) 555-2156"
},
{
"value": "8134890123",
"extension": null,
"primary": false,
"label-name": "Cell",
"label-type": "phone",
"formatted-value": "(813) 489-0123"
}
]
},
"relationships": {
"attachments": {
"data": [
{
"id": "1",
"type": "attachments"
}
]
}
},
"included": [
{
"id": "1",
"type": "attachments",
"attributes": {
"name": "xxx.txt",
"attachment-file-name": "xxx.txt",
"attachment-content-type": "text/x-ruby-script",
"attachment-file-size": 314368,
"ext": "txt",
"viewable": true,
"download-url": "/download/url",
"created-at": "2018-03-01T23:14:18.000Z",
"updated-at": "2018-03-01T23:14:18.000Z"
}
}
]
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Organization Id in your Account
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
include
optional
|
Validations:
-
Must be one of: adapters_resources , location , passwords , attachments , tickets , distinct_remote_contacts , resource_fields , user_resource_accesses , group_resource_accesses , recent_versions , related_items , authorized_users .
Metadata:
Param Type: CGI
Notes: Comma separated values
|
POST /contacts
Create a contact.
POST /organizations/:organization_id/relationships/contacts
Create a contact for a particular organization.
Creates a contact under the organization specified in the organization_id parameter. Returns the created object if successful. Use the nested relationships route to add multiple contacts to an organization in bulk.
The request body must contain a JSON object, for example:
{
"data": {
"type": "contacts",
"attributes": {
"first-name": "Jackie",
"last-name": "Tilds",
"title": "Account Executive",
"location-id": 795,
"contact-emails": [
{
"value": "jackie@happyfrog.itglue.com",
"primary": true,
"label-name": "Work"
}
],
"contact-phones": [
{
"value": "3135552015",
"extension": null,
"primary": true,
"label-name": "Work"
},
{
"value": "3134325679",
"extension": null,
"primary": false,
"label-name": "Home"
}
]
}
}
}
To create multiple configurations, the JSON object will look something like:
{
"data": [
{
"type": "contacts",
"attributes": {...},
"relationships": {...}
},
{
"type": "contacts",
"attributes": {...}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Organization Id in your Account
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][organization_id]
required
|
Not required when using nested relationship routes
Validations:
|
data[attributes][contact_type_id]
optional
, nil allowed
|
Validations:
|
data[attributes][location_id]
optional
, nil allowed
|
Validations:
|
data[attributes][first_name]
optional
, nil allowed
|
Validations:
|
data[attributes][last_name]
optional
, nil allowed
|
Validations:
|
data[attributes][title]
optional
, nil allowed
|
Validations:
|
data[attributes][important]
optional
, nil allowed
|
Validations:
|
data[attributes][notes]
optional
, nil allowed
|
Validations:
|
data[attributes][restricted]
optional
, nil allowed
|
Validations:
|
data[contact_emails]
optional
|
Can contain multiple emails
Validations:
|
data[contact_emails][_]
optional
|
Nameless hash, should look like: {“value”: “email@company.com”, “primary”: true, …}
Validations:
|
data[contact_emails][_][value]
required
|
Must be a valid email address format
Validations:
|
data[contact_emails][_][label_name]
required
|
Validations:
|
data[contact_emails][_][primary]
optional
|
Defaults to false if not provided.
Validations:
|
data[contact_phones]
optional
|
Can contain multiple phones
Validations:
|
data[contact_phones][_]
optional
|
Nameless hash: should look like: {“value”: “2341112233”, “primary”: true, …}
Validations:
|
data[contact_phones][_][value]
required
|
Phone numbers are stripped of all separators.
Validations:
|
data[contact_phones][_][label_name]
required
|
Validations:
|
data[contact_phones][_][extension]
optional
|
Phone extensions are stripped of all separators.
Validations:
|
data[contact_phones][_][primary]
optional
|
Defaults to false if not provided.
Validations:
|
data[contact_phones][_][label_type]
optional
|
Defaults to phone if not provided.
Validations:
|
PATCH /contacts/:id
Update a contact.
PATCH /organizations/:organization_id/relationships/contacts/:id
Update a contact for a particular organization.
Updates the details of an existing contact. Returns 422 Bad Request error if trying to update an externally synced record.
A PATCH request does not require that the entire object resource with all of its attributes be enclosed. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON object, for example:
{
"data": {
"type": "contacts",
"attributes": {
"location-id": 795,
"location-name": "San Francisco - HQ"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Organization Id in your Account
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][organization_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[attributes][contact_type_id]
optional
, nil allowed
|
Validations:
|
data[attributes][location_id]
optional
, nil allowed
|
Validations:
|
data[attributes][first_name]
optional
, nil allowed
|
Validations:
|
data[attributes][last_name]
optional
, nil allowed
|
Validations:
|
data[attributes][title]
optional
, nil allowed
|
Validations:
|
data[attributes][important]
optional
, nil allowed
|
Validations:
|
data[attributes][notes]
optional
, nil allowed
|
Validations:
|
data[attributes][restricted]
optional
, nil allowed
|
Validations:
|
data[contact_emails]
optional
|
Can contain multiple emails
Validations:
|
data[contact_emails][_]
optional
|
Nameless hash, should look like: {“value”: “email@company.com”, “primary”: true, …}
Validations:
|
data[contact_emails][_][value]
required
|
Must be a valid email address format
Validations:
|
data[contact_emails][_][label_name]
required
|
Validations:
|
data[contact_emails][_][primary]
optional
|
Defaults to false if not provided.
Validations:
|
data[contact_phones]
optional
|
Can contain multiple phones
Validations:
|
data[contact_phones][_]
optional
|
Nameless hash: should look like: {“value”: “2341112233”, “primary”: true, …}
Validations:
|
data[contact_phones][_][value]
required
|
Phone numbers are stripped of all separators.
Validations:
|
data[contact_phones][_][label_name]
required
|
Validations:
|
data[contact_phones][_][extension]
optional
|
Phone extensions are stripped of all separators.
Validations:
|
data[contact_phones][_][primary]
optional
|
Defaults to false if not provided.
Validations:
|
data[contact_phones][_][label_type]
optional
|
Defaults to phone if not provided.
Validations:
|
PATCH /contacts
Update multiple contacts.
Updates a list of contacts, also known as bulk updating. Bulk updates using a nested relationships route are not supported. Returns 422 Bad Request error if trying to update an externally synced record.
The bulk update PATCH format is one that is similar to the response returned from a GET on a list resource. It will accept a partial representation of objects, as long as the required parameters are present. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON array with one or more objects:
{
"data": [
{
"type": "contacts",
"attributes": {
"id": 72,
"location-id": 795,
"location-name": "San Francisco - HQ"
}
},
{
"type": "contacts",
"attributes": {
"id": 73,
"location-id": 795,
"location-name": "San Francisco - HQ"
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “contacts”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[_][attributes][organization_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[_][attributes][contact_type_id]
optional
, nil allowed
|
Validations:
|
data[_][attributes][location_id]
optional
, nil allowed
|
Validations:
|
data[_][attributes][first_name]
optional
, nil allowed
|
Validations:
|
data[_][attributes][last_name]
optional
, nil allowed
|
Validations:
|
data[_][attributes][title]
optional
, nil allowed
|
Validations:
|
data[_][attributes][important]
optional
, nil allowed
|
Validations:
|
data[_][attributes][notes]
optional
, nil allowed
|
Validations:
|
data[_][attributes][restricted]
optional
, nil allowed
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[first_name]
optional
|
Validations:
|
filter[last_name]
optional
|
Validations:
|
filter[title]
optional
|
Validations:
|
filter[contact_type_id]
optional
|
Validations:
|
filter[important]
optional
|
Validations:
|
filter[primary_email]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
filter[psa_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for psa_integration_type
|
filter[psa_integration_type]
optional
|
Validations:
-
Must be one of: manage , autotask , tigerpaw , kaseya-bms , pulseway-psa , vorex .
|
DELETE /contacts
Delete multiple contacts.
DELETE /organizations/:organization_id/relationships/contacts
Delete multiple contacts for a particular organization.
Deletes one or more specified contacts. Returns the deleted contacts and a 200 status code if successful.
Below is a sample request body with a JSON array to delete multiple objects:
{
"data": [
{
"type": "contacts",
"attributes": {
"id": 2
}
},
{
"type": "contacts",
"attributes": {
"id": 10
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid Organization Id in your Account
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
Notes: Cannot be used in combination with filter
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “contacts”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
required
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[first_name]
optional
|
Validations:
|
filter[last_name]
optional
|
Validations:
|
filter[title]
optional
|
Validations:
|
filter[contact_type_id]
optional
|
Validations:
|
filter[important]
optional
|
Validations:
|
filter[primary_email]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
filter[psa_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for psa_integration_type
|
filter[psa_integration_type]
optional
|
Validations:
-
Must be one of: manage , autotask , tigerpaw , kaseya-bms , pulseway-psa , vorex .
|
Copilot Smart Assist
Endpoints which are providing functionality for Copilot Smart Assist feature
The “Co-Pilot Clean Up” feature is designed to enhance IT Glue's documentation management by offering a dedicated section for users to efficiently organize and declutter their workspace.
This innovative feature aims to streamline documentation processes by providing valuable insights into document usage and relevancy. Users will be able to identify and act on documents not viewed within a customizable timeframe, never-viewed documents, expired documents, and duplicates.
GET /copilot_smart_assist/documents
Retrieve Copilot Smart Assist Documents
Offer analytics on documentation usage, such as 'Documents not viewed in X amount of time', 'Documents that were never viewed', 'Documents that are expired', and 'Duplicate documents'.
Present a list of 'Most Used' documents to facilitate best practices across organizations (when filter by type is not provided).
Example return value:
{
"data": [
{
"id": "1",
"type": "documents",
"attributes": {
"organization-id": 1,
"organization-name": "Documents",
"resource-url": "https://mycompany.itglue.com/2/1/docs/1",
"restricted": false,
"my-glue": false,
"name": "Testing doc",
"created-at": "2024-07-24T16:41:53.300Z",
"updated-at": "2024-08-12T15:25:18.936Z",
"document-folder-id": null,
"is-uploaded": false,
"user-id": 1,
"published-by": 1,
"published-at": "2024-08-12T15:25:18.923Z",
"folder-name": [],
"support-office-online": false,
"office-online-resource-url": "https://mycompany.itglue.com/2/docs/1",
"last-viewed-at": "2024-08-12T15:25:19.674Z",
"expires-on": "2024-08-01",
"related-items-count": 1,
"updater-name": "Test ITG",
"updater-path": "/users/1"
},
"relationships": {}
}
],
"meta": {
"current-page": 1,
"next-page": 2,
"prev-page": null,
"total-pages": 36,
"total-count": 359,
"filters": {},
"stale": 845,
"not_viewed": 5121,
"expired": 1
},
"links": {
"self": "https://mycompany.itglue.com/copilot_smart_assist/documents?page%5Bnumber%5D=1&page%5Bsize%5D=10",
"first": "https://mycompany.itglue.com/copilot_smart_assist/documents?page%5Bnumber%5D=1&page%5Bsize%5D=10",
"prev": null,
"next": "https://mycompany.itglue.com/copilot_smart_assist/documents?page%5Bnumber%5D=2&page%5Bsize%5D=10",
"last": "https://mycompany.itglue.com/copilot_smart_assist/documents?page%5Bnumber%5D=17958&page%5Bsize%5D=10"
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
422 |
Unprocessable Entity |
Params
Param name |
Description |
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[type]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
PATCH /copilot_smart_assist/documents
Archive multiple documents under Account scope
PATCH /organizations/:organization_id/copilot_smart_assist/documents
Archive multiple documents under Organization scope
Updates a list of items, also known as bulk updating. The bulk update PATCH format is one that is similar to the response returned from a GET on a list resource. It will accept a partial representation of objects, as long as the required parameters are present.
Any attributes you don't specify will remain unchanged.
Bulk updates using a nested relationships route are not supported.
The request body must contain a JSON array with one or more objects, for example:
{
"data": [
{
"type": "documents",
"attributes": {
"id": 1,
"archived": true,
}
}
]
}
Supported Formats
json
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[type]
optional
|
Validations:
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
Notes: Cannot be used in combination with filter
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “documents”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
optional
|
Validations:
|
data[_][attributes][archived]
required
|
Validations:
|
DELETE /copilot_smart_assist/documents
Delete multiple documents under Account scope
DELETE /organizations/:organization_id/copilot_smart_assist/documents
Delete multiple documents under Organization scope
Deletes one or more specified documents. Returns the deleted documents and a 200 status code if successful.
Below is a sample request body with a JSON array to delete multiple objects:
{
"data": [
{
"type": "documents",
"attributes": {
"id": 2
}
},
{
"type": "documents",
"attributes": {
"id": 4
}
}
]
}
Supported Formats
json
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[type]
optional
|
Validations:
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
Notes: Cannot be used in combination with filter
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “documents”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
optional
|
Validations:
|
data[_][attributes][archived]
required
|
Validations:
|
Expirations
An expiration refers to a date associated with another resource's expiration
The Expirations resource allows you to view collected information about the expiration dates for your assets. To create, update or delete an expiration, a request must be made to the expiration's associated resource's endpoint.
A single expiration can belong to only one resource in one organization, but expirations can come from any organization.
GET /expirations
List all expirations in your account.
GET /organizations/:organization_id/relationships/expirations
List all expirations for a particular organization.
Returns a list of expirations for all organizations or for a specified organization.
Example return value:
{
"data": [
{
"id": "1",
"type": "expirations",
"attributes": {
"organization-id": 1,
"organization-name": "Happy Frog",
"resource-url": "https://example.com/1/expirations/1",
"description": "Domain expiration",
"expiration-date": "2019-02-07T00:00:00.000Z",
"created-at": "2019-01-10T12:24:27.000Z",
"updated-at": "2019-01-10T12:24:27.000Z",
"resource-id": 1,
"resource-type": "Domain",
"resource-type-name": "Domain",
"resource-name": "example.com"
},
"relationships": {}
},
{
"id": "2",
"type": "expirations",
"attributes": {
"organization-id": 1,
"organization-name": "Happy Frog",
"resource-url": "https://example.com/1/expirations/1",
"description": "Domain expiration",
"expiration-date": "2019-02-07T00:00:00.000Z",
"created-at": "2019-01-10T12:24:43.000Z",
"updated-at": "2019-01-10T12:24:43.000Z",
"resource-id": 2,
"resource-type": "Domain",
"resource-type-name": "Domain",
"resource-name": "example.com"
},
"relationships": {}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route.
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid organization ID in your account.
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[resource_id]
optional
|
Validations:
|
filter[resource_name]
optional
|
Validations:
|
filter[resource_type_name]
optional
|
Validations:
|
filter[description]
optional
|
Validations:
|
filter[expiration_date]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
filter[range]
optional
|
To filter on a specific range, supply two comma-separated values (e.g. “2, 10” is filtering for all that are greater than or equal to 2 and less than or equal to 10). Or, an asterisk ( * ) can filter on values either greater than or equal to (e.g. “2, *”), or less than or equal to (“*, 10”)
Validations:
Metadata:
Param Type: CGI
|
filter[range][expiration_date]
optional
|
Validations:
|
sort
optional
|
Validations:
-
Must be one of: id , organization_id , expiration_date , created_at , updated_at .
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /expirations/:id
Retrieve an expiration.
GET /organizations/:organization_id/relationships/expirations/:id
Retrieve an expiration for a particular organization.
Returns a single expiration with the given ID or a single expiration for a specified organization.
Example return value:
{
"data": {
"id": "1",
"type": "expirations",
"attributes": {
"organization-id": 1,
"organization-name": "Happy Frog",
"resource-url": "https://example.com/1/expirations/1",
"description": "Domain expiration",
"expiration-date": "2019-02-07T00:00:00.000Z",
"created-at": "2019-01-10T12:24:27.000Z",
"updated-at": "2019-01-10T12:24:27.000Z",
"resource-id": 1,
"resource-type": "Domain",
"resource-type-name": "Domain",
"resource-name": "example.com"
},
"relationships": {}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route.
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid organization ID in your account.
|
Exports
An export refers to a data export of either a single organization or current account.
This resource allows you to manage exports on your account.
An export can only belong to one account. Each export can have data for a single organization that belongs to current account or for all organizations of the current account.
GET /exports
List all exports for current account.
Returns a list of exports in your account.
Example return value:
{
"data": [
{
"id": "2",
"type": "exports",
"attributes": {
"organization-id": 7,
"organization-name": "Happy Frog",
"include-logs": false,
"export-all": false,
"encrypted-status": true,
"download-url": "https://itglue.com/export.zip",
"created-at": "2022-02-28T21:56:58.000Z",
"updated-at": "2022-02-28T21:57:34.000Z"
}
},
{
"id": "3",
"type": "exports",
"attributes": {
"organization-id": null,
"organization-name": null,
"include-logs": true,
"export-all": true,
"encrypted-status": false,
"download-url": null,
"created-at": "2022-03-01T03:52:43.000Z",
"updated-at": "2022-03-01T03:52:43.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /exports/:id
Retrieve a export.
'Retrieve a particular export for current account.'
Example return value:
{
"data": {
"id": "2",
"type": "exports",
"attributes": {
"organization-id": 7,
"organization-name": "Happy Frog",
"include-logs": false,
"export-all": false,
"encrypted-status": true,
"download-url": "https://itglue.com/export.zip",
"created-at": "2022-02-28T21:56:58.000Z",
"updated-at": "2022-02-28T21:57:34.000Z"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
include
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
POST /exports
Create a exports.
Creates a new export under the current account. The new export will be for a single organization if organization_id is specified; otherwise The new export will be for all organizations of the current account. Returns the created export record if successful.
The actual export attachment will be created later after the export record is created. Please check back using show endpoint, you will see a downloadable url when the record shows done.
The request body must contain a JSON object, for example:
{
"data": {
"type": "exports",
"attributes": {
"organization-id": 1,
"include-logs": true,
"zip-password": "password"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
type
required
|
Validations:
|
attributes
required
|
Validations:
|
attributes[organization_id]
optional
, nil allowed
|
Validations:
|
attributes[include_logs]
optional
, nil allowed
|
Defaults to false if not provided
Validations:
|
attributes[zip_password]
optional
, nil allowed
|
Validations:
|
DELETE /exports/:id
Delete a exports.
Delete an export. Returns a 204 status code if successful.
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
User Metrics
A user metric refers to a raw metric used to calculate the reputation score of a user.
The User Metrics resource allows you to retrieve information about user metrics. These metrics are used by the engagement feature to calculate reputation scores.
A user metric covers all create, read, update, destroy (CRUD) activity done by a specified user, broken down by resource type.
UTC dates and date filters are available to allow metrics to be broken down into specific time periods up to one week and then offset to local time.
GET /user_metrics
List all user metrics.
Returns a list of the user metrics in your account.
Example return value:
{
"data": [
{
"id": "23948",
"type": "user-metrics",
"attributes": {
"user-id": 54,
"organization-id": 226,
"resource-type": "Active Directory",
"created": 1,
"viewed": 5,
"edited": 1,
"deleted": 0,
"date": "2017-08-27"
}
},
{
"id": "23947",
"type": "user-metrics",
"attributes": {
"user-id": 54,
"organization-id": 226,
"resource-type": "Configuration",
"created": 2,
"viewed": 24,
"edited": 3,
"deleted": 1,
"date": "2017-08-27"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[user_id]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
filter[resource_type]
optional
|
Validations:
|
filter[date]
optional
|
The specified string must be a date range and comma-separated as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` or `end_date`. Date ranges longer than a week may be disallowed for performance reasons.
Validations:
|
sort
optional
|
Validations:
-
Must be one of: id , created , viewed , edited , deleted , date .
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
Users
A user refers to anyone who can authenticate to IT Glue.
This resource allows you to retrieve information about the users in your account.
Reputation Scores
The returned data for each user will include their reputation score from the engagement feature in IT Glue. This score reflects all actions taken in the account for as long as the account has existed. The following point system is used:
-
Created - 10 points
-
Updated - 5 points
-
Viewed - 1 points
The raw user metrics used to calculate scores are continually tracked for each user and reputation scores updated on an hourly basis. These raw metrics are part of a separate User Metrics resource.
GET /users
List all users.
Returns a list of the users in your account.
Example return value:
{
"data": [
{
"id": "35",
"type": "users",
"attributes": {
"first-name": "Carl",
"last-name": "Beck",
"role-name": "Editor",
"email": "carl.beck@krakentechs.com",
"avatar": "",
"invitation-sent-at": "2016-10-12T21:15:00.000Z",
"invitation-accepted-at": "2016-10-12T21:15:00.000Z",
"current-sign-in-at": "2016-10-12T21:15:00.000Z",
"current-sign-in-ip": 127.0.0.1,
"last-sign-in-at": "2016-10-12T21:15:00.000Z",
"last-sign-in-ip": 127.0.0.1,
"reputation": 6543,
"my-glue": false,
"my-glue-account-id": null
}
},
{
"id": "36",
"type": "users",
"attributes": {
"first-name": "Larry",
"last-name": null,
"role-name": "Creator",
"email": "larry.watson@krakentechs.com",
"avatar": "",
"invitation-sent-at": "2016-10-12T21:15:00.000Z",
"invitation-accepted-at": "2016-10-12T21:15:00.000Z",
"current-sign-in-at": "2016-10-12T21:15:00.000Z",
"current-sign-in-ip": 127.0.0.1,
"last-sign-in-at": "2016-10-12T21:15:00.000Z",
"last-sign-in-ip": 127.0.0.1,
"reputation": 4927,
"my-glue": false,
"my-glue-account-id": null
}
},
{
"id": "37",
"type": "users",
"attributes": {
"first-name": "Jackie",
"last-name": "Tilds",
"role-name": "Lite",
"email": "jackie@happyfrog.itglue.com",
"avatar": "",
"invitation-sent-at": "2016-10-12T21:15:00.000Z",
"invitation-accepted-at": "2016-10-12T21:15:00.000Z",
"current-sign-in-at": "2016-10-12T21:15:00.000Z",
"current-sign-in-ip": 127.0.0.1,
"last-sign-in-at": "2016-10-12T21:15:00.000Z",
"last-sign-in-ip": 127.0.0.1,
"reputation": 4749,
"my-glue": true,
"my-glue-account-id": 2
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
exact match only
Validations:
|
filter[email]
optional
|
Validations:
|
filter[role_name]
optional
|
Validations:
|
filter[salesforce_id]
optional
|
Validations:
|
sort
optional
|
Validations:
-
Must be one of: name , email , reputation , id , created_at , updated_at .
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /users/:id
Retrieve a user.
Returns information about one user.
Example return value:
{
"data": {
"id": "35",
"type": "users",
"attributes": {
"first-name": "Carl",
"last-name": "Beck",
"role-name": "Editor",
"email": "carl.beck@krakentechs.com",
"avatar": "",
"invitation-sent-at": "2016-10-12T21:15:00.000Z",
"invitation-accepted-at": "2016-10-12T21:15:00.000Z",
"current-sign-in-at": "2016-10-12T21:15:00.000Z",
"current-sign-in-ip": 127.0.0.1,
"last-sign-in-at": "2016-10-12T21:15:00.000Z",
"last-sign-in-ip": 127.0.0.1,
"reputation": 6543,
"my-glue": true,
"my-glue-account-id": 2
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
PATCH /users/:id
Update a user.
Updates the name or profile picture (avatar) of an existing user.
The request body must contain a JSON object, for example:
{
"data": {
"type": "users",
"attributes": {
"id": 36,
"first-name": "Larry",
"last-name": "Watson",
"avatar": {
"content": "R0lGODlhABAQAIAAAAAAAP///yH7BAEAAAAALAAAAAAEAABAAAIBRAA5",
"file_name": "test_file_name_2"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][first_name]
optional
, nil allowed
|
Validations:
|
data[attributes][last_name]
optional
, nil allowed
|
Validations:
|
data[attributes][avatar]
optional
, nil allowed
|
A hash of avatar data or an empty hash to remove
Validations:
|
data[attributes][avatar][content]
optional
, nil allowed
|
A base64-encoded image
Validations:
|
data[attributes][avatar][file_name]
optional
, nil allowed
|
The image file name
Validations:
|
Attachments
An attachment refers to a file upload associated with an asset.
This resource allows you to manage all attachments in your account. Note that attachments are accessed from the relevant endpoints (GET /configurations, GET /passwords, etc.) using the include=attachments
parameter to return the file attachments in the relationships attributes of the requested objects. Example: /configurations/1?include=attachments
An attachment can belong to only one asset. Each asset can have relationships with one or more attachments.
POST /:resource_type/:resource_id/relationships/attachments
Create an attachment for a specific object ID.
Attaches a file to the asset specified in the ID parameter. Returns the created object if successful. Can also be used to add multiple attachments to an asset in bulk.
Attachments are uploaded by including media data on the asset the attachment is associated with. Attachments can be encoded and passed in JSON format for direct upload, in which case the file has to be strict encoded. You need to convert it using something like www.freeformatter.com/base64-encoder.html. This produces a string of text that goes into the content
field. Note that the name of the attachment displayed on the asset view screen will be taken from the file_name
attribute.
The request body must contain a JSON object, for example:
{
"data": {
"type": "attachments",
"attributes": {
"attachment": {
"content": "R0lGODlhABAQAIAAAAAAAP///yH7BAEAAAAALAAAAAAEAABAAAIBRAA5",
"file_name": "test.png"
}
}
}
}
To create multiple attachments, the JSON object will look something like:
{
"data": [
{
"type": "attachments",
"attributes": {
"attachment": {
"content": "R0lGODlhABAQAIAAAAAAAP///yH7BAEAAAAALAAAAAAEAABAAAIBRAA5",
"file_name": "test.png"
}
}
},
{
"type": "attachments",
"attributes": {...}
}
]
}
Multipart requests can also be used to create attachment with uploaded file. Here is a sample curl request:
curl -v \
-H "Content-Type: multipart/form-data" \
-H "x-api-key: ITG.**************************" \
-X POST \
-F "data[type]=attachments" \
-F "data[attributes][attachment]=@test.png" \
http://api.itglue.com/api/configurations/1/relationships/attachments'
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
resource_type
required
|
The resource type of the parent resource
Validations:
-
Must be one of: checklists , checklist_templates , configurations , contacts , documents , domains , locations , passwords , ssl_certificates , flexible_assets , tickets .
Metadata:
Param Type: In URL
|
resource_id
required
|
The resource id of the parent resource.
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][attachment]
required
|
Can be an uploaded file if multipart is used, or a JSON with Base64 encoded content as following:
"attachment": {
"content": "<Base64 code of the uploaded file>",
"file_name": "test.png"
}
Validations:
|
PATCH /:resource_type/:resource_id/relationships/attachments/:id
Update an attachment for a particular resource.
Updates the details of an existing attachment. Only the attachment name that is displayed on the asset view screen can be changed. The original file_name
can't be changed.
The request body must contain a JSON object, for example:
{
"data": {
"type": "attachments",
"attributes": {
"name": "new_name.png"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
resource_type
required
|
The resource type of the parent resource
Validations:
-
Must be one of: checklists , checklist_templates , configurations , contacts , documents , domains , locations , passwords , ssl_certificates , flexible_assets , tickets .
Metadata:
Param Type: In URL
|
resource_id
required
|
The resource id of the parent resource.
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
required
|
Validations:
Metadata:
Param Type: In URL
|
data[attributes][name]
required
|
Validations:
|
DELETE /:resource_type/:resource_id/relationships/attachments
Delete multiple attachments.
Deletes one or more specified attachments. Returns the deleted attachments and a 200 status code if successful.
Below is a sample request body with a JSON array to delete multiple objects:
{
"data": [
{
"type": "attachments",
"attributes": {
"id": 2
}
},
{
"type": "attachments",
"attributes": {
"id": 4
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
resource_type
required
|
The resource type of the parent resource
Validations:
-
Must be one of: checklists , checklist_templates , configurations , contacts , documents , domains , locations , passwords , ssl_certificates , flexible_assets , tickets .
Metadata:
Param Type: In URL
|
resource_id
required
|
The resource id of the parent resource.
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
Notes: Cannot be used in combination with filter
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “attachments”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
required
|
Validations:
|
Platforms
A platform refers to a type of operating system software, such as Windows or macOS, upon which applications or services are built.
The platform resource allows you to retrieve information about the platforms that IT Glue supports. Platform IDs can be used to POST new configurations.
Supported platforms may be referenced by one or more configurations. Each configuration can have one platform, but it's not required.
GET /platforms
List all platforms.
Returns a list of supported platforms.
Example return value:
{
"data": [
{
"id": "1",
"type": "platforms",
"attributes": {
"name": "Mac OS",
"created-at": "2016-10-12T21:15:00.000Z",
"updated-at": "2016-10-12T21:15:00.000Z"
}
},
{
"id": "2",
"type": "platforms",
"attributes": {
"name": "Windows",
"created-at": "2016-10-12T21:15:00.000Z",
"updated-at": "2016-10-12T21:15:00.000Z"
}
},
{
"id": "3",
"type": "platforms",
"attributes": {
"name": "Linux",
"created-at": "2016-10-12T21:15:00.000Z",
"updated-at": "2016-10-12T21:15:00.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[name]
optional
|
exact match only
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /platforms/:id
Retrieve a platform.
Returns details of one of the supported platforms.
Example return value:
{
"data": {
"id": "1",
"type": "platforms",
"attributes": {
"name": "Mac OS",
"created-at": "2016-10-12T21:15:00.000Z",
"updated-at": "2016-10-12T21:15:00.000Z"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
Flexible Asset Types
A flexible asset type refers to a set of custom fields that can be used to generate structured documentation.
This resource lets you create and access information about the flexible asset types in your account. Flexible asset type IDs and flexible asset field name-key
values can be used to POST new flexible assets.
The different flexible asset types let you document different parts of the IT infrastructure. For example, LAN is one flexible asset type, Backup is another, and Email yet another.
Note that when a flexible asset type is created with a flexible asset field, this creates a flexible asset field object. If the flexible asset field object is updated, this also updates the flexible asset type.
GET /flexible_asset_types
List all flexible asset types.
Returns a list of flexible asset types in your account.
Example return value:
{
"data": [
{
"id": "33",
"type": "flexible-asset-types",
"attributes": {
"name": "Email",
"description": "Email Platform Information",
"created-at": "2017-07-27T16:20:43.000Z",
"updated-at": "2017-07-27T16:20:43.000Z",
"icon": "envelope",
"show-in-menu": true
},
"relationships": {
"flexible-asset-fields": {
"data": [
{
"id": "401",
"type": "flexible-asset-fields"
},
{
"id": "402",
"type": "flexible-asset-fields"
}
]
}
}
},
{
"id": "34",
"type": "flexible-asset-types",
"attributes": {
"name": "File Sharing",
"description": "Network File Shares",
"created-at": "2017-07-27T16:20:43.000Z",
"updated-at": "2017-07-27T16:20:43.000Z",
"icon": "file",
"show-in-menu": true
},
"relationships": {
"flexible-asset-fields": {
"data": [
{
"id": "425",
"type": "flexible-asset-fields"
},
{
"id": "426",
"type": "flexible-asset-fields"
}
]
}
}
},
{
"id": "35",
"type": "flexible-asset-types",
"attributes": {
"name": "LAN",
"description": "LAN Configuration",
"created-at": "2017-07-27T16:20:43.000Z",
"updated-at": "2017-07-27T16:20:43.000Z",
"icon": "arrows",
"show-in-menu": true
},
"relationships": {
"flexible-asset-fields": {
"data": [
{
"id": "490",
"type": "flexible-asset-fields"
},
{
"id": "491",
"type": "flexible-asset-fields"
}
]
}
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
Validations:
|
filter[icon]
optional
|
Validations:
|
filter[enabled]
optional
|
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
include
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
GET /flexible_asset_types/:id
Retrieve a flexible asset type.
Returns the details of an existing flexible asset type.
The following example demonstrates a return value for a request with the flexible_asset_fields
parameter included :
{
"data": {
"id": "33",
"type": "flexible-asset-types",
"attributes": {
"name": "Email",
"description": "Email Platform Information",
"created-at": "2017-07-27T16:20:43.000Z",
"updated-at": "2017-07-27T16:20:43.000Z",
"icon": "envelope",
"show-in-menu": true
},
"relationships": {
"flexible-asset-fields": {
"data": [
{
"id": "401",
"type": "flexible-asset-fields"
},
{
"id": "402",
"type": "flexible-asset-fields"
},
{
"id": "403",
"type": "flexible-asset-fields"
},
{
"id": "404",
"type": "flexible-asset-fields"
},
{
"id": "405",
"type": "flexible-asset-fields"
},
{
"id": "406",
"type": "flexible-asset-fields"
}
]
}
}
},
"included": [
{
"id": 401,
"type": "flexible-asset-fields",
"attributes": {
"flexible-asset-type-id": 33,
"order": 1,
"name": "Domains",
"kind": "Tag",
"hint": "Tag accepted domains for this email system",
"decimals": 0,
"default-value": null,
"tag-type": "Domains",
"required": true,
"use-for-title": false,
"expiration": false,
"show-in-list": true,
"name-key": "domains",
"created-at": "2017-07-27T16:20:43.000Z",
"updated-at": "2017-07-27T16:20:43.000Z"
},
"relationships": {
"flexible-asset-type": {
"data": {
"id": "33",
"type": "flexible-asset-types"
}
}
}
},
{
"id": 402,
"type": "flexible-asset-fields",
"attributes": {
"flexible-asset-type-id": 33,
"order": 2,
"name": "Type",
"kind": "Select",
"hint": "Select the email platform",
"decimals": 0,
"default-value": "Office 365\nExchange 2016\nExchange 2013\nGoogle Apps\nPOP/IMAP",
"tag-type": null,
"required": true,
"use-for-title": true,
"expiration": false,
"show-in-list": true,
"name-key": "type",
"created-at": "2017-07-27T16:20:43.000Z",
"updated-at": "2017-07-27T16:20:43.000Z"
},
"relationships": {
"flexible-asset-type": {
"data": {
"id": "33",
"type": "flexible-asset-types"
}
}
}
},
{
"id": 403,
"type": "flexible-asset-fields",
"attributes": {
"flexible-asset-type-id": 33,
"order": 3,
"name": "Email Servers",
"kind": "Tag",
"hint": "Tag server(s) participating in email delivery",
"decimals": 0,
"default-value": null,
"tag-type": "Configurations",
"required": false,
"use-for-title": false,
"expiration": false,
"show-in-list": true,
"name-key": "email-servers",
"created-at": "2017-07-27T16:20:43.000Z",
"updated-at": "2017-07-27T16:20:43.000Z"
},
"relationships": {
"flexible-asset-type": {
"data": {
"id": "33",
"type": "flexible-asset-types"
}
}
}
},
{
"id": 404,
"type": "flexible-asset-fields",
"attributes": {
"flexible-asset-type-id": 33,
"order": 4,
"name": "Location",
"kind": "Select",
"hint": "Where is email hosted",
"decimals": 0,
"default-value": "Cloud\nOn-Premises",
"tag-type": null,
"required": false,
"use-for-title": false,
"expiration": false,
"show-in-list": true,
"name-key": "location",
"created-at": "2017-07-27T16:20:43.000Z",
"updated-at": "2017-07-27T16:20:43.000Z"
},
"relationships": {
"flexible-asset-type": {
"data": {
"id": "33",
"type": "flexible-asset-types"
}
}
}
},
{
"id": 405,
"type": "flexible-asset-fields",
"attributes": {
"flexible-asset-type-id": 33,
"order": 5,
"name": "Inbound Delivery",
"kind": "Select",
"hint": "How is inbound email delivered",
"decimals": 0,
"default-value": "Office 365\nGoogle\nProofpoint\nMimecast\nReflexion",
"tag-type": null,
"required": false,
"use-for-title": false,
"expiration": false,
"show-in-list": true,
"name-key": "inbound-delivery",
"created-at": "2017-07-27T16:20:43.000Z",
"updated-at": "2017-07-27T16:20:43.000Z"
},
"relationships": {
"flexible-asset-type": {
"data": {
"id": "33",
"type": "flexible-asset-types"
}
}
}
},
{
"id": 406,
"type": "flexible-asset-fields",
"attributes": {
"flexible-asset-type-id": 33,
"order": 6,
"name": "Webmail URL",
"kind": "Text",
"hint": null,
"decimals": 0,
"default-value": null,
"tag-type": null,
"required": false,
"use-for-title": false,
"expiration": false,
"show-in-list": true,
"name-key": "webmail-url",
"created-at": "2017-07-27T16:20:43.000Z",
"updated-at": "2017-07-27T16:20:43.000Z"
},
"relationships": {
"flexible-asset-type": {
"data": {
"id": "33",
"type": "flexible-asset-types"
}
}
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
include
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
POST /flexible_asset_types
Create a flexible asset type.
Creates a new flexible asset type in your account. Returns the created object if successful. Use the nested relationships route to add multiple flexible asset fields to a flexible asset type in bulk.
The request body must contain a JSON object, for example:
{
"data": {
"type": "flexible_asset_types",
"attributes": {
"name": "Email",
"description": "Email Platform Information",
"icon": "envelope",
"show-in-menu": true
},
"relationships": {
"flexible-asset-fields": {
"data": [
{
"type": "flexible_asset_fields",
"attributes": {
"order": 1,
"name": "Domains",
"kind": "Tag",
"hint": "Tag accepted domains for this email system",
"tag-type": "Domains",
"required": true,
"show-in-list": true
}
},
{
"type": "flexible_asset_fields",
"attributes": {
"order": 2,
"name": "Type",
"kind": "Select",
"hint": "Select the email platform",
"default-value": "Office 365\nExchange 2016\nExchange 2013\nGoogle Apps\nPOP/IMAP",
"required": true,
"use-for-title": true,
"show-in-list": true
}
},
{
"type": "flexible_asset_fields",
"attributes": {
"order": 3,
"name": "Email Servers",
"kind": "Tag",
"hint": "Tag server(s) participating in email delivery",
"tag-type": "Configurations",
"show-in-list": true
}
},
{
"type": "flexible_asset_fields",
"attributes": {
"order": 4,
"name": "Location",
"kind": "Select",
"hint": "Where is the email hosted",
"default-value": "Cloud\nOn-Premises"
}
},
{
"type": "flexible_asset_fields",
"attributes": {
"order": 5,
"name": "Inbound Delivery",
"kind": "Select",
"hint": "How is inbound email delivered",
"default-value": "Office 365\nGoogle\nProofpoint\nMimecast\nReflexion",
"show-in-list": true
}
},
{
"type": "flexible_asset_fields",
"attributes": {
"order": 6,
"name": "Webmail URL",
"kind": "Text",
"show-in-list": true
}
}
]
}
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
415 |
Unsupported Media Type |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][name]
required
|
Validations:
|
data[attributes][description]
optional
, nil allowed
|
Validations:
|
data[attributes][icon]
optional
, nil allowed
|
icon image name
Validations:
|
data[attributes][enabled]
optional
, nil allowed
|
Validations:
|
data[attributes][fields]
required
|
List of fields for this flexible asset type; each flexible asset type must have at least one field and at least one field with show_in_list set to true
Validations:
|
data[attributes][fields][id]
optional
, nil allowed
|
Required identifier for updates
Validations:
|
data[attributes][fields][flexible_asset_type_id]
required
|
Not required when using nested relationship routes
Validations:
|
data[attributes][fields][order]
required
|
Validations:
|
data[attributes][fields][name]
required
|
Validations:
|
data[attributes][fields][kind]
required
|
Kind cannot be changed once there are traits created for the field
Validations:
-
Must be one of: Checkbox , Date , Header , Number , Select , Text , Textbox , Upload , Tag , Percent , Password .
|
data[attributes][fields][hint]
optional
, nil allowed
|
Validations:
|
data[attributes][fields][decimals]
optional
, nil allowed
|
A non-negative required value if field type is Number or Percent
Validations:
|
data[attributes][fields][default_value]
optional
, nil allowed
|
Required if field type is Select
Validations:
|
data[attributes][fields][tag_type]
optional
, nil allowed
|
Validations:
-
Must be one of: AccountsUsers , Checklists , ChecklistTemplates , Contacts , Configurations , Documents , Domains , Passwords , Locations , Organizations , SslCertificates , Tickets , FlexibleAssetType: id .
|
data[attributes][fields][required]
optional
, nil allowed
|
Indicates if the field is required for the flexible asset; it will be set to false if the field type is Header
Validations:
|
data[attributes][fields][use_for_title]
optional
, nil allowed
|
Indicates if the field name should be added to the flexible asset name; it will be set to false if the field type is one of: Checkbox, Header, Number, Password, Percent, Step, Tag, Textbox, Upload
Validations:
|
data[attributes][fields][expiration]
optional
, nil allowed
|
Validations:
|
data[attributes][fields][show_in_list]
optional
, nil allowed
|
Validations:
|
data[relationships]
optional
|
Not permitted in PUT/PATCH, optional in POST
Validations:
|
data[relationships][flexible_asset_fields]
optional
|
Validations:
|
data[relationships][flexible_asset_fields][data]
optional
|
Can contain multiple Flexible Asset Fields
Validations:
|
data[relationships][flexible_asset_fields][data][_]
optional
|
Nameless hash: should look like: {“type”: “flexible_asset_fields”, “attributes”.…}
Validations:
|
data[relationships][flexible_asset_fields][data][_][type]
required
|
Validations:
|
data[relationships][flexible_asset_fields][data][_][attributes]
optional
|
Validations:
|
data[relationships][flexible_asset_fields][data][_][attributes][order]
required
|
Validations:
|
data[relationships][flexible_asset_fields][data][_][attributes][name]
required
|
Validations:
|
data[relationships][flexible_asset_fields][data][_][attributes][kind]
required
|
Kind cannot be changed once there are traits created for the field
Validations:
-
Must be one of: Checkbox , Date , Header , Number , Select , Text , Textbox , Upload , Tag , Percent , Password .
|
data[relationships][flexible_asset_fields][data][_][attributes][hint]
optional
|
Validations:
|
data[relationships][flexible_asset_fields][data][_][attributes][decimals]
optional
|
A non-negative required value if field type is Number or Percent
Validations:
|
data[relationships][flexible_asset_fields][data][_][attributes][default_value]
optional
|
Required if field type is Select
Validations:
|
data[relationships][flexible_asset_fields][data][_][attributes][tag_type]
optional
|
Validations:
-
Must be one of: AccountsUsers , Checklists , ChecklistTemplates , Contacts , Configurations , Documents , Domains , Passwords , Locations , Organizations , SslCertificates , Tickets , FlexibleAssetType: id .
|
data[relationships][flexible_asset_fields][data][_][attributes][required]
optional
|
Indicates if the field is required for the flexible asset; it will be set to false if the field type is Header
Validations:
|
data[relationships][flexible_asset_fields][data][_][attributes][use_for_title]
optional
|
Indicates if the field name should be added to the flexible asset name; it will be set to false if the field type is one of: Checkbox, Header, Number, Password, Percent, Step, Tag, Textbox, Upload
Validations:
|
data[relationships][flexible_asset_fields][data][_][attributes][expiration]
optional
|
Validations:
|
data[relationships][flexible_asset_fields][data][_][attributes][show_in_list]
optional
|
Validations:
|
PATCH /flexible_asset_types/:id
Update a flexible asset type
Updates the details of an existing flexible asset type in your account. Returns 422 Unprocessable Entity error if any relationships are present in the request.
A PATCH request does not require that the entire object resource with all of its attributes be enclosed. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON object, for example:
{
"data": {
"type": "flexible_asset_types",
"attributes": {
"name": "Email Archive"
"description": "Archived Email Platform Information",
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][name]
optional
|
Validations:
|
data[attributes][description]
optional
, nil allowed
|
Validations:
|
data[attributes][icon]
optional
, nil allowed
|
icon image name
Validations:
|
data[attributes][enabled]
optional
, nil allowed
|
Validations:
|
data[attributes][fields]
required
|
List of fields for this flexible asset type; each flexible asset type must have at least one field and at least one field with show_in_list set to true
Validations:
|
data[attributes][fields][id]
optional
, nil allowed
|
Required identifier for updates
Validations:
|
data[attributes][fields][flexible_asset_type_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[attributes][fields][order]
optional
|
Validations:
|
data[attributes][fields][name]
optional
|
Validations:
|
data[attributes][fields][kind]
optional
|
Kind cannot be changed once there are traits created for the field
Validations:
-
Must be one of: Checkbox , Date , Header , Number , Select , Text , Textbox , Upload , Tag , Percent , Password .
|
data[attributes][fields][hint]
optional
, nil allowed
|
Validations:
|
data[attributes][fields][decimals]
optional
, nil allowed
|
A non-negative required value if field type is Number or Percent
Validations:
|
data[attributes][fields][default_value]
optional
, nil allowed
|
Required if field type is Select
Validations:
|
data[attributes][fields][tag_type]
optional
, nil allowed
|
Validations:
-
Must be one of: AccountsUsers , Checklists , ChecklistTemplates , Contacts , Configurations , Documents , Domains , Passwords , Locations , Organizations , SslCertificates , Tickets , FlexibleAssetType: id .
|
data[attributes][fields][required]
optional
, nil allowed
|
Indicates if the field is required for the flexible asset; it will be set to false if the field type is Header
Validations:
|
data[attributes][fields][use_for_title]
optional
, nil allowed
|
Indicates if the field name should be added to the flexible asset name; it will be set to false if the field type is one of: Checkbox, Header, Number, Password, Percent, Step, Tag, Textbox, Upload
Validations:
|
data[attributes][fields][expiration]
optional
, nil allowed
|
Validations:
|
data[attributes][fields][show_in_list]
optional
, nil allowed
|
Validations:
|
Regions
A region refers to a subdivision of a country, such as a province, state, etc.
The Regions resource allows you to retrieve information about the region names that IT Glue supports. Region IDs can be used to POST new locations.
Supported regions may be referenced by one or more locations. Each location can have one region, but it's not required.
GET /regions
List all regions.
GET /countries/:country_id/relationships/regions
List all regions for a particular country.
Returns a list of supported regions.
Example return value:
{
"data": [
{
"id": "1",
"type": "regions",
"attributes": {
"name": "Alberta",
"iso": "AB",
"country-id": 1
}
},
{
"id": "2",
"type": "regions",
"attributes": {
"name": "British Columbia",
"iso": "BC",
"country-id": 1
}
},
{
"id": "3",
"type": "regions",
"attributes": {
"name": "Manitoba",
"iso": "MB",
"country-id": 1
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
country_id
required
|
Only required for nested relationships route.
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid country ID.
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[name]
optional
|
exact match only
Validations:
|
filter[iso]
optional
|
Validations:
|
filter[country_id]
optional
|
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /regions/:id
Retrieve a region.
GET /countries/:country_id/relationships/regions/:id
Retrieve a region for a paricular country.
Returns the details of one of the supported regions.
Example return value:
{
"data": {
"id": "1",
"type": "regions",
"attributes": {
"name": "Alberta",
"iso": "AB",
"country-id": 1
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
country_id
required
|
Only required for nested relationships route.
Validations:
Metadata:
Param Type: In URL
:Notes: Must be a valid country ID.
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
Contact Types
A contact type refers to the type categorization of a contact, for example, an approver or an owner.
This resource is used to manage information about contact types for your account. Contact type IDs can be used to POST new contacts.
A contact type may be referenced by one or more contacts. Each contact can have one contact type, but it's not required.
GET /contact_types
List all contact types.
Returns a list of contact types in your account.
Example return value:
{
"data": [
{
"id": "24",
"type": "contact-types",
"attributes": {
"name": "Approver",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
},
{
"id": "25",
"type": "contact-types",
"attributes": {
"name": "Champion",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
},
{
"id": "26",
"type": "contact-types",
"attributes": {
"name": "Decision Maker",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[name]
optional
|
exact match only
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /contact_types/:id
Retrieve a contact type.
Returns the details of an existing contact type.
Example return value:
{
"data": {
"id": "24",
"type": "contact-types",
"attributes": {
"name": "Approver",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
POST /contact_types
Create a new contact type.
Creates a new contact type in your account. Returns the created object if successful.
The request body must contain a JSON object, for example:
{
"data": {
"type": "contact-types",
"attributes": {
"name": "Approver"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
PATCH /contact_types/:id
Update a contact type.
Updates a contact type in your account. Returns 422 Bad Request error if trying to update an externally synced record.
The request body must contain a JSON object, for example:
{
"data": {
"type": "contact-types",
"attributes": {
"name": "No Longer Employed"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
Domains
A domain refers to a domain name, such as example.com.
The Domains resource allows you to retrieve information about all domains in your account.
A domain can belong to only one organization.
GET /domains
List all domains in your account.
GET /organizations/:organization_id/relationships/domains
List all domains for a particular organization.
Returns a list of domains for all organizations or for a specified organization.
Example return value:
{
"data": [
{
"id": "1",
"type": "domains",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"resource-url": "https://example.com/1/domains/1",
"name": "happyfrog.itglue.com",
"screenshot": "/system/domains/screenshots/000/000/003/thumb/httphappyfrogcom.png?1488587288",
"registrar-name": "MarkMonitor, Inc.",
"notes": null,
"expires-on": "2020-09-14T04:00:00.000Z",
"updated-at": "2017-03-04T00:28:09.000Z"
}
},
{
"id": "2",
"type": "domains",
"attributes": {
"organization-id": 3,
"organization-name": "Kraken Techs",
"resource-url": "https://example.com/2/domains/2",
"name": "krakentechs.com",
"screenshot": "/system/domains/screenshots/000/000/003/thumb/httpkrakentechscom.png?1488587288",
"registrar-name": "MarkMonitor Inc.",
"notes": null,
"expires-on": "2020-09-14T00:00:00.000Z",
"updated-at": "2017-07-26T22:05:01.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route.
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid organization ID in your account.
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
include
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
Locations
A location refers to a physical location and address where a client's users may work.
The Locations resource allows you to manage client location information in your account.
A location can belong to only one organization. Each configuration or contact can have one location, but it's not required.
GET /locations
List all locations in your account.
GET /organizations/:organization_id/relationships/locations
List all locations for a particular organization.
Returns a list of locations for all organizations or for a specified organization.
Example return value:
{
"data": [
{
"id": "795",
"type": "locations",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"name": "San Francisco - HQ",
"primary": true,
"address-1": "120 Kearny Street",
"address-2": "Unit 508",
"city": "San Francisco",
"postal-code": "94108",
"region-id": 26,
"region-name": "California",
"country-id": 84,
"country-name": "United States",
"phone": "4152132000",
"fax": "4152132004",
"notes": null,
"created-at": "2016-11-08T23:02:06.000Z",
"updated-at": "2016-11-08T23:02:06.000Z",
"formatted-phone": "(415) 213-2000",
"formatted-fax": "(415) 213-2004"
}
},
{
"id": "796",
"type": "locations",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"name": "Detroit - Finance",
"primary": false,
"address-1": "2014 E Madison Street",
"address-2": "Ste 400",
"city": "Detroit",
"postal-code": "98122",
"region-id": 102,
"region-name": "Michigan",
"country-id": 84,
"country-name": "United States",
"phone": "3137182000",
"fax": "3137182002",
"notes": null,
"created-at": "2016-11-08T23:02:06.000Z",
"updated-at": "2016-11-08T23:02:06.000Z",
"formatted-phone": "(313) 718-2000",
"formatted-fax": "(313) 718-2002"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route.
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid organization ID in your account.
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
Validations:
|
filter[city]
optional
|
Validations:
|
filter[region_id]
optional
|
Validations:
|
filter[country_id]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
filter[psa_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for psa_integration_type
|
filter[psa_integration_type]
optional
|
Validations:
-
Must be one of: manage , autotask , tigerpaw , kaseya-bms , pulseway-psa , vorex .
|
sort
optional
|
Validations:
-
Must be one of: name , id , primary , created_at , updated_at .
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
include
optional
|
Validations:
-
Must be one of: adapters_resources , attachments , passwords , user_resource_accesses , group_resource_accesses .
Metadata:
Param Type: CGI
Notes: Comma separated values
|
GET /locations/:id
Retrieve a location.
GET /organizations/:organization_id/relationships/locations/:id
Retrieve a location for a particular organization.
Returns the details of an existing location.
Example return value:
{
"data": {
"id": "795",
"type": "locations",
"attributes": {
"organization-id": 2,
"organization-name": "Happy Frog",
"name": "San Francisco - HQ",
"primary": true,
"address-1": "120 Kearny Street",
"address-2": "Unit 508",
"city": "San Francisco",
"postal-code": "94108",
"region-id": 26,
"region-name": "California",
"country-id": 84,
"country-name": "United States",
"phone": "4152132000",
"fax": "4152132004",
"notes": null,
"created-at": "2016-11-08T23:02:06.000Z",
"updated-at": "2016-11-08T23:02:06.000Z",
"formatted-phone": "(415) 213-2000",
"formatted-fax": "(415) 213-2004"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route.
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid organization ID in your account.
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
include
optional
|
Validations:
-
Must be one of: adapters_resources , attachments , passwords , user_resource_accesses , group_resource_accesses , recent_versions , related_items , authorized_users .
Metadata:
Param Type: CGI
Notes: Comma separated values
|
POST /locations
Create a location
POST /organizations/:organization_id/relationships/locations
Create a location for a particular organization.
Creates a new location under the specified organization. The :organization_id is specified in the URL or in the request body for `/locations` route. Returns a 201 status on success; the created object is returned the response body.
The request body must contain a JSON object, for example:
{
"data": {
"type": "locations",
"attributes": {
"organization_id": 1,
"name": "Main",
"address_1": "1550 Bryant St",
"address_2": "7th Floor",
"City": "San Francisco",
"postal_code": "94103",
"region_id": 26,
"country_id": 84
}
}
}
Use the nested relationships route to add multiple locations to an organization in bulk.
The request body must contain a JSON object, for example:
{
"data": [
{
"type": "locations",
"attributes": {
"name": "Main",
"address_1": "1550 Bryant St",
"address_2": "7th Floor",
"City": "San Francisco",
"postal_code": "94103",
"region_id": 26,
"country_id": 84
}
},
{
"type": "locations",
"attributes": {
"name": "IBM Nederland BV",
"address_1": "Johan Huizingalaan 765",
"address_2": null,
"City": "Amsterdam",
"postal_code": "1066 VH",
"phone": "310205145452"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route.
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid organization ID in your account.
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][organization_id]
required
|
Not required when using nested relationship routes
Validations:
|
data[attributes][name]
required
|
Validations:
|
data[attributes][primary]
optional
, nil allowed
|
Validations:
|
data[attributes][address_1]
optional
, nil allowed
|
Validations:
|
data[attributes][address_2]
optional
, nil allowed
|
Validations:
|
data[attributes][city]
optional
, nil allowed
|
Validations:
|
data[attributes][postal_code]
optional
, nil allowed
|
Validations:
|
data[attributes][region_id]
optional
, nil allowed
|
Validations:
|
data[attributes][country_id]
optional
, nil allowed
|
Validations:
|
data[attributes][phone]
optional
, nil allowed
|
Validations:
|
data[attributes][fax]
optional
, nil allowed
|
Validations:
|
data[attributes][notes]
optional
, nil allowed
|
Validations:
|
data[attributes][restricted]
optional
, nil allowed
|
Validations:
|
PATCH /locations/:id
Update a location.
PATCH /organizations/:organization_id/relationships/locations/:id
Update a location for a particular organization.
Updates the details of an existing location. Returns 422 Bad Request error if trying to update an externally synced record.
A PATCH request does not require that the entire object resource with all of its attributes be enclosed. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON object, for example:
{
"data": {
"type": "locations",
"attributes": {
"name": "Downtown San Francisco"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
organization_id
required
|
Only required for nested relationships route.
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid organization ID in your account.
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][organization_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[attributes][name]
optional
|
Validations:
|
data[attributes][primary]
optional
, nil allowed
|
Validations:
|
data[attributes][address_1]
optional
, nil allowed
|
Validations:
|
data[attributes][address_2]
optional
, nil allowed
|
Validations:
|
data[attributes][city]
optional
, nil allowed
|
Validations:
|
data[attributes][postal_code]
optional
, nil allowed
|
Validations:
|
data[attributes][region_id]
optional
, nil allowed
|
Validations:
|
data[attributes][country_id]
optional
, nil allowed
|
Validations:
|
data[attributes][phone]
optional
, nil allowed
|
Validations:
|
data[attributes][fax]
optional
, nil allowed
|
Validations:
|
data[attributes][notes]
optional
, nil allowed
|
Validations:
|
data[attributes][restricted]
optional
, nil allowed
|
Validations:
|
PATCH /locations
Update multiple locations.
Updates a list of locations, also known as bulk updating. Bulk updates using a nested relationships route are not supported. Returns 422 Bad Request error if trying to update an externally synced record.
The bulk update PATCH format is one that is similar to the response returned from a GET on a list resource. It will accept a partial representation of objects, as long as the required parameters are present. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON array with one or more objects:
{
"data": [
{
"type": "locations",
"attributes": {
"id": 795,
"name": "San Francisco - Main"
}
},
{
"type": "locations",
"attributes": {
"id": 796,
"name": "North Detroit - Finance"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “locations”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[_][attributes][organization_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[_][attributes][name]
optional
|
Validations:
|
data[_][attributes][primary]
optional
, nil allowed
|
Validations:
|
data[_][attributes][address_1]
optional
, nil allowed
|
Validations:
|
data[_][attributes][address_2]
optional
, nil allowed
|
Validations:
|
data[_][attributes][city]
optional
, nil allowed
|
Validations:
|
data[_][attributes][postal_code]
optional
, nil allowed
|
Validations:
|
data[_][attributes][region_id]
optional
, nil allowed
|
Validations:
|
data[_][attributes][country_id]
optional
, nil allowed
|
Validations:
|
data[_][attributes][phone]
optional
, nil allowed
|
Validations:
|
data[_][attributes][fax]
optional
, nil allowed
|
Validations:
|
data[_][attributes][notes]
optional
, nil allowed
|
Validations:
|
data[_][attributes][restricted]
optional
, nil allowed
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
Validations:
|
filter[city]
optional
|
Validations:
|
filter[region_id]
optional
|
Validations:
|
filter[country_id]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
filter[psa_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for psa_integration_type
|
filter[psa_integration_type]
optional
|
Validations:
-
Must be one of: manage , autotask , tigerpaw , kaseya-bms , pulseway-psa , vorex .
|
DELETE /locations
Delete multiple locations.
DELETE /organizations/:organization_id/relationships/locations/:id
Delete multiple locations for a particular organization.
Deletes one or more specified locations. Returns the deleted locations and a 200 status code if successful.
Below is a sample request body with a JSON array to delete multiple objects:
{
"data": [
{
"type": "locations",
"attributes": {
"id": 2
}
},
{
"type": "locations",
"attributes": {
"id": 4
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
Notes: Cannot be used in combination with filter
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “locations”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
required
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
Validations:
|
filter[city]
optional
|
Validations:
|
filter[region_id]
optional
|
Validations:
|
filter[country_id]
optional
|
Validations:
|
filter[organization_id]
optional
|
Validations:
|
filter[psa_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for psa_integration_type
|
filter[psa_integration_type]
optional
|
Validations:
-
Must be one of: manage , autotask , tigerpaw , kaseya-bms , pulseway-psa , vorex .
|
Groups
A group is a collection of users.
The Groups resource allows you to retrieve information about groups.
GET /groups
List all groups in your account.
Returns a list of groups in your account.
Example return value:
{
"data": [
{
"id": "42",
"type": "groups",
"attributes": {
"name": "Tech",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
},
{
"id": "43",
"type": "groups",
"attributes": {
"name": "Senior Tech",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[name]
optional
|
exact match only
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
include
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
GET /groups/:id
Retrieve a group.
Returns the details of an existing group.
Example return value:
{
"data": {
"id": "42",
"type": "groups",
"attributes": {
"name": "Tech",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
include
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
Manufacturers
A manufacturer refers to any computer product manufacturer.
This resource allows you to manage the manufacturer names for your account. Manufacturer IDs can be used to POST new configurations.
A manufacturer may be referenced by one or more configurations. Each configuration can specify one manufacturer name, but it's not required.
GET /manufacturers
List all manufacturers.
Returns a list of the manufacturer names in your account.
Example return value:
{
"data": [
{
"id": "494",
"type": "manufacturers",
"attributes": {
"name": "Meraki",
"created-at": "2016-11-01T17:55:45.000Z",
"updated-at": "2016-11-01T17:55:45.000Z"
}
},
{
"id": "495",
"type": "manufacturers",
"attributes": {
"name": "Apple",
"created-at": "2016-11-01T17:55:45.000Z",
"updated-at": "2016-11-01T17:55:45.000Z"
}
},
{
"id": "496",
"type": "manufacturers",
"attributes": {
"name": "Cisco",
"created-at": "2016-11-01T17:55:45.000Z",
"updated-at": "2016-11-01T17:55:45.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[name]
optional
|
exact match only
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /manufacturers/:id
Retrieve a manufacturer.
Returns the details of an existing manufacturer name.
Example return value:
{
"data": {
"id": "494",
"type": "manufacturers",
"attributes": {
"name": "Meraki",
"created-at": "2016-11-01T17:55:45.000Z",
"updated-at": "2016-11-01T17:55:45.000Z"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
POST /manufacturers
Create a new manufacturer.
Creates a new manufacturer name. Returns the created object if successful.
The request body must contain a JSON object, for example:
{
"data": {
"type": "manufacturers",
"attributes": {
"name": "Meraki"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
PATCH /manufacturers/:id
Update a manufacturer.
Updates an existing manufacturer name. Returns 422 Bad Request error if trying to update an externally synced record.
The request body must contain a JSON object, for example:
{
"data": {
"type": "manufacturers",
"attributes": {
"name": "Meraki"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
Countries
A country refers to any distinct national entity.
The Countries resource allows you to retrieve information about the country names that IT Glue supports. Country IDs can be used to POST new locations.
Supported countries may be referenced by one or more locations. Each location can have one country, but it's not required.
GET /countries
List all countries.
Returns a list of supported countries.
Example return value:
{
"data": [
{
"id": "1",
"type": "countries",
"attributes": {
"name": "Canada",
"iso": "CA"
}
},
{
"id": "2",
"type": "countries",
"attributes": {
"name": "United States",
"iso": "US"
}
},
{
"id": "3",
"type": "countries",
"attributes": {
"name": "Afghanistan",
"iso": "AF"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[name]
optional
|
exact match only
Validations:
|
filter[iso]
optional
|
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /countries/:id
Retrieve a country.
Returns the details of one of the supported countries.
Example return value:
{
"data": {
"id": "1",
"type": "countries",
"attributes": {
"name": "Canada",
"iso": "CA"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
Organization Statuses
An organization status refers to the status that can be maintained on an organization, for example, active or inactive.
This resource is used to manage information about organization statuses for your account. Organization status IDs can be used to POST new organizations.
An organization status may be referenced by one ore more organizations. Each organization can have one organization status, but it's not required.
GET /organization_statuses
List all organization statuses.
Returns a list of the organization statuses in your account.
Example return value:
{
"data": [
{
"id": "68",
"type": "organization-statuses",
"attributes": {
"name": "Active",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
},
{
"id": "69",
"type": "organization-statuses",
"attributes": {
"name": "Inactive",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
},
{
"id": "70",
"type": "organization-statuses",
"attributes": {
"name": "Testing Only",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[name]
optional
|
exact match only
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /organization_statuses/:id
Retrieve an organization status.
Returns the details of an existing organization status.
Example return value:
{
"data": {
"id": "68",
"type": "organization-statuses",
"attributes": {
"name": "Active",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
POST /organization_statuses
Create an organization status.
Creates a new organization status in your account. Returns the created object if successful.
The request body must contain a JSON object, for example:
{
"data": {
"type": "organization-statuses",
"attributes": {
"name": "Active"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
PATCH /organization_statuses/:id
Update an organization status.
Updates an organization status in your account. Returns 422 Bad Request error if trying to update an externally synced record.
The request body must contain a JSON object, for example:
{
"data": {
"type": "organization-statuses",
"attributes": {
"name": "Inactive in last 6 months"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
Organization Types
An organization type refers to the type categorization of an organization, for example, customer or vendor.
This resource is used to manage information about organization types for your account. Organization type IDs can be used to POST new organizations.
A organization type may be referenced by one or more organizations. Each organization can have one organization type, but it's not required.
GET /organization_types
List all organization types.
Returns a list of organization types in your account.
Example return value:
{
"data": [
{
"id": "86",
"type": "organization-types",
"attributes": {
"name": "Customer",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
},
{
"id": "87",
"type": "organization-types",
"attributes": {
"name": "Vendor",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
},
{
"id": "88",
"type": "organization-types",
"attributes": {
"name": "Testing Only",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[name]
optional
|
exact match only
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /organization_types/:id
Retrieve an organization type.
Returns the details of an existing organization type.
Example return value:
{
"data": {
"id": "86",
"type": "organization-types",
"attributes": {
"name": "Customer",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
POST /organization_types
Create an organization type.
Creates a new organization type in your account. Returns the created object if successful.
The request body must contain a JSON object, for example:
{
"data": {
"type": "organization-types",
"attributes": {
"name": "Customer"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
PATCH /organization_types/:id
Update an organization type.
Updates an organization type in your account. Returns 422 Bad Request error if trying to update an externally synced record.
The request body must contain a JSON object, for example:
{
"data": {
"type": "organization-types",
"attributes": {
"name": "Customer Inactive"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
Organizations
An organization refers to a client company.
The Organizations resource is used to manage information about organizations in your account.
Keep in mind that an organization can have one or more sub-organizations, but there is currently no support in the API for assigning a parent to create new sub-organizations. You would need to manually complete this task from your IT Glue account.
GET /organizations
List all organizations in your account.
Returns a list of organizations in your account.
Any quick notes on an organization will be truncated to the first 250 characters. The full quick notes are available via the Show request.
Example return value:
{
"data": [
{
"id": "2",
"type": "organizations",
"attributes": {
"name": "Happy Frog",
"alert": null,
"description": null,
"organization-type-id": 86,
"organization-type-name": "Customer",
"organization-status-id": 68,
"organization-status-name": "Active",
"primary": false,
"logo": "",
"quick-notes": null,
"short-name": "happy",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z",
"parent-id": "1",
"ancestor-ids": "[1,6]"
}
},
{
"id": "6",
"type": "organizations",
"attributes": {
"name": "Kraken Techs",
"alert": null,
"description": null,
"organization-type-id": 15,
"organization-type-name": "Owner",
"organization-status-id": 68,
"organization-status-name": "Active",
"primary": true,
"logo": "",
"quick-notes": null,
"short-name": "kraken",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z",
"parent-id": "1",
"ancestor-ids": "[1,6]"
}
},
{
"id": "9",
"type": "organizations",
"attributes": {
"name": "Dell Support",
"alert": null,
"description": null,
"organization-type-id": 87,
"organization-type-name": "Vendor",
"organization-status-id": 68,
"organization-status-name": "Active",
"primary": false,
"logo": "",
"quick-notes": null,
"short-name": "dell",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z",
"parent-id": "1",
"ancestor-ids": "[1,6]"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
Validations:
|
filter[organization_type_id]
optional
|
Validations:
|
filter[organization_status_id]
optional
|
Validations:
|
filter[created_at]
optional
|
The specified string must be a date range and comma-separated as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` or `end_date`. Date ranges longer than a week may be disallowed for performance reasons.
Validations:
|
filter[updated_at]
optional
|
The specified string must be a date range and comma-separated as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` or `end_date`. Date ranges longer than a week may be disallowed for performance reasons.
Validations:
|
filter[my_glue_account_id]
optional
|
Validations:
|
filter[psa_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for psa_integration_type
|
filter[psa_integration_type]
optional
|
Validations:
-
Must be one of: manage , autotask , tigerpaw , kaseya-bms , pulseway-psa , vorex .
|
filter[group_id]
optional
|
Validations:
|
filter[primary]
optional
|
Validations:
|
filter[exclude]
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[exclude][id]
optional
|
Validations:
|
filter[exclude][name]
optional
|
Validations:
|
filter[exclude][organization_type_id]
optional
|
Validations:
|
filter[exclude][organization_status_id]
optional
|
Validations:
|
filter[range]
optional
|
To filter on a specific range, supply two comma-separated values (e.g. “2, 10” is filtering for all that are greater than or equal to 2 and less than or equal to 10). Or, an asterisk ( * ) can filter on values either greater than or equal to (e.g. “2, *”), or less than or equal to (“*, 10”)
Validations:
Metadata:
Param Type: CGI
|
filter[range][my_glue_account_id]
optional
|
Validations:
|
sort
optional
|
Validations:
-
Must be one of: name , id , updated_at , organization_status_name , organization_type_name , created_at , short_name , my_glue_account_id .
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
include
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
GET /organizations/:id
Retrieve an organization.
Returns the details of an existing organization.
Example return value:
{
"data": {
"id": "2",
"type": "organizations",
"attributes": {
"name": "Happy Frog",
"alert": null,
"description": null,
"organization-type-id": 86,
"organization-type-name": "Customer",
"organization-status-id": 68,
"organization-status-name": "Active",
"primary": false,
"logo": "",
"quick-notes": null,
"short-name": "happy",
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z",
"parent-id": "1",
"ancestor-ids": "[1,6]"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
include
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
POST /organizations
Create an organization.
Creates an organization. Returns the created object if successful.
The request body must contain a JSON object, for example:
{
"data": {
"type": "organizations",
"attributes": {
"name": "Accent Fit",
"description": "To be added by Ken in Sales",
"organization-type-id": 86,
"organization-status-id": 68,
"quick-notes": "Onboarding started week of August 17"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][name]
required
|
Validations:
|
data[attributes][alert]
optional
, nil allowed
|
Validations:
|
data[attributes][description]
optional
, nil allowed
|
Validations:
|
data[attributes][organization_type_id]
optional
|
Validations:
|
data[attributes][organization_status_id]
optional
|
Validations:
|
data[attributes][quick_notes]
optional
, nil allowed
|
Validations:
|
data[attributes][short_name]
optional
, nil allowed
|
Validations:
|
data[attributes][parent_id]
optional
, nil allowed
|
Validations:
|
PATCH /organizations/:id
Update an organization.
Updates the details of an existing organization. Returns 422 Bad Request error if trying to update an externally synced record on attributes other than: alert, description, quick_notes
A PATCH request does not require that the entire object resource with all of its attributes be enclosed. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON object, for example:
{
"data": {
"type": "organizations",
"attributes": {
"organization-type-id": 86,
"organization-status-id": 68,
"quick-notes": "Onboarding completed week of September 12",
"short-name": "accfit"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][name]
optional
|
Validations:
|
data[attributes][alert]
optional
, nil allowed
|
Validations:
|
data[attributes][description]
optional
, nil allowed
|
Validations:
|
data[attributes][organization_type_id]
optional
|
Validations:
|
data[attributes][organization_status_id]
optional
|
Validations:
|
data[attributes][quick_notes]
optional
, nil allowed
|
Validations:
|
data[attributes][short_name]
optional
, nil allowed
|
Validations:
|
data[attributes][parent_id]
optional
, nil allowed
|
Validations:
|
PATCH /organizations
Update multiple organizations.
Updates a list of organizations, also known as bulk updating. Bulk updates using a nested relationships route are not supported. Returns 422 Bad Request error if trying to update an externally synced record on attributes other than: alert, description, quick_notes
The bulk update PATCH format is one that is similar to the response returned from a GET on a list resource. It will accept a partial representation of objects, as long as the required parameters are present. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON array with one or more objects:
{
"data": [
{
"type": "organizations",
"attributes": {
"id": 28,
"organization-status-id": 70
}
},
{
"type": "organizations",
"attributes": {
"id": 29,
"organization-status-id": 70
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
Notes: Must be a hash if used with filter
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “organizations”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[_][attributes][name]
optional
|
Validations:
|
data[_][attributes][alert]
optional
, nil allowed
|
Validations:
|
data[_][attributes][description]
optional
, nil allowed
|
Validations:
|
data[_][attributes][organization_type_id]
optional
|
Validations:
|
data[_][attributes][organization_status_id]
optional
|
Validations:
|
data[_][attributes][quick_notes]
optional
, nil allowed
|
Validations:
|
data[_][attributes][short_name]
optional
, nil allowed
|
Validations:
|
data[_][attributes][parent_id]
optional
, nil allowed
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
Validations:
|
filter[organization_type_id]
optional
|
Validations:
|
filter[organization_status_id]
optional
|
Validations:
|
filter[created_at]
optional
|
The specified string must be a date range and comma-separated as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` or `end_date`. Date ranges longer than a week may be disallowed for performance reasons.
Validations:
|
filter[updated_at]
optional
|
The specified string must be a date range and comma-separated as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` or `end_date`. Date ranges longer than a week may be disallowed for performance reasons.
Validations:
|
filter[my_glue_account_id]
optional
|
Validations:
|
filter[psa_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for psa_integration_type
|
filter[psa_integration_type]
optional
|
Validations:
-
Must be one of: manage , autotask , tigerpaw , kaseya-bms , pulseway-psa , vorex .
|
filter[group_id]
optional
|
Validations:
|
filter[primary]
optional
|
Validations:
|
filter[exclude]
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[exclude][id]
optional
|
Validations:
|
filter[exclude][name]
optional
|
Validations:
|
filter[exclude][organization_type_id]
optional
|
Validations:
|
filter[exclude][organization_status_id]
optional
|
Validations:
|
DELETE /organizations
Delete multiple organizations.
Marks organizations identified by the specified organization IDs for deletion. Because it can be a long procedure to delete organizations, removal from the system may not happen immediately.
If everything is OK, the server will return a 200 status code and the objects that will be deleted. If an organization can't be deleted or doesn't exist, an error will be returned instead.
Below is a sample request body with a JSON array to delete multiple objects:
{
"data": [
{
"type": "organizations",
"attributes": {
"id": 5
}
},
{
"type": "organizations",
"attributes": {
"id": 24
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
Notes: Cannot be used in combination with filter
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “organizations”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
required
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[name]
optional
|
Validations:
|
filter[organization_type_id]
optional
|
Validations:
|
filter[organization_status_id]
optional
|
Validations:
|
filter[created_at]
optional
|
The specified string must be a date range and comma-separated as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` or `end_date`. Date ranges longer than a week may be disallowed for performance reasons.
Validations:
|
filter[updated_at]
optional
|
The specified string must be a date range and comma-separated as `start_date, end_date`. The dates are UTC. Use `*` for unspecified `start_date` or `end_date`. Date ranges longer than a week may be disallowed for performance reasons.
Validations:
|
filter[my_glue_account_id]
optional
|
Validations:
|
filter[psa_id]
optional
|
Validations:
Metadata:
Notes: This must be accompanied by the filter for psa_integration_type
|
filter[psa_integration_type]
optional
|
Validations:
-
Must be one of: manage , autotask , tigerpaw , kaseya-bms , pulseway-psa , vorex .
|
filter[group_id]
optional
|
Validations:
|
filter[primary]
optional
|
Validations:
|
filter[exclude]
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[exclude][id]
optional
|
Validations:
|
filter[exclude][name]
optional
|
Validations:
|
filter[exclude][organization_type_id]
optional
|
Validations:
|
filter[exclude][organization_status_id]
optional
|
Validations:
|
Configuration Interfaces
A configuration interface refers to an IP address for a networked device.
This resource allows you to manage all IP and MAC addresses associated with the configurations in your account. Configuration interface IDs can be used to POST new configurations.
A configuration interface can belong to only one configuration and can have only one IP address and one MAC address. Each configuration can have relationships with one or more configuration interfaces, one of which will be a primary interface.
Note that when a configuration is created or updated with a new primary IP or MAC address, this creates or updates the configuration Interface object. If the primary IP or MAC address in the configuration interface object is updated, this also updates the primary IP or MAC address on the configuration.
GET /configurations/:configuration_id/relationships/configuration_interfaces
List all configuration interfaces for a particular configuration.
Returns the configuration interfaces for a specified configuration.
Example return value:
{
"data": [
{
"type": "configuration-interfaces",
"attributes": {
"primary": true,
"name": "Ethernet Card",
"ip-address": "10.10.1.111",
"mac-address":"C4:7A:92:14:3D:78",
"notes": null,
"id": 63,
"created-at": "2017-05-14T18:15:28.000Z",
"updated-at": "2017-05-29T20:55:16.000Z"
}
},
{
"type": "configuration-interfaces",
"attributes": {
"primary": false,
"name": "WLAN Card",
"ip-address": "10.0.1.23",
"mac-address":"D4:6A:91:13:2D:77",
"notes": "Fujitsu 802.11b Wireless LAN Adapter(A)",
"id": 64,
"created-at": "2017-05-14T18:15:28.000Z",
"updated-at": "2017-05-29T20:55:16.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
configuration_id
required
|
Only required for nested relationships route.
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid configuration ID in your account.
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[ip_address]
optional
|
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /configuration_interfaces/:id
Retrieve a configuration interface.
GET /configurations/:configuration_id/relationships/configuration_interfaces/:id
Retrieve a configuration interface.
Returns the details of an existing configuration interface.
Example return value:
{
"data": {
"type": "configuration-interfaces",
"attributes": {
"primary": true,
"name": null,
"ip-address": "10.10.2.231",
"mac-address":"D4:6A:91:13:2D:77",
"notes": null,
"id": 68,
"created-at": "2017-05-14T18:15:28.000Z",
"updated-at": "2017-05-29T20:55:16.000Z"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
configuration_id
required
|
Only required for nested relationships route.
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid configuration ID in your account.
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
POST /configuration_interfaces
Create a configuration interface.
POST /configurations/:configuration_id/relationships/configuration_interfaces
Create a configuration interface for a particular configuration.
Creates a new configuration interface under the configuration specified in the ID parameter. Returns the created object if successful. Use the nested relationships route to add multiple configuration interfaces to a configuration in bulk.
The request body must contain a JSON object, for example:
{
"data": {
"type": "configuration-interfaces",
"attributes": {
"primary": true,
"name": "LAN",
"ip-address": "10.10.2.209"
}
}
}
To create multiple configuration interfaces, the JSON object will look something like:
{
"data": [
{
"type": "configuration-interfaces",
"attributes": {
"primary": true,
"name": "LAN",
"ip-address": "10.10.2.209"
}
},
{
"type": "configuration-interfaces",
"attributes": {
"name": "Public",
"ip-address": "10.0.1.23"
}
},
{
"type": "configuration-interfaces",
"attributes": {
"name": "Public",
"mac-address":"D4:6A:91:13:2D:77"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
configuration_id
required
|
Only required for nested relationships route.
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid configuration ID in your account.
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][configuration_id]
required
|
Not required when using nested relationship routes
Validations:
|
data[attributes][name]
optional
, nil allowed
|
Validations:
|
data[attributes][ip_address]
optional
, nil allowed
|
IP4 and IP6 are supported
Validations:
|
data[attributes][mac_address]
optional
, nil allowed
|
Must be a valid MAC address
Validations:
|
data[attributes][primary]
optional
, nil allowed
|
Validations:
|
data[attributes][notes]
optional
, nil allowed
|
Validations:
|
PATCH /configuration_interfaces/:id
Update a configuration interface.
PATCH /configurations/:configuration_id/relationships/configuration_interfaces/:id
Update a configuration interface.
Updates the details of an existing configuration interface. Returns 422 Bad Request error if trying to update an externally synced, primary IP address.
A PATCH request does not require that the entire object resource with all of its attributes be enclosed. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON object, for example:
{
"data": {
"type": "configuration-interfaces",
"attributes": {
"primary": true,
"name": "Ethernet",
"ip-address": "10.10.2.254",
"mac-address":"D4:6A:91:13:2D:77"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
configuration_id
required
|
Only required for nested relationships route.
Validations:
Metadata:
Param Type: In URL
Notes: Must be a valid configuration ID in your account.
|
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[attributes][configuration_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[attributes][name]
optional
, nil allowed
|
Validations:
|
data[attributes][ip_address]
optional
, nil allowed
|
IP4 and IP6 are supported
Validations:
|
data[attributes][mac_address]
optional
, nil allowed
|
Must be a valid MAC address
Validations:
|
data[attributes][primary]
optional
, nil allowed
|
Validations:
|
data[attributes][notes]
optional
, nil allowed
|
Validations:
|
PATCH /configuration_interfaces
Update multiple configuration interfaces.
Updates a list of configuration interfaces, also known as bulk updating. Bulk updates using a nested relationships route are not supported. Returns 422 Bad Request error if trying to update an externally synced, primary IP address.
The bulk update PATCH format is one that is similar to the response returned from a GET on a list resource. It will accept a partial representation of objects, as long as the required parameters are present. Any attributes you don't specify will remain unchanged.
The request body must contain a JSON array with one or more objects:
{
"data": [
{
"type": "configuration-interfaces",
"attributes": {
"id": 115,
"primary": true,
"name": "Ethernet",
"ip-address": "10.10.2.254"
}
},
{
"type": "configuration-interfaces",
"attributes": {
"id": 116,
"name": "Public",
"ip-address": "10.0.1.23",
"mac-address":"D4:6A:91:13:2D:77"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
404 |
Not Found |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[_]
optional
|
Nameless hash: should look like: {“type”: “configuration_interfaces”, “attributes”:…}
Validations:
|
data[_][type]
required
|
Validations:
|
data[_][attributes]
required
|
Validations:
|
data[_][attributes][id]
optional
, nil allowed
|
Required identifier for bulk updates
Validations:
|
data[_][attributes][configuration_id]
optional
|
Not required when using nested relationship routes
Validations:
|
data[_][attributes][name]
optional
, nil allowed
|
Validations:
|
data[_][attributes][ip_address]
optional
, nil allowed
|
IP4 and IP6 are supported
Validations:
|
data[_][attributes][mac_address]
optional
, nil allowed
|
Must be a valid MAC address
Validations:
|
data[_][attributes][primary]
optional
, nil allowed
|
Validations:
|
data[_][attributes][notes]
optional
, nil allowed
|
Validations:
|
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[id]
optional
|
Validations:
|
filter[ip_address]
optional
|
Validations:
|
Configuration Types
A configuration type refers to the type categorization of a configuration, usually a type of device.
This resource is used to manage information about configuration types for your account. Configuration type IDs can be used to POST new configurations.
A configuration type may be referenced by one or more configurations. It's required that each configuration item have one configuration type.
GET /configuration_types
List all configuration types.
Returns a list of configuration types in your account.
Example return value:
{
"data": [
{
"id": "42",
"type": "configuration-types",
"attributes": {
"name": "Switch",
"configurations-count": 0,
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
{
"id": "43",
"type": "configuration-types",
"attributes": {
"name": "Local Printer",
"configurations-count": 0,
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
{
"id": "44",
"type": "configuration-types",
"attributes": {
"name": "UPS",
"configurations-count": 0,
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
]
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
Params
Param name |
Description |
filter
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: Comma separated values
|
filter[name]
optional
|
exact match only
Validations:
|
sort
optional
|
Validations:
Metadata:
Param Type: CGI
Notes: |
To Invert order use -, eg: -name
Comma separated values
|
page
optional
|
Validations:
Metadata:
Param Type: CGI
|
page[number]
optional
|
Validations:
|
page[size]
optional
|
Validations:
|
GET /configuration_types/:id
Retrieve a configuration type.
Returns the details of an existing configuration type.
Example return value:
{
"data": {
"id": "42",
"type": "configuration-types",
"attributes": {
"name": "Switch",
"configurations-count": 0,
"created-at": "2016-09-14T17:02:44.000Z",
"updated-at": "2016-09-14T17:02:44.000Z"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
POST /configuration_types
Create a configuration type.
Creates a new configuration type in your account. Returns the created object if successful.
The request body must contain a JSON object, for example:
{
"data": {
"type": "configuration-types",
"attributes": {
"name": "Power"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
415 |
Unsupported Media Type |
422 |
Bad Request |
Params
Param name |
Description |
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|
PATCH /configuration_types/:id
Update a configuration type.
Updates a configuration type in your account. Returns 422 Bad Request error if trying to update an externally synced record.
The request body must contain a JSON object, for example:
{
"data": {
"type": "configuration-types",
"attributes": {
"name": "Power"
}
}
}
Supported Formats
json
Errors
Code |
Description |
401 |
Unauthorized |
400 |
Bad Request |
415 |
Unsupported Media Type |
422 |
Unprocessable Entity |
404 |
Not Found |
Params
Param name |
Description |
id
required
|
Validations:
Metadata:
Param Type: In URL
|
data
required
|
Validations:
Metadata:
Param Type: JSON Body Param
|
data[type]
required
|
Validations:
|
data[attributes]
required
|
Validations:
|
data[attributes][name]
required
|
Validations:
|