custom/JumpCloud.SDK.V2.json

{
  "basePath": "/api/v2/",
  "consumes": [
    "application/json"
  ],
  "definitions": {
    "ADE": {
      "properties": {
        "defaultDeviceGroupObjectIds": {
          "description": "An array of ObjectIDs identifying the default device groups for this specific type (based on the OS family) of automated device enrollment. Currently, only a single DeviceGroupID is supported.",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-nullable": true
        },
        "enableZeroTouchEnrollment": {
          "description": "A toggle to determine if ADE registered devices should go through JumpCloud Zero Touch Enrollment.",
          "type": "boolean"
        },
        "setupAssistantOptions": {
          "items": {
            "$ref": "#/definitions/DEPSetupAssistantOption"
          },
          "type": "array"
        },
        "welcomeScreen": {
          "$ref": "#/definitions/DEPWelcomeScreen"
        }
      },
      "title": "ADE",
      "type": "object"
    },
    "ADES": {
      "properties": {
        "ios": {
          "$ref": "#/definitions/ADE"
        },
        "macos": {
          "$ref": "#/definitions/ADE"
        }
      },
      "title": "ADES",
      "type": "object"
    },
    "Address": {
      "properties": {
        "country": {
          "maxLength": 1024,
          "type": "string"
        },
        "extendedAddress": {
          "maxLength": 1024,
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "locality": {
          "maxLength": 1024,
          "type": "string"
        },
        "poBox": {
          "maxLength": 1024,
          "type": "string"
        },
        "postalCode": {
          "maxLength": 1024,
          "type": "string"
        },
        "region": {
          "maxLength": 1024,
          "type": "string"
        },
        "streetAddress": {
          "maxLength": 1024,
          "type": "string"
        },
        "type": {
          "maxLength": 1024,
          "type": "string"
        }
      },
      "type": "object"
    },
    "Administrator": {
      "example": {
        "email": "joe@example.com",
        "enableMultiFactor": true,
        "firstname": "Joe",
        "id": "0123456789abcdef01234567",
        "lastname": "Blough",
        "registered": false
      },
      "properties": {
        "email": {
          "type": "string"
        },
        "enableMultiFactor": {
          "type": "boolean"
        },
        "firstname": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "lastname": {
          "type": "string"
        },
        "organizationAccessTotal": {
          "type": "number"
        },
        "registered": {
          "type": "boolean"
        },
        "role": {
          "type": "string"
        },
        "roleName": {
          "type": "string"
        },
        "suspended": {
          "type": "boolean"
        }
      },
      "title": "Administrator",
      "type": "object"
    },
    "AdministratorOrganizationLink": {
      "example": {
        "administrator": "6230a0c233a6cbea7c470398",
        "organization": "6230a0d26a4e4bc86c6b36f1"
      },
      "properties": {
        "administrator": {
          "description": "The identifier for an administrator",
          "type": "string"
        },
        "organization": {
          "description": "The identifier for an organization",
          "type": "string"
        }
      },
      "title": "AdministratorOrganizationLink",
      "type": "object"
    },
    "AdministratorOrganizationLinkReq": {
      "example": {
        "organization": "6230a0d26a4e4bc86c6b36f1"
      },
      "properties": {
        "organization": {
          "description": "The identifier for an organization to link this administrator to.",
          "type": "string"
        }
      },
      "title": "AdministratorOrganizationLinkReq",
      "type": "object"
    },
    "AnyValue": {
      "description": "Can be any value - string, number, boolean, array or object."
    },
    "AppleMDM": {
      "properties": {
        "ades": {
          "$ref": "#/definitions/ADES"
        },
        "allowMobileUserEnrollment": {
          "description": "A toggle to allow mobile device enrollment for an organization.",
          "type": "boolean"
        },
        "apnsCertExpiry": {
          "description": "The expiration date and time for the APNS Certificate.",
          "type": "string"
        },
        "apnsPushTopic": {
          "description": "The push topic assigned to this enrollment by Apple after uploading the Signed CSR plist.",
          "type": "string"
        },
        "defaultIosUserEnrollmentDeviceGroupID": {
          "description": "ObjectId uniquely identifying the MDM default iOS user enrollment device group.",
          "type": "string"
        },
        "defaultSystemGroupID": {
          "description": "ObjectId uniquely identifying the MDM default System Group.",
          "type": "string",
          "x-deprecated": true
        },
        "dep": {
          "$ref": "#/definitions/DEP"
        },
        "depAccessTokenExpiry": {
          "description": "The expiration date and time for the DEP Access Token. This aligns with the DEP Server Token State.",
          "type": "string"
        },
        "depServerTokenState": {
          "description": "The state of the dep server token, presence and expiry.",
          "enum": [
            "unknown",
            "missing",
            "valid",
            "expired"
          ],
          "type": "string"
        },
        "id": {
          "description": "ObjectId uniquely identifying an MDM Enrollment,",
          "type": "string"
        },
        "name": {
          "description": "A friendly name to identify this enrollment. Not required to be unique.",
          "maxLength": 255,
          "type": "string"
        }
      },
      "required": [
        "id"
      ],
      "title": "AppleMDM",
      "type": "object"
    },
    "AuthnPolicy": {
      "description": "This represents an authentication policy. See the details of each field for valid values and restrictions.\n\nConditions may be added to an authentication policy using the following conditional language:\n\n```\n<conditions> ::= <expression>\n<expression> ::= <ipAddressIn> | <deviceManaged> | <locationIn> | <notExpression> | <allExpression> | <anyExpression>\n<ipAddressIn> ::= { \"ipAddressIn\": [ <objectId>, ... ] }\n<deviceManaged> ::= { \"deviceManaged\": <boolean> }\n<locationIn> ::= { \"locationIn\": { \"countries\": [ <iso_3166_country_code>, ... ] } }\n<notExpression> ::= { \"not\": <expression> }\n<allExpression> ::= { \"all\": [ <expression>, ... ] }\n<anyExpression> ::= { \"any\": [ <expression>, ... ] }\n```\n\nFor example, to add a condition that applies to IP address in a given list the following condition can be added:\n\n`{\"ipAddressIn\": [ <ip_list_object_id> ]}`\n\nIf you would rather exclude IP addresses in the given lists, the following condition could be added:\n\n`{\n \"not\": {\n \"ipAddressIn\": [ <ip_list_object_id_1>, <ip_list_object_id_2> ]\n }\n}`\n\nYou may also include more than one condition and choose whether \"all\" or \"any\" of them must be met for the policy to apply.\n\n`{\n \"all\": [\n {\n \"ipAddressIn\": [ <ip_list_object_id>, ... ]\n },\n {\n \"deviceManaged\": true\n },\n {\n \"locationIn\": {\n countries: [ <iso_3166_country_code>, ... ]\n }\n }\n ]\n}`",
      "properties": {
        "conditions": {
          "type": "object",
          "additionalProperties": true
        },
        "description": {
          "type": "string"
        },
        "disabled": {
          "type": "boolean"
        },
        "effect": {
          "$ref": "#/definitions/AuthnPolicyEffect"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "targets": {
          "$ref": "#/definitions/AuthnPolicyTargets"
        },
        "type": {
          "$ref": "#/definitions/AuthnPolicyType"
        }
      },
      "title": "AuthnPolicy",
      "type": "object"
    },
    "AuthnPolicyEffect": {
      "properties": {
        "action": {
          "enum": [
            "allow",
            "deny",
            "unknown"
          ],
          "type": "string"
        },
        "obligations": {
          "$ref": "#/definitions/AuthnPolicyObligations"
        }
      },
      "required": [
        "action"
      ],
      "title": "AuthnPolicyEffect",
      "type": "object",
      "x-examples": {
        "example-allow": {
          "action": "allow"
        },
        "example-allow-with-mfa": {
          "action": "allow",
          "obligations": {
            "mfa": {
              "required": true
            }
          }
        },
        "example-deny": {
          "action": "deny"
        }
      }
    },
    "AuthnPolicyInput": {
      "properties": {
        "conditions": {
          "type": "object",
          "additionalProperties": true
        },
        "description": {
          "type": "string"
        },
        "disabled": {
          "type": "boolean"
        },
        "effect": {
          "$ref": "#/definitions/AuthnPolicyEffect"
        },
        "name": {
          "type": "string"
        },
        "targets": {
          "$ref": "#/definitions/AuthnPolicyTargets"
        },
        "type": {
          "$ref": "#/definitions/AuthnPolicyType"
        }
      },
      "title": "AuthnPolicyInput",
      "type": "object"
    },
    "AuthnPolicyObligations": {
      "properties": {
        "mfa": {
          "properties": {
            "required": {
              "type": "boolean"
            }
          },
          "type": "object"
        }
      },
      "title": "AuthnPolicyObligations",
      "type": "object"
    },
    "AuthnPolicyResourceTarget": {
      "properties": {
        "id": {
          "description": "Object ID of the resource target. If undefined, then all resources of the given type are targeted.",
          "type": "string"
        },
        "type": {
          "enum": [
            "user_portal",
            "application",
            "ldap"
          ],
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "title": "AuthnPolicyResourceTarget",
      "type": "object"
    },
    "AuthnPolicyTargets": {
      "properties": {
        "resources": {
          "items": {
            "$ref": "#/definitions/AuthnPolicyResourceTarget"
          },
          "type": "array"
        },
        "userAttributes": {
          "$ref": "#/definitions/AuthnPolicyUserAttributeTarget"
        },
        "userGroups": {
          "$ref": "#/definitions/AuthnPolicyUserGroupTarget"
        },
        "users": {
          "$ref": "#/definitions/AuthnPolicyUserTarget"
        }
      },
      "title": "AuthnPolicyTargets",
      "type": "object"
    },
    "AuthnPolicyType": {
      "default": "user_portal",
      "enum": [
        "user_portal",
        "application",
        "ldap"
      ],
      "title": "AuthnPolicyType",
      "type": "string"
    },
    "AuthnPolicyUserAttributeFilter": {
      "properties": {
        "field": {
          "description": "The only field that is currently supported is ldap_binding_user",
          "type": "string"
        },
        "operator": {
          "enum": [
            "EQ"
          ],
          "type": "string"
        },
        "value": {
          "$ref": "#/definitions/AnyValue"
        }
      },
      "title": "AuthnPolicyUserAttributeFilter",
      "type": "object"
    },
    "AuthnPolicyUserAttributeTarget": {
      "description": "User attribute targets are currently only supported for LDAP policies.",
      "properties": {
        "exclusions": {
          "items": {
            "$ref": "#/definitions/AuthnPolicyUserAttributeFilter"
          },
          "type": "array"
        },
        "inclusions": {
          "items": {
            "$ref": "#/definitions/AuthnPolicyUserAttributeFilter"
          },
          "type": "array"
        }
      },
      "title": "AuthnPolicyUserAttributeTarget",
      "type": "object"
    },
    "AuthnPolicyUserGroupTarget": {
      "properties": {
        "exclusions": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "inclusions": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "title": "AuthnPolicyUserGroupTarget",
      "type": "object"
    },
    "AuthnPolicyUserTarget": {
      "properties": {
        "inclusions": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "title": "AuthnPolicyUserTarget",
      "type": "object"
    },
    "CustomEmail": {
      "description": "Custom email content created by the admin user to personalize emails sent to their system users.",
      "properties": {
        "body": {
          "minLength": 0,
          "type": "string"
        },
        "button": {
          "minLength": 0,
          "type": "string"
        },
        "header": {
          "minLength": 0,
          "type": "string"
        },
        "id": {
          "readOnly": true,
          "type": "string"
        },
        "nextStepContactInfo": {
          "minLength": 0,
          "type": "string"
        },
        "subject": {
          "minLength": 0,
          "type": "string"
        },
        "title": {
          "minLength": 0,
          "type": "string"
        },
        "type": {
          "$ref": "#/definitions/CustomEmailType"
        }
      },
      "required": [
        "type",
        "subject"
      ],
      "title": "CustomEmail",
      "type": "object"
    },
    "CustomEmailTemplate": {
      "properties": {
        "description": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "fields": {
          "items": {
            "$ref": "#/definitions/CustomEmailTemplateField"
          },
          "type": "array"
        },
        "type": {
          "$ref": "#/definitions/CustomEmailType"
        }
      },
      "title": "CustomEmailTemplate",
      "type": "object"
    },
    "CustomEmailTemplateField": {
      "properties": {
        "defaultValue": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "field": {
          "type": "string"
        },
        "multiline": {
          "type": "boolean"
        }
      },
      "title": "CustomEmailTemplateField",
      "type": "object"
    },
    "CustomEmailType": {
      "enum": [
        "activate_gapps_user",
        "activate_o365_user",
        "lockout_notice_user",
        "password_expiration",
        "password_expiration_warning",
        "password_reset_confirmation",
        "user_change_password",
        "activate_user_custom"
      ],
      "type": "string"
    },
    "DEP": {
      "properties": {
        "enableZeroTouchEnrollment": {
          "description": "A toggle to determine if DEP registered devices should go through JumpCloud Zero Touch Enrollment.",
          "type": "boolean"
        },
        "setupAssistantOptions": {
          "items": {
            "$ref": "#/definitions/DEPSetupAssistantOption"
          },
          "type": "array"
        },
        "welcomeScreen": {
          "$ref": "#/definitions/DEPWelcomeScreen"
        }
      },
      "title": "DEP",
      "type": "object",
      "x-deprecated": true
    },
    "DEPSetupAssistantOption": {
      "properties": {
        "option": {
          "$ref": "#/definitions/SetupAssistantOption"
        }
      },
      "title": "DEP Setup Assistant Option",
      "type": "object"
    },
    "DEPWelcomeScreen": {
      "properties": {
        "button": {
          "description": "Text to display on the button on the DEP Welcome Screen.",
          "maxLength": 64,
          "type": "string"
        },
        "paragraph": {
          "description": "A message to display on the DEP Welcome Screen.",
          "maxLength": 1024,
          "type": "string"
        },
        "title": {
          "description": "The title to display on the DEP Welcome Screen.",
          "maxLength": 255,
          "type": "string"
        }
      },
      "title": "DEPWelcomeScreen",
      "type": "object",
      "x-examples": {
        "defaults": {
          "button": "continue",
          "paragraph": "In just a few steps, you will be working securely from your Mac.",
          "title": "Welcome"
        }
      }
    },
    "Directory": {
      "description": "",
      "properties": {
        "id": {
          "description": "The ObjectID of the directory.",
          "type": "string"
        },
        "name": {
          "description": "The name of the directory.",
          "type": "string"
        },
        "oAuthStatus": {
          "description": "the expiry and error status of the bearer token",
          "type": "object",
          "additionalProperties": true
        },
        "type": {
          "description": "The type of directory.",
          "enum": [
            "active_directory",
            "g_suite",
            "ldap_server",
            "office_365",
            "workday"
          ],
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "type"
      ],
      "title": "Directory",
      "type": "object"
    },
    "DuoAccount": {
      "properties": {
        "id": {
          "description": "object ID",
          "type": "string"
        },
        "name": {
          "description": "Duo application name.",
          "type": "string"
        }
      },
      "required": [
        "id"
      ],
      "title": "DuoAccount",
      "type": "object"
    },
    "DuoApplication": {
      "properties": {
        "apiHost": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "integrationKey": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "apiHost",
        "integrationKey"
      ],
      "title": "DuoApplication",
      "type": "object"
    },
    "DuoApplicationReq": {
      "properties": {
        "apiHost": {
          "type": "string"
        },
        "integrationKey": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "secretKey": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "apiHost",
        "integrationKey",
        "secretKey"
      ],
      "title": "DuoApplicationReq",
      "type": "object"
    },
    "DuoApplicationUpdateReq": {
      "properties": {
        "apiHost": {
          "type": "string"
        },
        "integrationKey": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "secretKey": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "apiHost",
        "integrationKey"
      ],
      "title": "DuoApplicationUpdateReq",
      "type": "object"
    },
    "Error": {
      "description": "",
      "properties": {
        "code": {
          "description": "HTTP status code",
          "format": "int32",
          "type": "integer"
        },
        "message": {
          "description": "Error message",
          "type": "string"
        },
        "status": {
          "description": "HTTP status description",
          "type": "string"
        }
      },
      "title": "Error",
      "type": "object",
      "x-examples": {}
    },
    "ErrorDetails": {
      "allOf": [
        {
          "$ref": "#/definitions/Error"
        },
        {
          "properties": {
            "details": {
              "description": "Describes a list of objects with more detailed information of the given error. Each detail schema is according to one of the messages defined in Google's API: https://github.com/googleapis/googleapis/blob/master/google/rpc/error_details.proto",
              "items": {
                "additionalProperties": true,
                "description": "Object according to Google's API.",
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      ]
    },
    "Filter": {
      "description": "Filter for a field.",
      "properties": {
        "field": {
          "description": "Name of field in filter target object.",
          "type": "string"
        },
        "operator": {
          "description": "Filter comparison operator.",
          "enum": [
            "eq",
            "ne",
            "gt",
            "ge",
            "lt",
            "le",
            "between",
            "search",
            "in"
          ],
          "type": "string"
        },
        "value": {
          "description": "Filter comparison value.",
          "type": "string"
        }
      },
      "required": [
        "field",
        "operator",
        "value"
      ],
      "title": "Filter",
      "type": "object"
    },
    "FilterQuery": {
      "allOf": [
        {
          "$ref": "#/definitions/Query"
        },
        {
          "properties": {
            "filters": {
              "items": {
                "$ref": "#/definitions/Filter"
              },
              "type": "array"
            }
          },
          "title": "FilterQuery",
          "type": "object",
          "x-internal": false
        }
      ],
      "description": "Query using a sequence of field filters.",
      "x-examples": {
        "example-1": {
          "filters": [
            {
              "field": "string",
              "operator": "eq",
              "value": "string"
            }
          ],
          "queryType": "FilterQuery"
        }
      }
    },
    "GSuiteBuiltinTranslation": {
      "description": "Built-in translations for G Suite export:\n* `user_home_addresses` - Translate all JumpCloud user addresses of type `home` to G Suite Directory user addresses of type `home`\n* `user_work_addresses` - Translate all JumpCloud user addresses of type `work` to G Suite Directory user addresses of type `work`\n* `user_other_addresses` - Translate all JumpCloud user addresses of type `other` to G Suite Directory user addresses of type `other`\n* `user_home_phone_numbers` - Translate all JumpCloud user phoneNumbers of type `home` to G Suite Directory user phones of type `home`\n* `user_mobile_phone_numbers` - Translate all JumpCloud user phoneNumbers of type `mobile` to G Suite Directory user phones of type `mobile`\n* `user_other_phone_numbers` - Translate all JumpCloud user phoneNumbers of type `other` to G Suite Directory user phones of type `other`\n* `user_work_phone_numbers` - Translate all JumpCloud user phoneNumbers of type `work` to G Suite Directory user phones of type `work`\n* `user_work_fax_phone_numbers` - Translate all JumpCloud user phoneNumbers of type `work_fax` to G Suite Directory user phones of type `work_fax`\n* `user_work_mobile_phone_numbers` - Translate all JumpCloud user phoneNumbers of type `work_mobile` to G Suite Directory user phones of type `work_mobile`\n* `user_manager` - Translate JumpCloud user `manager` to G Suite Directory user `relations-manager`\n* `user_primary_organization_cost_center` - Translate JumpCloud user `costCenter` to G Suite Directory user `costCenter` for `primary` organization\n* `user_primary_organization_department` - Translate JumpCloud user `department` to G Suite Directory user `department` for `primary` organization\n* `user_primary_organization_description` - Translate JumpCloud user `employeeType` to G Suite Directory user `description` for `primary` organization\n* `user_primary_organization_employee_id` - Translate JumpCloud user `employeeIdentifier` to G Suite Directory user `externalIds` element of type `organization`\n* `user_primary_organization_title` - Translate JumpCloud user `jobTitle` to G Suite Directory user `title` for `primary` organization\n* `user_alternate_email` - Translate JumpCloud user `alternateEmail` to G Suite Directory user `emails`\n",
      "enum": [
        "user_home_addresses",
        "user_work_addresses",
        "user_other_addresses",
        "user_home_phone_numbers",
        "user_mobile_phone_numbers",
        "user_other_phone_numbers",
        "user_work_phone_numbers",
        "user_work_fax_phone_numbers",
        "user_work_mobile_phone_numbers",
        "user_manager",
        "user_alternate_email",
        "user_primary_organization_cost_center",
        "user_primary_organization_department",
        "user_primary_organization_description",
        "user_primary_organization_employee_id",
        "user_primary_organization_title"
      ],
      "title": "G Suite BuiltIn Translation",
      "type": "string"
    },
    "GSuiteDirectionTranslation": {
      "default": "export",
      "description": "Direction identify if an attribute is going to be exported or imported from GSuite\n* `Import`- The data will be imported from GSuite into the user modal\n* `Export`- The data will be exported from the user modal to GSuite\n",
      "enum": [
        "export",
        "import"
      ],
      "title": "G Suite Direction translation",
      "type": "string"
    },
    "GSuiteTranslationRule": {
      "properties": {
        "builtIn": {
          "$ref": "#/definitions/GSuiteBuiltinTranslation"
        },
        "direction": {
          "$ref": "#/definitions/GSuiteDirectionTranslation"
        },
        "id": {
          "description": "ObjectId uniquely identifying a Translation Rule.",
          "type": "string"
        }
      },
      "title": "G Suite Translation Rule",
      "type": "object"
    },
    "GSuiteTranslationRuleRequest": {
      "example": {
        "builtIn": "user_home_addresses",
        "direction": "export"
      },
      "properties": {
        "builtIn": {
          "$ref": "#/definitions/GSuiteBuiltinTranslation"
        },
        "direction": {
          "$ref": "#/definitions/GSuiteDirectionTranslation"
        }
      },
      "title": "G Suite Translation Rule Request",
      "type": "object"
    },
    "GraphAttribute-LdapGroups": {
      "description": "List of LDAP groups to provision when this JumpCloud group is bound to an LDAP instance.",
      "properties": {
        "ldapGroups": {
          "items": {
            "$ref": "#/definitions/LdapGroup"
          },
          "type": "array"
        }
      },
      "title": "GraphAttribute (LdapGroups)",
      "type": "object"
    },
    "GraphAttribute-PosixGroups": {
      "description": "List of POSIX groups to provision when this JumpCloud group is bound to a supported resource.",
      "properties": {
        "posixGroups": {
          "items": {
            "properties": {
              "id": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "type": "object"
          },
          "type": "array"
        }
      },
      "title": "GraphAttribute (PosixGroups)",
      "type": "object"
    },
    "GraphAttribute-Radius": {
      "description": "RADIUS reply attributes are returned in the Access-Accept messages sent to endpoints that authenticate with JumpCloud RADIUS.",
      "properties": {
        "radius": {
          "properties": {
            "reply": {
              "items": {
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "value"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      },
      "title": "GraphAttribute (Radius)",
      "type": "object"
    },
    "GraphAttribute-SambaEnabled": {
      "description": "Enabling Samba support allows for LDAP users to authenticate to endpoints that require Samba attributes within the LDAP directory",
      "properties": {
        "sambaEnabled": {
          "type": "boolean"
        }
      },
      "title": "GraphAttribute (SambaEnabled)",
      "type": "object"
    },
    "GraphAttribute-Sudo": {
      "description": "Setting user access controls in order to grant administrator permissions",
      "properties": {
        "sudo": {
          "properties": {
            "enabled": {
              "description": "Enables sudo",
              "type": "boolean"
            },
            "withoutPassword": {
              "description": "Enable sudo without password (requires 'enabled' to be true)",
              "type": "boolean"
            }
          },
          "required": [
            "enabled",
            "withoutPassword"
          ],
          "type": "object"
        }
      },
      "title": "GraphAttribute (Sudo)",
      "type": "object"
    },
    "GraphAttributes": {
      "additionalProperties": true,
      "description": "The graph attributes.",
      "title": "GraphAttributes",
      "type": "object"
    },
    "GraphConnection": {
      "description": "Represents an edge between two graph objects. From can be omitted if it is clear from context.",
      "properties": {
        "attributes": {
          "$ref": "#/definitions/GraphAttributes"
        },
        "from": {
          "$ref": "#/definitions/GraphObject"
        },
        "to": {
          "$ref": "#/definitions/GraphObject"
        }
      },
      "required": [
        "to"
      ],
      "title": "GraphConnection",
      "type": "object"
    },
    "GraphObject": {
      "properties": {
        "attributes": {
          "$ref": "#/definitions/GraphAttributes"
        },
        "id": {
          "description": "The ObjectID of the graph object.",
          "type": "string"
        },
        "type": {
          "description": "The type of graph object.",
          "type": "string"
        }
      },
      "required": [
        "type",
        "id"
      ],
      "title": "GraphObject",
      "type": "object"
    },
    "GraphObjectWithPaths": {
      "properties": {
        "compiledAttributes": {
          "$ref": "#/definitions/GraphAttributes"
        },
        "id": {
          "description": "Object ID of this graph object.",
          "type": "string"
        },
        "paths": {
          "description": "A path through the graph between two graph objects.",
          "items": {
            "items": {
              "$ref": "#/definitions/GraphConnection"
            },
            "type": "array"
          },
          "type": "array"
        },
        "type": {
          "$ref": "#/definitions/GraphType"
        }
      },
      "required": [
        "type",
        "id",
        "paths"
      ],
      "title": "GraphObjectWithPaths",
      "type": "object"
    },
    "GraphOperation": {
      "properties": {
        "id": {
          "description": "The ObjectID of graph object being added or removed as an association.",
          "type": "string"
        },
        "op": {
          "description": "How to modify the graph connection.",
          "enum": [
            "add",
            "remove",
            "update"
          ],
          "type": "string"
        }
      },
      "required": [
        "id",
        "op"
      ],
      "title": "GraphOperation",
      "type": "object"
    },
    "GraphOperation-ActiveDirectory": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "Targets which a \"active_directory\" can be associated to.",
              "enum": [
                "user",
                "user_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-ActiveDirectory"
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (ActiveDirectory)",
      "type": "object"
    },
    "GraphOperation-Application": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "Targets which a \"application\" can be associated to.",
              "enum": [
                "user",
                "user_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-Application"
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (Application)",
      "type": "object"
    },
    "GraphOperation-Command": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "Targets which a \"command\" can be associated to.",
              "enum": [
                "system",
                "system_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-Command1",
                "values": [
                  {
                    "name": "systems",
                    "value": "system"
                  },
                  {
                    "name": "systems_group",
                    "value": "system_group"
                  }
                ]
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (Command)",
      "type": "object"
    },
    "GraphOperation-GSuite": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "Targets which a \"g_suite\" can be associated to.",
              "enum": [
                "user",
                "user_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-GSuite"
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (GSuite)",
      "type": "object"
    },
    "GraphOperation-LdapServer": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "Targets which a \"ldap_server\" can be associated to.",
              "enum": [
                "user",
                "user_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-LdapServer"
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (LdapServer)",
      "type": "object"
    },
    "GraphOperation-Office365": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "Targets which a \"office_365\" can be associated to.",
              "enum": [
                "user",
                "user_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-Office365"
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (Office365)",
      "type": "object"
    },
    "GraphOperation-Policy": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "Targets which a \"policy\" can be associated to.",
              "enum": [
                "system",
                "system_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-Policy1",
                "values": [
                  {
                    "name": "systems",
                    "value": "system"
                  },
                  {
                    "name": "systems_group",
                    "value": "system_group"
                  }
                ]
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (Policy)",
      "type": "object"
    },
    "GraphOperation-PolicyGroup": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "Targets which a \"policy_group\" can be associated to.",
              "enum": [
                "system",
                "system_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-PolicyGroup1",
                "values": [
                  {
                    "name": "systems",
                    "value": "system"
                  },
                  {
                    "name": "systems_group",
                    "value": "system_group"
                  }
                ]
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (PolicyGroup)",
      "type": "object"
    },
    "GraphOperation-PolicyGroup-Member": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "The member type.",
              "enum": [
                "policy"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-PolicyGroup-Member2"
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (PolicyGroup-Member)",
      "type": "object"
    },
    "GraphOperation-RadiusServer": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "Targets which a \"radius_server\" can be associated to.",
              "enum": [
                "user",
                "user_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-RadiusServer"
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (RadiusServer)",
      "type": "object"
    },
    "GraphOperation-SoftwareApp": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "Targets which a \"software_app\" can be associated to.",
              "enum": [
                "system",
                "system_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-SoftwareApp1",
                "values": [
                  {
                    "name": "systems",
                    "value": "system"
                  },
                  {
                    "name": "systems_group",
                    "value": "system_group"
                  }
                ]
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (SoftwareApp)",
      "type": "object"
    },
    "GraphOperation-System": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "allOf": [
                {
                  "$ref": "#/definitions/GraphAttributes"
                },
                {
                  "$ref": "#/definitions/GraphAttribute-Sudo"
                }
              ]
            },
            "type": {
              "description": "Targets which a \"system\" can be associated to.",
              "enum": [
                "command",
                "policy",
                "policy_group",
                "user",
                "user_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-System3"
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (System)",
      "type": "object"
    },
    "GraphOperation-SystemGroup": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "Targets which a \"system_group\" can be associated to.",
              "enum": [
                "command",
                "policy",
                "policy_group",
                "user",
                "user_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-SystemGroup3"
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (SystemGroup)",
      "type": "object"
    },
    "GraphOperation-SystemGroup-Member": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "The member type.",
              "enum": [
                "system"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-SystemGroup-Member4",
                "values": [
                  {
                    "name": "systems",
                    "value": "system"
                  }
                ]
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (SystemGroup-Member)",
      "type": "object"
    },
    "GraphOperation-User": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "allOf": [
                {
                  "$ref": "#/definitions/GraphAttributes"
                },
                {
                  "$ref": "#/definitions/GraphAttribute-Sudo"
                }
              ]
            },
            "type": {
              "description": "Targets which a \"user\" can be associated to.",
              "enum": [
                "active_directory",
                "application",
                "g_suite",
                "ldap_server",
                "office_365",
                "radius_server",
                "system",
                "system_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-User5",
                "values": [
                  {
                    "name": "active_directory",
                    "value": "active_directory"
                  },
                  {
                    "name": "application",
                    "value": "application"
                  },
                  {
                    "name": "g_suite",
                    "value": "g_suite"
                  },
                  {
                    "name": "ldap_server",
                    "value": "ldap_server"
                  },
                  {
                    "name": "office_365",
                    "value": "office_365"
                  },
                  {
                    "name": "radius_server",
                    "value": "radius_server"
                  },
                  {
                    "name": "systems",
                    "value": "system"
                  },
                  {
                    "name": "systems_group",
                    "value": "system_group"
                  }
                ]
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (User)",
      "type": "object"
    },
    "GraphOperation-UserGroup": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "Targets which a \"user_group\" can be associated to.",
              "enum": [
                "active_directory",
                "application",
                "g_suite",
                "ldap_server",
                "office_365",
                "radius_server",
                "system",
                "system_group"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-UserGroup5",
                "values": [
                  {
                    "name": "active_directory",
                    "value": "active_directory"
                  },
                  {
                    "name": "application",
                    "value": "application"
                  },
                  {
                    "name": "g_suite",
                    "value": "g_suite"
                  },
                  {
                    "name": "ldap_server",
                    "value": "ldap_server"
                  },
                  {
                    "name": "office_365",
                    "value": "office_365"
                  },
                  {
                    "name": "radius_server",
                    "value": "radius_server"
                  },
                  {
                    "name": "systems",
                    "value": "system"
                  },
                  {
                    "name": "systems_group",
                    "value": "system_group"
                  }
                ]
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (UserGroup)",
      "type": "object"
    },
    "GraphOperation-UserGroup-Member": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphOperation"
        },
        {
          "properties": {
            "attributes": {
              "$ref": "#/definitions/GraphAttributes"
            },
            "type": {
              "description": "The member type.",
              "enum": [
                "user"
              ],
              "type": "string",
              "x-ms-enum": {
                "name": "GraphOperation-UserGroup-Member6"
              }
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "title": "GraphOperation (UserGroup-Member)",
      "type": "object"
    },
    "GraphType": {
      "description": "A graph object type.",
      "enum": [
        "active_directory",
        "application",
        "command",
        "g_suite",
        "ldap_server",
        "office_365",
        "policy",
        "policy_group",
        "radius_server",
        "system",
        "system_group",
        "user",
        "user_group"
      ],
      "title": "GraphType",
      "type": "string"
    },
    "Group": {
      "properties": {
        "attributes": {
          "$ref": "#/definitions/GraphAttributes"
        },
        "description": {
          "description": "Description of a Group",
          "type": "string"
        },
        "email": {
          "description": "E-mail address associated with a Group",
          "type": "string"
        },
        "id": {
          "description": "ObjectId uniquely identifying a Group.",
          "type": "string"
        },
        "name": {
          "description": "Display name of a Group.",
          "type": "string"
        },
        "type": {
          "$ref": "#/definitions/GroupType"
        }
      },
      "title": "Group",
      "type": "object"
    },
    "GroupAttributes-UserGroup": {
      "allOf": [
        {
          "$ref": "#/definitions/GraphAttributes"
        },
        {
          "$ref": "#/definitions/GraphAttribute-LdapGroups"
        },
        {
          "$ref": "#/definitions/GraphAttribute-PosixGroups"
        },
        {
          "$ref": "#/definitions/GraphAttribute-Radius"
        },
        {
          "$ref": "#/definitions/GraphAttribute-SambaEnabled"
        }
      ],
      "description": "The graph attributes for a UserGroup.",
      "title": "GroupAttributes (UserGroup)",
      "type": "object"
    },
    "GroupType": {
      "description": "The group type.",
      "enum": [
        "policy_group",
        "system_group",
        "user_group"
      ],
      "title": "GroupType",
      "type": "string"
    },
    "IPList": {
      "properties": {
        "description": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "ips": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        }
      },
      "title": "IPList",
      "type": "object"
    },
    "IPListRequest": {
      "properties": {
        "description": {
          "type": "string"
        },
        "ips": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        }
      },
      "title": "IPListRequest",
      "type": "object"
    },
    "LdapGroup": {
      "description": "An LDAP group object.",
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "title": "Ldap Group",
      "type": "object"
    },
    "LdapServerAction": {
      "enum": [
        "disable",
        "remove"
      ],
      "title": "LDAP Server Action",
      "type": "string"
    },
    "MemberSuggestion": {
      "properties": {
        "object": {
          "$ref": "#/definitions/GraphObject"
        },
        "op": {
          "description": "How to modify group membership.",
          "enum": [
            "add",
            "remove"
          ],
          "type": "string"
        }
      }
    },
    "OSRestriction": {
      "description": "Contains OS properties to restrict the application of policies to devices based on the device's OS",
      "example": {
        "with-apple-restrictions": {
          "appleRestrictions": {
            "requiresSupervision": false,
            "supportedEnrollmentTypes": [
              "automated",
              "device",
              "user"
            ]
          },
          "deprecatedVersion": "16.2",
          "earliestVersion": "14.1",
          "osName": "iPadOS"
        }
      },
      "properties": {
        "appleRestrictions": {
          "description": "The Apple specific restricitons for this policy, if there are any",
          "properties": {
            "requiresSupervision": {
              "description": "Boolean representing if the policy requires the Apple devices to be MDM supervised",
              "type": "boolean"
            },
            "supportedEnrollmentTypes": {
              "description": "The supported Apple enrollment types for this policy",
              "items": {
                "enum": [
                  "automated",
                  "device",
                  "user"
                ],
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "deprecatedVersion": {
          "description": "The version of the OS in which the policy was deprecated",
          "type": "string"
        },
        "earliestVersion": {
          "description": "The earliest version of the OS in which the policy can be applied",
          "type": "string"
        },
        "osName": {
          "description": "The name of the OS in which this restriction applies",
          "type": "string"
        },
        "supportedEnrollmentTypes": {
          "description": "This field is deprecated and will be ignored. Use appleRestrictions.supportedEnrollmentTypes instead",
          "items": {
            "enum": [
              "automated",
              "device",
              "user"
            ],
            "type": "string"
          },
          "type": "array",
          "x-deprecated": true
        }
      },
      "type": "object"
    },
    "Office365BuiltinTranslation": {
      "description": "Built-in translations for Office 365 (Microsoft Graph) export:\n* `user_alternate_email` - Translate `alternateEmail` field of JumpCloud user to `otherMails` field of Microsoft Graph `user`\n* `user_business_phones` - Translate `number` field of first JumpCloud user `phoneNumber` of type `work` to `businessPhones` field of Microsoft Graph `user`\n* `user_city` - Translate `locality` field of JumpCloud user address of type `work` to `city` field of Microsoft Graph user\n* `user_country` - Translate `country` field of JumpCloud user address of type `work` to `country` field of Microsoft Graph `user`\n* `user_department` - Translate `department` field of JumpCloud user to `department` field of Microsoft Graph `user`\n* `user_job_title` - Translate `jobTitle` field of JumpCloud user to `jobTitle` field of Microsoft Graph `user`\n* `user_manager` - Translate `manager` field of JumpCloud user to `manager` field of Microsoft Graph `user`\n* `user_mobile_phone` - Translate `number` field of first JumpCloud user `phoneNumber` of type `mobile` to `mobilePhone` field of Microsoft Graph `user`\n* `user_office_location` - Translate `location` field of JumpCloud user to `officeLocation` field of Microsoft Graph `user`\n* `user_postal_code` - Translate `postalCode` field of JumpCloud user address of type `work` to `postalCode` field of Microsoft Graph `user`\n* `user_principal_name_from_alternate_email` - Translate user `alternateEmail` field of Jumpcloud user to `userPrincipalName` field of Microsoft Graph `user`\n* `user_state` - Translate `region` field of JumpCloud user address of type `work` to `state` field of Microsoft Graph `user`\n* `user_street_address` - Translate `streetAddress` field of JumpCloud user address of type `work` to `streetAddress` field of Microsoft Graph user",
      "enum": [
        "user_alternate_email",
        "user_business_phones",
        "user_city",
        "user_country",
        "user_department",
        "user_job_title",
        "user_manager",
        "user_mobile_phone",
        "user_office_location",
        "user_postal_code",
        "user_principal_name_from_alternate_email",
        "user_state",
        "user_street_address"
      ],
      "title": "Office 365 BuiltIn Translation",
      "type": "string"
    },
    "Office365DirectionTranslation": {
      "default": "export",
      "description": "Direction identify if a attribute is going to be exported or imported from Office365\n* `Export`- The data will exported from the user modal to Office365\n",
      "enum": [
        "export"
      ],
      "title": "Office 365 Direction translation",
      "type": "string"
    },
    "Office365TranslationRule": {
      "properties": {
        "builtIn": {
          "$ref": "#/definitions/Office365BuiltinTranslation"
        },
        "direction": {
          "$ref": "#/definitions/Office365DirectionTranslation"
        },
        "id": {
          "description": "ObjectId uniquely identifying a Translation Rule.",
          "type": "string"
        }
      },
      "title": "Office 365 Translation Rule",
      "type": "object"
    },
    "Office365TranslationRuleRequest": {
      "example": {
        "builtIn": "user_department",
        "direction": "export"
      },
      "properties": {
        "builtIn": {
          "$ref": "#/definitions/Office365BuiltinTranslation"
        },
        "direction": {
          "$ref": "#/definitions/Office365DirectionTranslation"
        }
      },
      "title": "Office 365 Translation Rule Request",
      "type": "object"
    },
    "Organization": {
      "example": {
        "id": "624d9eae6849cf3b3f93dc56",
        "name": "Acme Inc"
      },
      "properties": {
        "id": {
          "type": "string"
        },
        "maxSystemUsers": {
          "description": "The maximum number of users allowed in this organization. Requires organizations.billing scope to modify.",
          "type": "integer"
        },
        "name": {
          "type": "string"
        }
      },
      "title": "Organization",
      "type": "object"
    },
    "PhoneNumber": {
      "properties": {
        "id": {
          "type": "string"
        },
        "number": {
          "maxLength": 1024,
          "type": "string"
        },
        "type": {
          "maxLength": 1024,
          "type": "string"
        }
      },
      "type": "object"
    },
    "Policy": {
      "description": "An instance of a policy template.",
      "properties": {
        "id": {
          "description": "ObjectId uniquely identifying a Policy.",
          "type": "string"
        },
        "name": {
          "description": "The description for this specific Policy.",
          "type": "string"
        },
        "template": {
          "$ref": "#/definitions/PolicyTemplate"
        }
      },
      "title": "Policy",
      "type": "object"
    },
    "PolicyGroup": {
      "properties": {
        "attributes": {
          "$ref": "#/definitions/GraphAttributes"
        },
        "description": {
          "description": "Description of a Policy Group",
          "type": "string"
        },
        "email": {
          "description": "E-mail address associated with a Policy Group",
          "type": "string"
        },
        "id": {
          "description": "ObjectId uniquely identifying a Policy Group.",
          "type": "string"
        },
        "name": {
          "description": "Display name of a Policy Group.",
          "type": "string"
        },
        "type": {
          "description": "The type of the group; always 'policy' for a Policy Group.",
          "enum": [
            "policy_group"
          ],
          "type": "string"
        }
      },
      "title": "PolicyGroup",
      "type": "object"
    },
    "PolicyGroupData": {
      "properties": {
        "name": {
          "description": "Display name of a Policy Group.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "title": "PolicyGroupData",
      "type": "object"
    },
    "PolicyRequest": {
      "description": "An instance of a policy template.",
      "properties": {
        "name": {
          "description": "The description for this specific Policy.",
          "type": "string"
        },
        "template": {
          "properties": {
            "id": {
              "description": "ObjectId uniquely identifying a Policy instance; only allowed on POST requests.",
              "type": "string"
            }
          },
          "type": "object"
        },
        "values": {
          "items": {
            "$ref": "#/definitions/PolicyValue"
          },
          "type": "array"
        }
      },
      "required": [
        "name"
      ],
      "title": "PolicyRequest",
      "type": "object"
    },
    "PolicyResult": {
      "properties": {
        "detail": {
          "description": "Details pertaining to the policy result.",
          "type": "string"
        },
        "endedAt": {
          "description": "The end of the policy application.",
          "format": "date-time",
          "type": "string"
        },
        "exitStatus": {
          "description": "The 32-bit unsigned exit status from the applying the policy.",
          "format": "int64",
          "type": "integer"
        },
        "id": {
          "description": "ObjectId uniquely identifying a Policy Result.",
          "type": "string"
        },
        "policyID": {
          "description": "ObjectId uniquely identifying the parent Policy.",
          "type": "string"
        },
        "startedAt": {
          "description": "The start of the policy application.",
          "format": "date-time",
          "type": "string"
        },
        "state": {
          "description": "Enumeration describing the state of the policy. Success, failed, or pending.",
          "type": "string"
        },
        "stdErr": {
          "description": "The STDERR output from applying the policy.",
          "type": "string"
        },
        "stdOut": {
          "description": "The STDOUT output from applying the policy.",
          "type": "string"
        },
        "success": {
          "description": "True if the policy was successfully applied; false otherwise.",
          "type": "boolean"
        },
        "systemID": {
          "description": "ObjectId uniquely identifying the parent System.",
          "type": "string"
        }
      },
      "title": "PolicyResult",
      "type": "object"
    },
    "PolicyTemplate": {
      "description": "The shallow information about a Policy Template.",
      "properties": {
        "activation": {
          "description": "Requirements before the policy can be activated.",
          "type": "string"
        },
        "alert": {
          "description": "Text to describe any risk associated with this policy.",
          "type": "string"
        },
        "behavior": {
          "description": "Specifics about the behavior of the policy.",
          "type": "string"
        },
        "deliveryTypes": {
          "description": "The supported delivery mechanisms for this policy template.",
          "items": {
            "default": "agent",
            "enum": [
              "agent",
              "mdm"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "description": {
          "description": "The default description for the Policy.",
          "type": "string"
        },
        "displayName": {
          "description": "The default display name for the Policy.",
          "type": "string"
        },
        "id": {
          "description": "ObjectId uniquely identifying a Policy Template.",
          "type": "string"
        },
        "name": {
          "description": "The unique name for the Policy Template.",
          "type": "string"
        },
        "osMetaFamily": {
          "enum": [
            "linux",
            "darwin",
            "windows",
            "ios"
          ],
          "type": "string"
        },
        "osRestrictions": {
          "items": {
            "$ref": "#/definitions/OSRestriction"
          },
          "type": "array"
        },
        "reference": {
          "description": "URL to visit for further information.",
          "type": "string"
        },
        "state": {
          "default": "",
          "description": "String describing the release status of the policy template.",
          "type": "string"
        }
      },
      "title": "PolicyTemplate",
      "type": "object",
      "x-examples": {
        "example-1": {
          "activation": "string",
          "alert": "string",
          "behavior": "string",
          "deliveryTypes": [
            "agent"
          ],
          "description": "string",
          "displayName": "string",
          "id": "string",
          "name": "string",
          "osMetaFamily": "linux",
          "osRestrictions": [
            {
              "deprecatedVersion": "string",
              "earliestVersion": "string",
              "osName": "string",
              "supportedEnrollmentTypes": [
                "automated"
              ]
            }
          ],
          "reference": "string",
          "state": ""
        }
      }
    },
    "PolicyTemplateConfigField": {
      "properties": {
        "defaultValue": {
          "description": "The default value for this field.",
          "type": "string"
        },
        "displayOptions": {
          "description": "The options that correspond to the display_type.",
          "type": "object",
          "additionalProperties": true
        },
        "displayType": {
          "description": "The default rendering for this field.",
          "enum": [
            "checkbox",
            "date",
            "email",
            "file",
            "number",
            "select",
            "text",
            "textarea",
            "singlelistbox",
            "doublelistbox",
            "table"
          ],
          "type": "string"
        },
        "id": {
          "description": "ObjectId uniquely identifying a Policy Template Configuration Field",
          "type": "string"
        },
        "label": {
          "description": "The default label for this field.",
          "type": "string"
        },
        "name": {
          "description": "A unique name identifying this config field.",
          "type": "string"
        },
        "position": {
          "description": "The default position to render this field.",
          "type": "number"
        },
        "readOnly": {
          "description": "If an admin is allowed to modify this field.",
          "type": "boolean"
        },
        "required": {
          "description": "If this field is required for this field.",
          "type": "boolean"
        },
        "tooltip": {
          "properties": {
            "template": {
              "type": "string"
            },
            "variables": {
              "properties": {
                "icon": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      },
      "required": [
        "id",
        "name"
      ],
      "title": "PolicyTemplateConfigField",
      "type": "object"
    },
    "PolicyTemplateWithDetails": {
      "description": "The shallow information about a Policy Template.",
      "properties": {
        "activation": {
          "description": "Requirements before the policy can be activated.",
          "type": "string"
        },
        "behavior": {
          "description": "Specifics about the behavior of the policy.",
          "type": "string"
        },
        "configFields": {
          "description": "An unordered list of all the fields that can be configured for this Policy Template.",
          "items": {
            "$ref": "#/definitions/PolicyTemplateConfigField"
          },
          "type": "array"
        },
        "description": {
          "description": "The default description for the Policy.",
          "type": "string"
        },
        "displayName": {
          "description": "The default display name for the Policy.",
          "type": "string"
        },
        "id": {
          "description": "ObjectId uniquely identifying a Policy Template.",
          "type": "string"
        },
        "name": {
          "description": "The unique name for the Policy Template.",
          "type": "string"
        },
        "osMetaFamily": {
          "enum": [
            "linux",
            "darwin",
            "windows",
            "ios"
          ],
          "type": "string"
        },
        "osRestrictions": {
          "items": {
            "$ref": "#/definitions/OSRestriction"
          },
          "type": "array"
        }
      },
      "title": "PolicyTemplateWithDetails",
      "type": "object"
    },
    "PolicyValue": {
      "properties": {
        "configFieldID": {
          "description": "The ObjectId of the corresponding Policy Template configuration field.",
          "type": "string"
        },
        "value": {
          "description": "The value for the configuration field for this Policy instance.",
          "type": "string"
        }
      },
      "title": "PolicyValue",
      "type": "object"
    },
    "PolicyWithDetails": {
      "description": "An instance of a policy template.",
      "properties": {
        "configFields": {
          "items": {
            "$ref": "#/definitions/PolicyTemplateConfigField"
          },
          "type": "array"
        },
        "id": {
          "description": "ObjectId uniquely identifying a Policy.",
          "type": "string"
        },
        "name": {
          "description": "The description for this specific Policy.",
          "type": "string"
        },
        "template": {
          "$ref": "#/definitions/PolicyTemplate"
        },
        "values": {
          "items": {
            "$ref": "#/definitions/PolicyValue"
          },
          "type": "array"
        }
      },
      "title": "PolicyWithDetails",
      "type": "object"
    },
    "ProviderAdminReq": {
      "example": {
        "bindNoOrgs": false,
        "email": "joe@example.com",
        "enableMultiFactor": true,
        "firstname": "Joe",
        "lastname": "Blough",
        "role": "5c3536e9e0a6840001872799",
        "roleName": "Administrator"
      },
      "properties": {
        "bindNoOrgs": {
          "default": false,
          "type": "boolean"
        },
        "email": {
          "type": "string"
        },
        "enableMultiFactor": {
          "type": "boolean"
        },
        "firstname": {
          "type": "string"
        },
        "lastname": {
          "type": "string"
        },
        "role": {
          "type": "string"
        },
        "roleName": {
          "type": "string"
        }
      },
      "required": [
        "email"
      ],
      "title": "ProviderAdminReq",
      "type": "object"
    },
    "ProviderInvoice": {
      "description": "Details of a an invoice",
      "example": {
        "amountBilled": "200.0",
        "amountPaid": "10.9",
        "amountRemaining": "189.1",
        "currency": "USD",
        "dueDate": "2021-08-07T00:00:00",
        "id": "234324",
        "status": "Partially Paid"
      },
      "properties": {
        "amountBilled": {
          "type": "string"
        },
        "amountPaid": {
          "type": "string"
        },
        "amountRemaining": {
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "dueDate": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      },
      "title": "ProviderInvoice",
      "type": "object"
    },
    "ProviderInvoiceResponse": {
      "description": "Response for retrieve provider invoices",
      "properties": {
        "records": {
          "items": {
            "$ref": "#/definitions/ProviderInvoice"
          },
          "type": "array"
        },
        "totalCount": {
          "type": "integer"
        }
      },
      "title": "ProviderInvoiceResponse",
      "type": "object"
    },
    "PushEndpointResponse": {
      "description": "A push endpoint response from the auth service.",
      "properties": {
        "device": {
          "properties": {
            "appVersion": {
              "type": "string"
            },
            "make": {
              "type": "string"
            },
            "model": {
              "type": "string"
            },
            "os": {
              "type": "string"
            },
            "osVersion": {
              "type": "string"
            },
            "uvEnabled": {
              "type": "boolean"
            }
          },
          "type": "object"
        },
        "enrollmentDate": {
          "format": "date-time",
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "lastUsedDate": {
          "format": "date-time",
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "state": {
          "type": "string"
        }
      },
      "title": "PushEndpointResponse",
      "type": "object"
    },
    "Query": {
      "description": "Basic query.",
      "discriminator": "queryType",
      "properties": {
        "queryType": {
          "enum": [
            "FilterQuery"
          ],
          "type": "string"
        }
      },
      "required": [
        "queryType"
      ],
      "title": "Query",
      "type": "object",
      "x-examples": {
        "example-1": {
          "queryType": "FilterQuery"
        }
      }
    },
    "SetupAssistantOption": {
      "description": "Options to skip screens during MacOS and iOS setup:\n* `accessibility` - Skips the Accessibility pane, only if the Mac is connected to Ethernet and the cloud config is downloaded.\n* `appearance` - Skips the Choose Your Look screen.\n* `appleID` - Skips Apple ID setup.\n* `biometric` - Skips biometric setup.\n* `diagnostics` - Skips the App Analytics pane.\n* `displayTone` - Skips display tone setup.\n* `fileVault` - Skips FileVault setup assistant screen.\n* `icloudDiagnostics` - Skips iCloud analytics screen.\n* `icloudStorage` - Skips iCloud documents and desktop screen.\n* `location` - Skips location services setup.\n* `payment` - Skips Apple Pay setup.\n* `privacy` - Skips the Privacy setup.\n* `restore` - Skips restoring from backup.\n* `screenTime` - Skips screen time setup.\n* `siri` - Skips Siri setup.\n* `tos` - Skips terms and conditions.\n* `appStore` - Skips the App Store pane.\n* `deviceToDeviceMigration` - Skips Device to Device Migration pane.\n* `displayZoom` - Skips zoom setup.\n* `homeButton` - Skips the Meet the New Home Button screen on iPhone 7, iPhone 7 Plus, iPhone 8, iPhone 8 Plus and iPhone SE.\n* `imessageAndFacetime` - Skips the iMessage and FaceTime screen in iOS.\n* `messagingActivationUsingPhoneNumber` - Skips the iMessage pane.\n* `moveFromAndroid` - If the Restore pane is not skipped, removes the Move from Android option in the Restore pane on iOS.O\n* `passcode` - Hides and disables the passcode pane.\n* `restoreComplete` - Skips the Restore Completed pane.\n* `setupCellular` - Skips the add cellular plan pane.\n* `softwareUpdate` - Skips the mandatory software update screen in iOS.\n* `unlockWithWatch` - Skips Unlock Your Mac with your Apple Watch pane.\n* `updateComplete` - Skips the Software Update Complete pane.\n* `watchMigration` - Skips the screen for watch migration.\n* `welcome` - Skips the Get Started pane.\n",
      "enum": [
        "accessibility",
        "appearance",
        "appleID",
        "biometric",
        "diagnostics",
        "displayTone",
        "fileVault",
        "icloudDiagnostics",
        "icloudStorage",
        "location",
        "payment",
        "privacy",
        "restore",
        "screenTime",
        "siri",
        "tos",
        "appStore",
        "displayZoom",
        "deviceToDeviceMigration",
        "homeButton",
        "imessageAndFacetime",
        "messagingActivationUsingPhoneNumber",
        "moveFromAndroid",
        "passcode",
        "restoreComplete",
        "setupCellular",
        "softwareUpdate",
        "unlockWithWatch",
        "updateComplete",
        "watchMigration",
        "welcome"
      ],
      "title": "Setup Assistant Option",
      "type": "string"
    },
    "SuggestionCounts": {
      "properties": {
        "add": {
          "type": "integer"
        },
        "remove": {
          "type": "integer"
        },
        "total": {
          "type": "integer"
        }
      },
      "readOnly": true,
      "type": "object"
    },
    "SystemGroup": {
      "properties": {
        "attributes": {
          "$ref": "#/definitions/GraphAttributes"
        },
        "description": {
          "description": "Description of a System Group",
          "type": "string"
        },
        "email": {
          "description": "E-mail address associated with a System Group",
          "type": "string"
        },
        "id": {
          "description": "ObjectId uniquely identifying a System Group.",
          "type": "string"
        },
        "name": {
          "description": "Display name of a System Group.",
          "type": "string"
        },
        "type": {
          "description": "The type of the group; always 'system' for a System Group.",
          "enum": [
            "system_group"
          ],
          "type": "string"
        }
      },
      "title": "SystemGroup",
      "type": "object"
    },
    "SystemGroupData": {
      "properties": {
        "name": {
          "description": "Display name of a System Group.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "title": "SystemGroupData",
      "type": "object"
    },
    "User": {
      "properties": {
        "addresses": {
          "items": {
            "$ref": "#/definitions/Address"
          },
          "type": "array"
        },
        "alternateEmail": {
          "type": "string"
        },
        "company": {
          "maxLength": 1024,
          "type": "string"
        },
        "costCenter": {
          "maxLength": 1024,
          "type": "string"
        },
        "department": {
          "maxLength": 1024,
          "type": "string"
        },
        "email": {
          "maxLength": 1024,
          "type": "string"
        },
        "employeeIdentifier": {
          "description": "Must be unique per user.",
          "maxLength": 256,
          "type": "string"
        },
        "employeeType": {
          "maxLength": 1024,
          "type": "string"
        },
        "firstname": {
          "maxLength": 1024,
          "type": "string"
        },
        "jobTitle": {
          "maxLength": 1024,
          "type": "string"
        },
        "lastname": {
          "maxLength": 1024,
          "type": "string"
        },
        "location": {
          "maxLength": 1024,
          "type": "string"
        },
        "phoneNumbers": {
          "items": {
            "$ref": "#/definitions/PhoneNumber"
          },
          "type": "array"
        }
      },
      "title": "User",
      "type": "object"
    },
    "UserGroup": {
      "properties": {
        "attributes": {
          "$ref": "#/definitions/GroupAttributes-UserGroup"
        },
        "description": {
          "description": "Description of a User Group",
          "type": "string"
        },
        "email": {
          "description": "Email address of a User Group",
          "type": "string"
        },
        "id": {
          "description": "ObjectId uniquely identifying a User Group.",
          "type": "string"
        },
        "memberQuery": {
          "$ref": "#/definitions/FilterQuery"
        },
        "memberSuggestionsNotify": {
          "description": "True if notification emails are to be sent for membership suggestions.",
          "type": "boolean"
        },
        "name": {
          "description": "Display name of a User Group.",
          "type": "string"
        },
        "suggestionCounts": {
          "$ref": "#/definitions/SuggestionCounts"
        },
        "type": {
          "description": "The type of the group.",
          "enum": [
            "user_group"
          ],
          "type": "string"
        }
      },
      "title": "UserGroup",
      "type": "object"
    },
    "UserGroupPost": {
      "properties": {
        "attributes": {
          "$ref": "#/definitions/GroupAttributes-UserGroup"
        },
        "description": {
          "description": "Description of a User Group",
          "type": "string"
        },
        "email": {
          "description": "Email address of a User Group",
          "type": "string"
        },
        "memberQuery": {
          "$ref": "#/definitions/FilterQuery"
        },
        "memberSuggestionsNotify": {
          "description": "True if notification emails are to be sent for membership suggestions.",
          "type": "boolean"
        },
        "name": {
          "description": "Display name of a User Group.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "title": "UserGroupPost",
      "type": "object"
    },
    "UserGroupPut": {
      "properties": {
        "attributes": {
          "$ref": "#/definitions/GroupAttributes-UserGroup"
        },
        "description": {
          "description": "Description of a User Group",
          "type": "string"
        },
        "email": {
          "description": "Email address of a User Group",
          "type": "string"
        },
        "memberQuery": {
          "$ref": "#/definitions/FilterQuery"
        },
        "memberSuggestionsNotify": {
          "description": "True if notification emails are to be sent for membership suggestions.",
          "type": "boolean"
        },
        "name": {
          "description": "Display name of a User Group.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "title": "UserGroupPut",
      "type": "object"
    },
    "active-directory-agent-get-output": {
      "properties": {
        "connectKey": {
          "description": "The connect key to use when installing the Agent on a Domain Controller.",
          "type": "string"
        },
        "contactAt": {
          "type": "string"
        },
        "hostname": {
          "type": "string"
        },
        "id": {
          "description": "ObjectID of this Active Directory Agent.",
          "type": "string"
        },
        "source_ip": {
          "type": "string"
        },
        "state": {
          "enum": [
            "unsealed",
            "active",
            "inactive"
          ],
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "required": [
        "id"
      ],
      "title": "Active Directory Agent Get Output",
      "type": "object"
    },
    "active-directory-agent-input": {
      "title": "Active Directory Agent Input",
      "type": "object",
      "additionalProperties": true
    },
    "active-directory-agent-list-output": {
      "properties": {
        "contactAt": {
          "type": "string"
        },
        "hostname": {
          "type": "string"
        },
        "id": {
          "description": "ObjectID of this Active Directory Agent.",
          "type": "string"
        },
        "source_ip": {
          "type": "string"
        },
        "state": {
          "enum": [
            "unsealed",
            "active",
            "inactive"
          ],
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "title": "Active Directory Agent List Output",
      "type": "object"
    },
    "active-directory-input": {
      "properties": {
        "domain": {
          "description": "Domain name for this Active Directory instance.",
          "type": "string"
        }
      },
      "title": "Active Directory Input",
      "type": "object"
    },
    "active-directory-output": {
      "allOf": [
        {
          "properties": {
            "id": {
              "description": "ObjectID of this Active Directory instance.",
              "type": "string"
            }
          },
          "required": [
            "id"
          ],
          "type": "object"
        },
        {
          "$ref": "#/definitions/active-directory-input"
        }
      ],
      "title": "Active Directory Output"
    },
    "apple-mdm-device": {
      "properties": {
        "createdAt": {
          "type": "string"
        },
        "depRegistered": {
          "type": "boolean"
        },
        "deviceInformation": {
          "$ref": "#/definitions/apple-mdm-device-info"
        },
        "enrolled": {
          "type": "boolean"
        },
        "hasActivationLockBypassCodes": {
          "type": "boolean"
        },
        "id": {
          "type": "string"
        },
        "osVersion": {
          "type": "string"
        },
        "securityInfo": {
          "$ref": "#/definitions/apple-mdm-device-security-info"
        },
        "serialNumber": {
          "type": "string"
        },
        "udid": {
          "type": "string"
        }
      },
      "title": "Apple MDM Device",
      "type": "object"
    },
    "apple-mdm-device-info": {
      "description": "Apple MDM device information",
      "properties": {
        "activationLockAllowedWhileSupervised": {
          "type": "boolean"
        },
        "availableDeviceCapacity": {
          "type": "number"
        },
        "deviceCapacity": {
          "type": "number"
        },
        "deviceName": {
          "type": "string"
        },
        "iccid": {
          "type": "string"
        },
        "imei": {
          "type": "string"
        },
        "isActivationLockEnabled": {
          "type": "boolean"
        },
        "isSupervised": {
          "type": "boolean"
        },
        "modelName": {
          "type": "string"
        },
        "subscriberCarrierNetwork": {
          "type": "string"
        },
        "wifiMac": {
          "type": "string"
        }
      },
      "title": "Apple MDM Device Info",
      "type": "object"
    },
    "apple-mdm-device-security-info": {
      "description": "Apple MDM device security information",
      "properties": {
        "enrolledViaDep": {
          "type": "boolean"
        },
        "isActivationLockManageable": {
          "type": "boolean"
        },
        "isUserEnrollment": {
          "type": "boolean"
        },
        "passcodePresent": {
          "type": "boolean"
        },
        "userApprovedEnrollment": {
          "type": "boolean"
        }
      },
      "title": "Apple MDM Device Security Info",
      "type": "object"
    },
    "apple-mdm-patch-input": {
      "properties": {
        "ades": {
          "$ref": "#/definitions/ADES"
        },
        "allowMobileUserEnrollment": {
          "description": "A toggle to allow mobile device enrollment for an organization.",
          "type": "boolean"
        },
        "appleSignedCert": {
          "description": "A signed certificate obtained from Apple after providing Apple with the plist file provided on POST.",
          "type": "string"
        },
        "defaultIosUserEnrollmentDeviceGroupID": {
          "description": "ObjectId uniquely identifying the MDM default iOS user enrollment device group.",
          "type": "string"
        },
        "defaultSystemGroupID": {
          "description": "ObjectId uniquely identifying the MDM default System Group.",
          "type": "string"
        },
        "dep": {
          "$ref": "#/definitions/DEP"
        },
        "encryptedDepServerToken": {
          "description": "The S/MIME encoded DEP Server Token returned by Apple Business Manager when creating an MDM instance.",
          "type": "string"
        },
        "name": {
          "description": "A new name for the Apple MDM configuration.",
          "maxLength": 255,
          "type": "string"
        }
      },
      "title": "Apple MDM Patch Input",
      "type": "object"
    },
    "auth-info": {
      "properties": {
        "expiry": {
          "type": "string"
        },
        "isValid": {
          "type": "boolean"
        },
        "message": {
          "type": "string"
        }
      },
      "title": "Auth Info",
      "type": "object"
    },
    "auth-input": {
      "properties": {
        "basic": {
          "properties": {
            "password": {
              "type": "string"
            },
            "username": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "oauth": {
          "properties": {
            "code": {
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "title": "Auth Input",
      "type": "object"
    },
    "auth-input-object": {
      "example": {
        "auth": {
          "basic": {
            "password": "mollit cillum",
            "username": "veniam dolore"
          },
          "oauth": {
            "code": "minim ad ea dolor"
          }
        }
      },
      "properties": {
        "auth": {
          "$ref": "#/definitions/auth-input"
        }
      },
      "title": "Auth Input Object",
      "type": "object"
    },
    "bulk-scheduled-statechange-create": {
      "description": "Model to support bulk scheduling of a state change for one or more users",
      "properties": {
        "start_date": {
          "description": "Date and time that scheduled action should occur",
          "format": "date-time",
          "type": "string"
        },
        "state": {
          "description": "The state to move the user(s) to",
          "enum": [
            "ACTIVATED",
            "SUSPENDED"
          ],
          "type": "string"
        },
        "user_ids": {
          "description": "Array of system user ids to schedule for a state change",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "user_ids",
        "state",
        "start_date"
      ],
      "title": "Bulk Schedule User State Change Create",
      "type": "object",
      "x-examples": {
        "example-1": {
          "start_date": "2020-01-01T02:00:00",
          "state": "SUSPENDED",
          "user_ids": [
            "666f6f2d6261722d71757578",
            "0123456789ab0123456789ab",
            "666f6f2d6261722d71757555"
          ]
        },
        "example-2": {
          "start_date": "2020-01-01T02:00:00",
          "state": "ACTIVATED",
          "user_ids": [
            "666f6f2d6261722d71757578",
            "0123456789ab0123456789ab",
            "666f6f2d6261722d71757555"
          ]
        }
      }
    },
    "bulk-user-create": {
      "description": "See [V1 system user creation](https://docs.jumpcloud.com/api/1.0/index.html#operation/systemusers_post) for full list of attributes.",
      "properties": {
        "attributes": {
          "description": "Map of additional attributes.",
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "type": "array"
        },
        "email": {
          "type": "string"
        },
        "firstname": {
          "type": "string"
        },
        "lastname": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      },
      "title": "Bulk User Create",
      "type": "object"
    },
    "bulk-user-update": {
      "description": "See [V1 system user update](https://docs.jumpcloud.com/api/1.0/index.html#operation/systemusers_put) for full list of attributes.",
      "properties": {
        "attributes": {
          "description": "Map of additional attributes.",
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "type": "array"
        },
        "email": {
          "type": "string"
        },
        "firstname": {
          "type": "string"
        },
        "id": {
          "description": "Object ID of the systemuser being updated",
          "type": "string"
        },
        "lastname": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      },
      "title": "Bulk User Update",
      "type": "object"
    },
    "feature": {
      "description": "A feature represents JumpCloud functionality.",
      "properties": {
        "name": {
          "description": "The unique identifier for this feature.",
          "enum": [
            "cloudDirectory",
            "deviceManagement",
            "directoryInsightsPremium",
            "ldap",
            "mdm",
            "mfa",
            "premiumSupport",
            "radius",
            "sso",
            "systemInsights",
            "userLifecycle",
            "zeroTrust",
            "jumpcloudProtect",
            "osPatchManagement"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "gsuite-output": {
      "properties": {
        "groupsEnabled": {
          "type": "boolean"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "userLockoutAction": {
          "enum": [
            "suspend",
            "maintain"
          ],
          "type": "string"
        },
        "userPasswordExpirationAction": {
          "enum": [
            "suspend",
            "maintain",
            "remove_access"
          ],
          "type": "string"
        }
      },
      "title": "GSuite Output",
      "type": "object"
    },
    "gsuite-patch-input": {
      "properties": {
        "groupsEnabled": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "userLockoutAction": {
          "enum": [
            "suspend",
            "maintain"
          ],
          "type": "string"
        },
        "userPasswordExpirationAction": {
          "enum": [
            "suspend",
            "maintain",
            "remove_access"
          ],
          "type": "string"
        }
      },
      "title": "GSuite Patch Input",
      "type": "object"
    },
    "importUser": {
      "properties": {
        "addresses": {
          "items": {
            "$ref": "#/definitions/importUserAddress"
          },
          "type": "array"
        },
        "company": {
          "type": "string"
        },
        "costCenter": {
          "type": "string"
        },
        "department": {
          "type": "string"
        },
        "displayname": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "employeeIdentifier": {
          "type": "string"
        },
        "employeeType": {
          "type": "string"
        },
        "firstname": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "jobTitle": {
          "type": "string"
        },
        "lastname": {
          "type": "string"
        },
        "location": {
          "type": "string"
        },
        "manager": {
          "type": "string"
        },
        "middlename": {
          "type": "string"
        },
        "phoneNumbers": {
          "items": {
            "$ref": "#/definitions/importUserPhoneNumber"
          },
          "type": "array"
        },
        "username": {
          "type": "string"
        }
      },
      "title": "Import User",
      "type": "object"
    },
    "importUserAddress": {
      "properties": {
        "country": {
          "type": "string"
        },
        "locality": {
          "type": "string"
        },
        "postalCode": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "streetAddress": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "title": "Import User Address",
      "type": "object"
    },
    "importUserPhoneNumber": {
      "properties": {
        "type": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "title": "Import User Address",
      "type": "object"
    },
    "importUsersResponse": {
      "properties": {
        "total_count": {
          "type": "number"
        },
        "users": {
          "items": {
            "$ref": "#/definitions/importUser"
          },
          "type": "array"
        }
      },
      "title": "Import Users Response",
      "type": "object"
    },
    "job-id": {
      "properties": {
        "jobId": {
          "type": "string"
        }
      },
      "title": "Job ID",
      "type": "object",
      "x-examples": {
        "example-1": {
          "jobId": "string"
        }
      }
    },
    "job-workresult": {
      "properties": {
        "createdAt": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "meta": {
          "type": "object",
          "additionalProperties": true
        },
        "persistedFields": {
          "type": "object",
          "additionalProperties": true
        },
        "status": {
          "type": "string"
        },
        "statusMsg": {
          "type": "string"
        },
        "updatedAt": {
          "type": "string"
        }
      },
      "title": "Job WorkResult",
      "type": "object"
    },
    "ldap-server-input": {
      "properties": {
        "name": {
          "description": "The name of this LDAP server",
          "type": "string"
        },
        "userLockoutAction": {
          "description": "action to take; one of 'remove' or 'disable'",
          "enum": [
            "disable",
            "remove"
          ],
          "type": "string"
        },
        "userPasswordExpirationAction": {
          "description": "action to take; one of 'remove' or 'disable'",
          "enum": [
            "disable",
            "remove"
          ],
          "type": "string"
        }
      },
      "title": "LDAP Server Input",
      "type": "object"
    },
    "ldap-server-output": {
      "allOf": [
        {
          "properties": {
            "id": {
              "description": "Unique identifier of this LDAP server",
              "type": "string"
            }
          },
          "required": [
            "id"
          ],
          "type": "object"
        },
        {
          "$ref": "#/definitions/ldap-server-input"
        }
      ],
      "title": "LDAP Server Output"
    },
    "office365-output": {
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "userLockoutAction": {
          "enum": [
            "suspend",
            "maintain"
          ],
          "type": "string"
        },
        "userPasswordExpirationAction": {
          "enum": [
            "suspend",
            "maintain"
          ],
          "type": "string"
        }
      },
      "required": [
        "id",
        "userLockoutAction",
        "userPasswordExpirationAction"
      ],
      "title": "Office 365 Output",
      "type": "object"
    },
    "office365-patch-input": {
      "properties": {
        "name": {
          "type": "string"
        },
        "userLockoutAction": {
          "enum": [
            "suspend",
            "maintain"
          ],
          "type": "string"
        },
        "userPasswordExpirationAction": {
          "enum": [
            "suspend",
            "maintain"
          ],
          "type": "string"
        }
      },
      "title": "Office 365 Patch Input",
      "type": "object"
    },
    "samba-domain-input": {
      "properties": {
        "name": {
          "description": "Name of this domain's WorkGroup",
          "type": "string"
        },
        "sid": {
          "description": "Security identifier of this domain",
          "type": "string"
        }
      },
      "required": [
        "name",
        "sid"
      ],
      "title": "Samba Domain Input",
      "type": "object"
    },
    "samba-domain-output": {
      "allOf": [
        {
          "properties": {
            "id": {
              "description": "Unique identifier of this domain",
              "type": "string"
            }
          },
          "required": [
            "id"
          ],
          "type": "object"
        },
        {
          "$ref": "#/definitions/samba-domain-input"
        }
      ],
      "title": "Samba Domain Output"
    },
    "scheduled-userstate-result": {
      "properties": {
        "scheduledDate": {
          "type": "string"
        },
        "scheduledJobId": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "systemUserId": {
          "type": "string"
        }
      },
      "title": "Scheduled Userstate Result",
      "type": "object"
    },
    "software-app": {
      "properties": {
        "displayName": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "settings": {
          "items": {
            "$ref": "#/definitions/SoftwareAppSettings"
          },
          "type": "array"
        }
      },
      "title": "Software Application Package",
      "type": "object"
    },
    "software-app-apple-vpp": {
      "description": "appleVpp is an optional attribute, it will only be present on apps with a 'setting' 'package_manager' type of 'APPLE_VPP'.",
      "properties": {
        "appConfiguration": {
          "description": "Text sent to configure the application, the text should be a valid plist. Returned only by 'GET /softwareapps/{id}'.",
          "type": "string"
        },
        "assignedLicenses": {
          "default": 0,
          "type": "integer"
        },
        "availableLicenses": {
          "default": 0,
          "type": "integer"
        },
        "details": {
          "description": "App details returned by iTunes API. See example. The properties in this field are out of our control and we cannot guarantee consistency, so it should be checked by the client and manage the details accordingly.",
          "type": "object",
          "additionalProperties": true
        },
        "isConfigEnabled": {
          "description": "Denotes if configuration has been enabled for the application. Returned only by ''GET /softwareapps/{id}''.",
          "type": "boolean"
        },
        "supportedDeviceFamilies": {
          "description": "The supported device families for this VPP Application.",
          "items": {
            "enum": [
              "IPAD",
              "IPHONE",
              "IPOD",
              "MAC"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "totalLicenses": {
          "default": 0,
          "type": "integer"
        }
      },
      "title": "software-app-apple-vpp",
      "type": "object"
    },
    "software-app-reclaim-licenses": {
      "properties": {
        "assignedLicenses": {
          "default": 0,
          "type": "integer"
        },
        "availableLicenses": {
          "default": 0,
          "type": "integer"
        },
        "reclaimedLicenses": {
          "default": 0,
          "type": "integer"
        },
        "totalLicenses": {
          "default": 0,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "SoftwareAppSettings": {
      "properties": {
        "allowUpdateDelay": {
          "default": false,
          "type": "boolean"
        },
        "appleVpp": {
          "$ref": "#/definitions/software-app-apple-vpp"
        },
        "assetKind": {
          "description": "The manifest asset kind (ex: software).",
          "type": "string"
        },
        "assetSha256Size": {
          "description": "The incremental size to use for summing the package as it is downloaded.",
          "type": "integer"
        },
        "assetSha256Strings": {
          "description": "The array of checksums, one each for the hash size up to the total size of the package.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "autoUpdate": {
          "default": false,
          "type": "boolean"
        },
        "description": {
          "description": "The software app description.",
          "type": "string"
        },
        "desiredState": {
          "description": "State of Install or Uninstall",
          "type": "string"
        },
        "location": {
          "description": "Repository where the app is located within the package manager",
          "type": "string"
        },
        "locationObjectId": {
          "description": "ID of the repository where the app is located within the package manager",
          "type": "string"
        },
        "packageId": {
          "type": "string"
        },
        "packageKind": {
          "description": "The package manifest kind (ex: software-package).",
          "type": "string"
        },
        "packageManager": {
          "description": "App store serving the app: APPLE_VPP, CHOCOLATEY, etc.",
          "type": "string"
        },
        "packageSubtitle": {
          "description": "The package manifest subtitle.",
          "type": "string"
        },
        "packageVersion": {
          "description": "The package manifest version.",
          "type": "string"
        }
      },
      "type": "object",
      "x-examples": {
        "example-1": {
          "allowUpdateDelay": false,
          "autoUpdate": false,
          "desiredState": "string",
          "location": "string",
          "locationObjectId": "string",
          "packageId": "string",
          "packageManager": "string"
        }
      }
    },
    "software-app-status": {
      "properties": {
        "code": {
          "type": "integer"
        },
        "details": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "softwareAppId": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "systemId": {
          "type": "string"
        },
        "timestamp": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "title": "Software Application Status"
    },
    "subscription": {
      "properties": {
        "annualPrice": {
          "description": "The annual (discounted) price of this subscription.",
          "type": "number"
        },
        "displayName": {
          "description": "The display name of this subscription.",
          "type": "string"
        },
        "features": {
          "description": "Array of the features included in the subscription.",
          "items": {
            "$ref": "#/definitions/feature"
          },
          "type": "array"
        },
        "listPrice": {
          "description": "The list price of this subscription.",
          "type": "number"
        },
        "productCode": {
          "description": "Unique identifier corresponding to this subscription.",
          "type": "string"
        }
      },
      "required": [
        "annualPrice",
        "displayName",
        "features",
        "listPrice",
        "productCode"
      ],
      "title": "Subscription",
      "type": "object"
    },
    "system-insights-alf": {
      "properties": {
        "allow_signed_enabled\t": {
          "type": "integer"
        },
        "collection_time": {
          "type": "string"
        },
        "firewall_unload": {
          "type": "integer"
        },
        "global_state": {
          "type": "integer"
        },
        "logging_enabled": {
          "type": "integer"
        },
        "logging_option": {
          "type": "integer"
        },
        "stealth_enabled": {
          "type": "integer"
        },
        "system_id": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "title": "System Insights ALF",
      "type": "object"
    },
    "system-insights-alf-exceptions": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "state": {
          "type": "number"
        },
        "system_id": {
          "type": "string"
        }
      },
      "title": "System Insights ALF Exceptions",
      "type": "object"
    },
    "system-insights-alf-explicit-auths": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "process": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        }
      },
      "title": "System Insights ALF Explicit Authorizations",
      "type": "object"
    },
    "system-insights-appcompat-shims": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "executable": {
          "type": "string"
        },
        "install_time": {
          "type": "number"
        },
        "path": {
          "type": "string"
        },
        "sdb_id": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "title": "System Insights Application Compatibility Shims",
      "type": "object"
    },
    "system-insights-apps": {
      "example": {
        "applescript_enabled": "1",
        "bundle_executable": "App Store",
        "bundle_identifier": "com.apple.appstore",
        "bundle_name": "App Store",
        "bundle_package_type": "APPL",
        "bundle_short_version": "2.4",
        "bundle_version": "658.1",
        "category": "public.app-category.utilities",
        "collection_time": "2019-06-03T19:41:30.658+00:00",
        "compiler": "com.apple.compilers.llvm.clang.1_0",
        "copyright": "",
        "development_region": "English",
        "display_name": "App Store",
        "element": "",
        "environment": "",
        "info_string": "",
        "last_opened_time": 1556688963,
        "minimum_system_version": "10.13",
        "name": "App Store.app",
        "path": "/Applications/App Store.app",
        "system_id": "5c9e51a13c5146f89bae12d9"
      },
      "properties": {
        "applescript_enabled": {
          "type": "string"
        },
        "bundle_executable": {
          "type": "string"
        },
        "bundle_identifier": {
          "type": "string"
        },
        "bundle_name": {
          "type": "string"
        },
        "bundle_package_type": {
          "type": "string"
        },
        "bundle_short_version": {
          "type": "string"
        },
        "bundle_version": {
          "type": "string"
        },
        "category": {
          "type": "string"
        },
        "collection_time": {
          "type": "string"
        },
        "compiler": {
          "type": "string"
        },
        "copyright": {
          "type": "string"
        },
        "development_region": {
          "type": "string"
        },
        "display_name": {
          "type": "string"
        },
        "element": {
          "type": "string"
        },
        "environment": {
          "type": "string"
        },
        "info_string": {
          "type": "string"
        },
        "last_opened_time": {
          "type": "number"
        },
        "minimum_system_version": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        }
      },
      "title": "System Insights Apps",
      "type": "object"
    },
    "system-insights-authorized-keys": {
      "properties": {
        "algorithm": {
          "type": "string"
        },
        "collection_time": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "key_file": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        }
      },
      "title": "System Insights Authorized Keys",
      "type": "object"
    },
    "system-insights-battery": {
      "example": {
        "amperage": 93836453,
        "charged": 63086136,
        "charging": 6577424,
        "collection_time": "anim in dolor",
        "condition": "magna Ut dolor laborum",
        "current_capacity": 95829126,
        "cycle_count": -58203101,
        "designed_capacity": 51607498,
        "health": "ipsum Duis amet magna sint",
        "manufacture_date": 66625366,
        "manufacturer": "laboris",
        "max_capacity": 407375,
        "minutes_to_full_charge": -43087634,
        "minutes_until_empty": 56660087,
        "model": "cupidatat quis esse tempor nostr",
        "percent_remaining": -77798506,
        "serial_number": "est do nisi anim eu",
        "state": "Duis qui eu labore",
        "system_id": "elit nulla cillum et",
        "voltage": -79728034
      },
      "properties": {
        "amperage": {
          "type": "integer"
        },
        "charged": {
          "type": "integer"
        },
        "charging": {
          "type": "integer"
        },
        "collection_time": {
          "type": "string"
        },
        "condition": {
          "type": "string"
        },
        "current_capacity": {
          "type": "integer"
        },
        "cycle_count": {
          "type": "integer"
        },
        "designed_capacity": {
          "type": "integer"
        },
        "health": {
          "type": "string"
        },
        "manufacture_date": {
          "type": "integer"
        },
        "manufacturer": {
          "type": "string"
        },
        "max_capacity": {
          "type": "integer"
        },
        "minutes_to_full_charge": {
          "type": "integer"
        },
        "minutes_until_empty": {
          "type": "integer"
        },
        "model": {
          "type": "string"
        },
        "percent_remaining": {
          "type": "integer"
        },
        "serial_number": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "voltage": {
          "type": "integer"
        }
      },
      "title": "System Insights Battery",
      "type": "object"
    },
    "system-insights-bitlocker-info": {
      "example": {
        "collection_time": "2019-06-03T19:41:30.658+00:00",
        "conversion_status": 0,
        "devide_id": "\\\\\\\\?\\\\Volume{3ba5cc52-e0fd-45fa-b8b8-5c88f44f8b17}\\",
        "drive_letter": "C:",
        "encryption_method": "None",
        "persistent_volume_id": "",
        "protection_status": 0,
        "system_id": "5c9e51a13c5146f89bae12d9"
      },
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "conversion_status": {
          "type": "integer"
        },
        "device_id": {
          "type": "string"
        },
        "drive_letter": {
          "type": "string"
        },
        "encryption_method": {
          "type": "string"
        },
        "persistent_volume_id": {
          "type": "string"
        },
        "protection_status": {
          "type": "integer"
        },
        "system_id": {
          "type": "string"
        }
      },
      "title": "System Insights Bitlocker Info",
      "type": "object"
    },
    "system-insights-browser-plugins": {
      "example": {
        "collection_time": "2019-06-03T19:41:30.858+00:00",
        "description": "LastPass Plugin",
        "development_region": "en-US",
        "disabled": 0,
        "identifier": "com.lastpass.nplastpass",
        "name": "LastPass",
        "native": 0,
        "path": "/Library/Internet Plug-Ins/nplastpass.plugin/",
        "sdk": "7D175",
        "system_id": "5c9e51a13c5146f89bae12d9",
        "uid": "0",
        "version": "4.1.7"
      },
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "development_region": {
          "type": "string"
        },
        "disabled": {
          "type": "integer"
        },
        "identifier": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "native": {
          "type": "integer"
        },
        "path": {
          "type": "string"
        },
        "sdk": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "title": "System Insights Browser Plugins",
      "type": "object"
    },
    "system-insights-certificates": {
      "properties": {
        "authority_key_id": {
          "type": "string"
        },
        "ca": {
          "type": "integer"
        },
        "common_name": {
          "type": "string"
        },
        "issuer": {
          "type": "string"
        },
        "key_algorithm": {
          "type": "string"
        },
        "key_strength": {
          "type": "string"
        },
        "key_usage": {
          "type": "string"
        },
        "not_valid_after": {
          "type": "string"
        },
        "not_valid_before": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "self_signed": {
          "type": "integer"
        },
        "serial": {
          "type": "string"
        },
        "sha1": {
          "type": "string"
        },
        "sid": {
          "type": "string"
        },
        "signing_algorithm": {
          "type": "string"
        },
        "store": {
          "type": "string"
        },
        "store_id": {
          "type": "string"
        },
        "store_location": {
          "type": "string"
        },
        "subject": {
          "type": "string"
        },
        "subject_key_id": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      }
    },
    "system-insights-chrome-extensions": {
      "example": {
        "author": "",
        "collection_time": "2019-06-03T19:41:31.125+00:00",
        "description": "provider for discovery and services for mirroring of chrome media router",
        "identifier": "pkedcjkdefgpdelpbcmbmeomcjbeemfm",
        "locale": "en",
        "name": "chrome media router",
        "path": "/users/thomas/library/application support/google/chrome/default/extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/7419.311.0.1_0/",
        "permissions": "alarms, cast, cast.streaming, declarativewebrequest, desktopcapture, gcm, http://*/*, identity, identity.email, management, mdns, mediarouterprivate, metricsprivate, networkingprivate, processes, storage, system.cpu, settingsprivate, tabcapture, tabs, webview, https://hangouts.google.com/*, https://*.google.com/cast/chromecast/home/gsse",
        "persistent": 0,
        "system_id": "5c9e51a13c5146f89bae12d9",
        "uid": "501",
        "update_url": "https://clients2.google.com/service/update2/crx",
        "version": "7419.311.0.1"
      },
      "properties": {
        "author": {
          "type": "string"
        },
        "collection_time": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "identifier": {
          "type": "string"
        },
        "locale": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "permissions": {
          "type": "string"
        },
        "persistent": {
          "type": "integer"
        },
        "system_id": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        },
        "update_url": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "title": "System Insights Chrome Extensions",
      "type": "object"
    },
    "system-insights-connectivity": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "disconnected": {
          "type": "integer"
        },
        "ipv4_internet": {
          "type": "integer"
        },
        "ipv4_local_network": {
          "type": "integer"
        },
        "ipv4_no_traffic": {
          "type": "integer"
        },
        "ipv4_subnet": {
          "type": "integer"
        },
        "ipv6_internet": {
          "type": "integer"
        },
        "ipv6_local_network": {
          "type": "integer"
        },
        "ipv6_no_traffic": {
          "type": "integer"
        },
        "ipv6_subnet": {
          "type": "integer"
        },
        "system_id": {
          "type": "string"
        }
      },
      "title": "system insights connectivity",
      "type": "object"
    },
    "system-insights-crashes": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "crash_path": {
          "type": "string"
        },
        "crashed_thread": {
          "type": "string"
        },
        "datetime": {
          "type": "string"
        },
        "exception_codes": {
          "type": "string"
        },
        "exception_notes": {
          "type": "string"
        },
        "exception_type": {
          "type": "string"
        },
        "identifier": {
          "type": "string"
        },
        "parent": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "pid": {
          "type": "string"
        },
        "registers": {
          "type": "string"
        },
        "responsible": {
          "type": "string"
        },
        "stack_trace": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "uid": {
          "type": "integer"
        },
        "version": {
          "type": "string"
        }
      },
      "title": "System Insights Crashes",
      "type": "object"
    },
    "system-insights-cups-destinations": {
      "properties": {
        "name": {
          "type": "string"
        },
        "option_name": {
          "type": "string"
        },
        "option_value": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        }
      }
    },
    "system-insights-disk-encryption": {
      "example": {
        "collection_time": "2019-06-03T19:41:31.557+00:00",
        "encrypted": 0,
        "encryption_status": "undefined",
        "name": "/dev/disk8",
        "system_id": "5c9e51a13c5146f89bae12d9",
        "type": "",
        "uid": "",
        "user_uuid": "",
        "uuid": ""
      },
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "encrypted": {
          "type": "integer"
        },
        "encryption_status": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        },
        "user_uuid": {
          "type": "string"
        },
        "uuid": {
          "type": "string"
        }
      },
      "title": "System Insights Disk Encryption",
      "type": "object"
    },
    "system-insights-disk-info": {
      "example": {
        "collection_time": "2019-06-03T19:41:30.658+00:00",
        "description": "Disk drive",
        "disk_index": 0,
        "disk_size": "64420392960",
        "hardware_model": "VMware, VMware Virtual S SCSI Disk Device",
        "id": "\\\\.\\PHYSICALDRIVE0",
        "manufacturer": "(Standard disk drives)",
        "name": "\\\\.\\PHYSICALDRIVE0",
        "partitions": 3,
        "pnp_device_id": "SCSI\\DISK&VEN_VMWARE_&PROD_VMWARE_VIRTUAL_S\\5&1EC51BF7&0&000000",
        "serial": "",
        "system_id": "5c9e51a13c5146f89bae12d9",
        "type": "SCSI"
      },
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "disk_index": {
          "type": "integer"
        },
        "disk_size": {
          "type": "string"
        },
        "hardware_model": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "manufacturer": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "partitions": {
          "type": "integer"
        },
        "pnp_device_id": {
          "type": "string"
        },
        "serial": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "title": "System Insights Disk Info",
      "type": "object"
    },
    "system-insights-dns-resolvers": {
      "properties": {
        "address": {
          "type": "string"
        },
        "collection_time": {
          "type": "string"
        },
        "id": {
          "type": "number"
        },
        "netmask": {
          "type": "string"
        },
        "options": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "title": "System Insights DNS Resolvers",
      "type": "object"
    },
    "system-insights-etc-hosts": {
      "example": {
        "address": "192.168.2.21",
        "collection_time": "2019-06-03T19:41:30.658+00:00",
        "hostnames": "hosty hosty.local",
        "system_id": "5c9e51a13c5146f89bae12d9"
      },
      "properties": {
        "address": {
          "type": "string"
        },
        "collection_time": {
          "type": "string"
        },
        "hostnames": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        }
      },
      "title": "System Insights Etc Hosts",
      "type": "object"
    },
    "system-insights-firefox-addons": {
      "example": {
        "active": 1,
        "autoupdate": 1,
        "collection_time": "2019-06-03T19:41:31.204+00:00",
        "creator": "null",
        "description": "",
        "disabled": 0,
        "identifier": "fxmonitor@mozilla.org",
        "location": "app-system-addons",
        "name": "Firefox Monitor",
        "path": "",
        "source_url": "file:///var/folders/dn/zjm_0lzn4lv6bgnt5b3nkgxh0000gn/T/tmpaddon-9fb449",
        "system_id": "5c9e51a13c5146f89bae12d9",
        "type": "extension",
        "uid": "501",
        "version": "2.8",
        "visible": 1
      },
      "properties": {
        "active": {
          "type": "integer"
        },
        "autoupdate": {
          "type": "integer"
        },
        "collection_time": {
          "type": "string"
        },
        "creator": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "disabled": {
          "type": "integer"
        },
        "identifier": {
          "type": "string"
        },
        "location": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "source_url": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "visible": {
          "type": "integer"
        }
      },
      "title": "System Insights Firefox Addons",
      "type": "object"
    },
    "system-insights-groups": {
      "example": {
        "collection_time": "2019-06-03T19:41:31.673+00:00",
        "comment": "",
        "gid": "701",
        "gid_signed": "701",
        "group_sid": "",
        "groupname": "1",
        "system_id": "5c9e51a13c5146f89bae12d9"
      },
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "comment": {
          "type": "string"
        },
        "gid": {
          "type": "string"
        },
        "gid_signed": {
          "type": "string"
        },
        "group_sid": {
          "type": "string"
        },
        "groupname": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        }
      },
      "title": "System Insights Groups",
      "type": "object"
    },
    "system-insights-ie-extensions": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "registry_path": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "title": "System Insights IE Extensions",
      "type": "object"
    },
    "system-insights-interface-addresses": {
      "example": {
        "address": "::1",
        "broadcast": "",
        "collection_time": "2019-06-03T19:41:31.008+00:00",
        "friendly_name": "",
        "interface": "lo0",
        "mask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
        "point_to_point": "::1",
        "system_id": "5c9e51a13c5146f89bae12d9",
        "type": "unknown"
      },
      "properties": {
        "address": {
          "type": "string"
        },
        "broadcast": {
          "type": "string"
        },
        "collection_time": {
          "type": "string"
        },
        "friendly_name": {
          "type": "string"
        },
        "interface": {
          "type": "string"
        },
        "mask": {
          "type": "string"
        },
        "point_to_point": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "title": "System Insights Interface Addresses",
      "type": "object"
    },
    "system-insights-interface-details": {
      "properties": {
        "collisions": {
          "type": "string"
        },
        "connection_id": {
          "type": "string"
        },
        "connection_status": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "dhcp_enabled": {
          "type": "integer"
        },
        "dhcp_lease_expires": {
          "type": "string"
        },
        "dhcp_lease_obtained": {
          "type": "string"
        },
        "dhcp_server": {
          "type": "string"
        },
        "dns_domain": {
          "type": "string"
        },
        "dns_domain_suffix_search_order": {
          "type": "string"
        },
        "dns_host_name": {
          "type": "string"
        },
        "dns_server_search_order": {
          "type": "string"
        },
        "enabled": {
          "type": "integer"
        },
        "flags": {
          "type": "integer"
        },
        "friendly_name": {
          "type": "string"
        },
        "ibytes": {
          "type": "string"
        },
        "idrops": {
          "type": "string"
        },
        "ierrors": {
          "type": "string"
        },
        "interface": {
          "type": "string"
        },
        "ipackets": {
          "type": "string"
        },
        "last_change": {
          "type": "string"
        },
        "link_speed": {
          "type": "string"
        },
        "mac": {
          "type": "string"
        },
        "manufacturer": {
          "type": "string"
        },
        "metric": {
          "type": "integer"
        },
        "mtu": {
          "type": "integer"
        },
        "obytes": {
          "type": "string"
        },
        "odrops": {
          "type": "string"
        },
        "oerrors": {
          "type": "string"
        },
        "opackets": {
          "type": "string"
        },
        "pci_slot": {
          "type": "string"
        },
        "physical_adapter": {
          "type": "integer"
        },
        "service": {
          "type": "string"
        },
        "speed": {
          "type": "integer"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "system-insights-kernel-info": {
      "properties": {
        "arguments": {
          "type": "string"
        },
        "collection_time": {
          "type": "string"
        },
        "device": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "title": "System Insights Kernel Info",
      "type": "object"
    },
    "system-insights-launchd": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "disabled": {
          "type": "string"
        },
        "groupname": {
          "type": "string"
        },
        "inetd_compatibility": {
          "type": "string"
        },
        "keep_alive": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "on_demand": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "process_type": {
          "type": "string"
        },
        "program": {
          "type": "string"
        },
        "program_arguments": {
          "type": "string"
        },
        "queue_directories": {
          "type": "string"
        },
        "root_directory": {
          "type": "string"
        },
        "run_at_load": {
          "type": "string"
        },
        "start_interval": {
          "type": "string"
        },
        "start_on_mount": {
          "type": "string"
        },
        "stderr_path": {
          "type": "string"
        },
        "stdout_path": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "username": {
          "type": "string"
        },
        "watch_paths": {
          "type": "string"
        },
        "working_directory": {
          "type": "string"
        }
      },
      "title": "System Insights LaunchD",
      "type": "object"
    },
    "system-insights-logged-in-users": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "host": {
          "type": "string"
        },
        "pid": {
          "type": "integer"
        },
        "system_id": {
          "type": "string"
        },
        "time": {
          "type": "integer"
        },
        "tty": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "user": {
          "type": "string"
        }
      },
      "title": "System Insights Logged-In Users",
      "type": "object"
    },
    "system-insights-logical-drives": {
      "example": {
        "boot_partition": 0,
        "collection_time": "2019-06-03T19:41:30.658+00:00",
        "device_id": "C:",
        "file_system": "NTFS",
        "free_space": "43194331136",
        "size": "63778582528",
        "system_id": "5c9e51a13c5146f89bae12d9",
        "type": "Unknown"
      },
      "properties": {
        "boot_partition": {
          "type": "integer"
        },
        "collection_time": {
          "type": "string"
        },
        "device_id": {
          "type": "string"
        },
        "file_system": {
          "type": "string"
        },
        "free_space": {
          "type": "string"
        },
        "size": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "title": "System Insights Logical Drives",
      "type": "object"
    },
    "system-insights-managed-policies": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "domain": {
          "type": "string"
        },
        "manual": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "username": {
          "type": "string"
        },
        "uuid": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "title": "System Insights Managed Policies",
      "type": "object"
    },
    "system-insights-mounts": {
      "example": {
        "blocks": "388086",
        "blocks_available": "95135",
        "blocks_free": "95135",
        "blocks_size": "4096",
        "collection_time": "2019-06-03T19:41:31.746+00:00",
        "device": "/dev/disk5s1",
        "device_alias": "/dev/disk5s1",
        "flags": "70292505",
        "inodes": "4294967279",
        "inodes_free": "4294966853",
        "path": "/private/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/.vbfolder_1dQavK",
        "system_id": "5c9e51a13c5146f89bae12d9",
        "type": "hfs"
      },
      "properties": {
        "blocks": {
          "type": "string"
        },
        "blocks_available": {
          "type": "string"
        },
        "blocks_free": {
          "type": "string"
        },
        "blocks_size": {
          "type": "string"
        },
        "collection_time": {
          "type": "string"
        },
        "device": {
          "type": "string"
        },
        "device_alias": {
          "type": "string"
        },
        "flags": {
          "type": "string"
        },
        "inodes": {
          "type": "string"
        },
        "inodes_free": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "title": "System Insights Mounts",
      "type": "object"
    },
    "system-insights-os-version": {
      "example": {
        "build": "17G65",
        "codename": "",
        "collection_time": "2019-06-03T19:41:30.933+00:00",
        "install_date": "",
        "major": 10,
        "minor": 13,
        "name": "Mac OS X",
        "patch": 6,
        "platform": "darwin",
        "platform_like": "darwin",
        "system_id": "5c9e51a13c5146f89bae12d9",
        "version": "10.13.6"
      },
      "properties": {
        "build": {
          "type": "string"
        },
        "codename": {
          "type": "string"
        },
        "collection_time": {
          "type": "string"
        },
        "install_date": {
          "type": "string"
        },
        "major": {
          "type": "integer"
        },
        "minor": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "patch": {
          "type": "integer"
        },
        "platform": {
          "type": "string"
        },
        "platform_like": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "title": "System Insights OS Version",
      "type": "object"
    },
    "system-insights-patches": {
      "example": {
        "caption": "http://support.microsoft.com/?kbid=4503308",
        "collection_time": "2019-06-03T19:41:31.673+00:00",
        "csname": "DESKTOP-B17DUKP",
        "description": "Security Update",
        "fix_comments": "",
        "hotfix_id": "KB4503308",
        "install_date": "",
        "installed_by": "NT AUTHORITY\\SYSTEM",
        "installed_on": "7/30/2019",
        "system_id": "5c9e51a13c5146f89bae12d9"
      },
      "properties": {
        "caption": {
          "type": "string"
        },
        "collection_time": {
          "type": "string"
        },
        "csname": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "fix_comments": {
          "type": "string"
        },
        "hotfix_id": {
          "type": "string"
        },
        "install_date": {
          "type": "string"
        },
        "installed_by": {
          "type": "string"
        },
        "installed_on": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        }
      },
      "title": "System Insights Patches",
      "type": "object"
    },
    "system-insights-programs": {
      "example": {
        "collection_time": "2019-06-03T19:41:31.673+00:00",
        "identifying_number": "{2E8B8BDD-03DF-4C1C-8C99-E6A4BCBF43CE}",
        "install_date": "20190724",
        "install_location": "",
        "install_source": "C:\\Windows\\SoftwareDistribution\\Download\\b78f29c88063bd09e7afd48e257d0126\\img\\",
        "language": "0",
        "name": "Update for Windows 10 for x64-based Systems (KB4480730)",
        "publisher": "Microsoft Corporation",
        "system_id": "5c9e51a13c5146f89bae12d9",
        "uninstall_string": "MsiExec.exe /X{2E8B8BDD-03DF-4C1C-8C99-E6A4BCBF43CE}",
        "version": "2.51.0.0"
      },
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "identifying_number": {
          "type": "string"
        },
        "install_date": {
          "type": "string"
        },
        "install_location": {
          "type": "string"
        },
        "install_source": {
          "type": "string"
        },
        "language": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "publisher": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "uninstall_string": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "title": "System Insights Programs",
      "type": "object"
    },
    "system-insights-python-packages": {
      "properties": {
        "auther": {
          "type": "string"
        },
        "directory": {
          "type": "string"
        },
        "license": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "summary": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      }
    },
    "system-insights-safari-extensions": {
      "example": {
        "author": "Eyeo GmbH",
        "collection_time": "2019-05-16T18:58:15.673+00:00",
        "description": "Used by over 50 million people, a free ad blocker that blocks ALL annoying ads, malware and tracking.",
        "developer_id": "GRYYZR985A",
        "identifier": "org.adblockplus.adblockplussafari",
        "name": "Adblock Plus",
        "path": "/Users/samuelharvanek/Library/Safari/Extensions/Adblock Plus.safariextz",
        "sdk": "6.0",
        "system_id": "5cdb13e85a0e0719283583c0",
        "uid": "501",
        "update_url": "https://update.adblockplus.org/adblockplussafari/updates.plist",
        "version": "1.12.5"
      },
      "properties": {
        "author": {
          "type": "string"
        },
        "collection_time": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "developer_id": {
          "type": "string"
        },
        "identifier": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "sdk": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        },
        "update_url": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "title": "System Insights Safari Extensions",
      "type": "object"
    },
    "system-insights-scheduled-tasks": {
      "properties": {
        "action": {
          "type": "string"
        },
        "enabled": {
          "type": "integer"
        },
        "hidden": {
          "type": "integer"
        },
        "last_run_code": {
          "type": "string"
        },
        "last_run_message": {
          "type": "string"
        },
        "last_run_time": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "next_run_time": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "system-insights-services": {
      "properties": {
        "description": {
          "type": "string"
        },
        "display_name": {
          "type": "string"
        },
        "module_path": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "pid": {
          "type": "integer"
        },
        "service_exit_code": {
          "type": "integer"
        },
        "service_type": {
          "type": "string"
        },
        "start_type": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "user_account": {
          "type": "string"
        },
        "win32_exit_code": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "system-insights-shadow": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "expire": {
          "type": "string"
        },
        "flag": {
          "type": "string"
        },
        "hash_alg": {
          "type": "string"
        },
        "inactive": {
          "type": "string"
        },
        "last_change": {
          "type": "string"
        },
        "max": {
          "type": "string"
        },
        "min": {
          "type": "string"
        },
        "password_status": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "username": {
          "type": "string"
        },
        "warning": {
          "type": "string"
        }
      },
      "title": "System Insights Shadow",
      "type": "object"
    },
    "system-insights-shared-folders": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        }
      },
      "title": "System Insights Shared Folders",
      "type": "object"
    },
    "system-insights-shared-resources": {
      "properties": {
        "allow_maximum": {
          "type": "integer"
        },
        "collection_time": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "install_date": {
          "type": "string"
        },
        "maximum_allowed": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "integer"
        }
      },
      "title": "System Insights Shared Resources",
      "type": "object"
    },
    "system-insights-sharing-preferences": {
      "properties": {
        "bluetooth_sharing": {
          "type": "integer"
        },
        "collection_time": {
          "type": "string"
        },
        "content_caching": {
          "type": "integer"
        },
        "disc_sharing": {
          "type": "integer"
        },
        "file_sharing": {
          "type": "integer"
        },
        "internet_sharing": {
          "type": "integer"
        },
        "printer_sharing": {
          "type": "integer"
        },
        "remote_apple_events": {
          "type": "integer"
        },
        "remote_login": {
          "type": "integer"
        },
        "remote_management": {
          "type": "integer"
        },
        "screen_sharing": {
          "type": "integer"
        },
        "system_id": {
          "type": "string"
        }
      },
      "title": "System Insights Sharing Preferences",
      "type": "object"
    },
    "system-insights-sip-config": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "config_flag": {
          "type": "string"
        },
        "enabled": {
          "type": "integer"
        },
        "enabled_nvram": {
          "type": "integer"
        },
        "system_id": {
          "type": "string"
        }
      },
      "title": "System Insights SIP Config",
      "type": "object"
    },
    "system-insights-startup-items": {
      "properties": {
        "args": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      }
    },
    "system-insights-system-controls": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "config_value": {
          "type": "string"
        },
        "current_value": {
          "type": "string"
        },
        "field_name": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "oid": {
          "type": "string"
        },
        "subsystem": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "title": "System Insights System Controls",
      "type": "object"
    },
    "system-insights-system-info": {
      "example": {
        "collection_time": "2019-06-03T19:41:30.771+00:00",
        "computer_name": "Johnny's MacBook Pro (2)",
        "cpu_brand": "Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz",
        "cpu_logical_cores": 8,
        "cpu_microcode": "",
        "cpu_physical_cores": 4,
        "cpu_subtype": "Intel x86-64h Haswell",
        "cpu_type": "x86_64h",
        "hardware_model": "MacBookPro14,3 ",
        "hardware_serial": "111111FFFFFF",
        "hardware_vendor": "Apple Inc. ",
        "hardware_version": "1.0 ",
        "hostname": "johnnys-macbook-pro-2.local",
        "local_hostname": "Jonnys-MacBook-Pro-2",
        "physical_memory": "17179869184",
        "system_id": "5c9e51a13c5146f89bae12d9",
        "uuid": "11111111-FFFF-1111-FFFF-111111111111"
      },
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "computer_name": {
          "type": "string"
        },
        "cpu_brand": {
          "type": "string"
        },
        "cpu_logical_cores": {
          "type": "integer"
        },
        "cpu_microcode": {
          "type": "string"
        },
        "cpu_physical_cores": {
          "type": "integer"
        },
        "cpu_subtype": {
          "type": "string"
        },
        "cpu_type": {
          "type": "string"
        },
        "hardware_model": {
          "type": "string"
        },
        "hardware_serial": {
          "type": "string"
        },
        "hardware_vendor": {
          "type": "string"
        },
        "hardware_version": {
          "type": "string"
        },
        "hostname": {
          "type": "string"
        },
        "local_hostname": {
          "type": "string"
        },
        "physical_memory": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "uuid": {
          "type": "string"
        }
      },
      "title": "System Insights System Info",
      "type": "object"
    },
    "system-insights-uptime": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "days": {
          "type": "integer"
        },
        "hours": {
          "type": "integer"
        },
        "minutes": {
          "type": "integer"
        },
        "seconds": {
          "type": "integer"
        },
        "system_id": {
          "type": "string"
        },
        "total_seconds": {
          "type": "string"
        }
      },
      "title": "System Insights Uptime",
      "type": "object"
    },
    "system-insights-usb-devices": {
      "properties": {
        "class": {
          "type": "string"
        },
        "collection_time": {
          "type": "string"
        },
        "model": {
          "type": "string"
        },
        "model_id": {
          "type": "string"
        },
        "protocol": {
          "type": "string"
        },
        "removable": {
          "type": "integer"
        },
        "serial": {
          "type": "string"
        },
        "subclass": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "usb_address": {
          "type": "integer"
        },
        "usb_port": {
          "type": "integer"
        },
        "vendor": {
          "type": "string"
        },
        "vendor_id": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      },
      "title": "System Insights USB Devices",
      "type": "object"
    },
    "system-insights-user-groups": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "gid": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        }
      },
      "title": "System Insights User Groups",
      "type": "object"
    },
    "system-insights-user-ssh-keys": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "encrypted": {
          "type": "integer"
        },
        "path": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        }
      },
      "title": "System Insights User SSH Keys",
      "type": "object"
    },
    "system-insights-users": {
      "example": {
        "collection_time": "2019-06-03T19:41:29.71+00:00",
        "description": "AppleEvents Daemon",
        "directory": "/var/empty",
        "gid": "55",
        "gid_signed": "55",
        "shell": "/usr/bin/false",
        "system_id": "5c9e51a13c5146f89bae12d9",
        "type": "",
        "uid": "55",
        "uid_signed": "55",
        "username": "_appleevents",
        "uuid": "FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000037"
      },
      "properties": {
        "ad_managed": {
          "description": "Indicates this account belongs to a AD-managed user",
          "type": "boolean"
        },
        "admin": {
          "description": "Indicates this account has local administrator privileges",
          "type": "boolean"
        },
        "collection_time": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "directory": {
          "type": "string"
        },
        "gid": {
          "type": "string"
        },
        "gid_signed": {
          "type": "string"
        },
        "last_login": {
          "description": "A Unix timestamp showing the last time this user logged in",
          "type": "string"
        },
        "managed": {
          "description": "Indicates this account belongs to a JumpCloud-managed user",
          "type": "boolean"
        },
        "real_user": {
          "description": "Indicates this account represents an interactive user account vs. a system or daemon account",
          "type": "boolean"
        },
        "shell": {
          "type": "string"
        },
        "suspended": {
          "description": "Indicates this account is suspended or locked out",
          "type": "boolean"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        },
        "uid_signed": {
          "type": "string"
        },
        "username": {
          "type": "string"
        },
        "uuid": {
          "type": "string"
        }
      },
      "title": "System Insights Users",
      "type": "object"
    },
    "system-insights-wifi-networks": {
      "properties": {
        "auto_login": {
          "type": "number"
        },
        "captive_portal": {
          "type": "number"
        },
        "collection_time": {
          "type": "string"
        },
        "disabled": {
          "type": "number"
        },
        "last_connected": {
          "type": "number"
        },
        "network_name": {
          "type": "string"
        },
        "passpoint": {
          "type": "number"
        },
        "possibly_hidden": {
          "type": "number"
        },
        "roaming": {
          "type": "number"
        },
        "roaming_profile": {
          "type": "string"
        },
        "security_type": {
          "type": "string"
        },
        "ssid": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "temporarily_disabled": {
          "type": "number"
        }
      },
      "title": "System Insights WiFi Networks",
      "type": "object"
    },
    "system-insights-wifi-status": {
      "properties": {
        "bssid": {
          "type": "string"
        },
        "channel": {
          "type": "number"
        },
        "channel_band": {
          "type": "number"
        },
        "channel_width": {
          "type": "number"
        },
        "collection_time": {
          "type": "string"
        },
        "country_code": {
          "type": "string"
        },
        "interface": {
          "type": "string"
        },
        "mode": {
          "type": "string"
        },
        "network_name": {
          "type": "string"
        },
        "noise": {
          "type": "number"
        },
        "rssi": {
          "type": "number"
        },
        "security_type": {
          "type": "string"
        },
        "ssid": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "transmit_rate": {
          "type": "string"
        }
      },
      "title": "System Insights WiFi Status",
      "type": "object"
    },
    "system-insights-windows-security-products": {
      "properties": {
        "collection_time": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "remediation_path": {
          "type": "string"
        },
        "signatures_up_to_date": {
          "type": "number"
        },
        "state": {
          "type": "string"
        },
        "state_timestamp": {
          "type": "string"
        },
        "system_id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "title": "System Insights Windows Security Products",
      "type": "object"
    },
    "systemfdekey": {
      "properties": {
        "key": {
          "type": "string"
        }
      },
      "required": [
        "key"
      ],
      "title": "SystemFDEKey",
      "type": "object"
    },
    "workday-fields": {
      "properties": {
        "name": {
          "type": "string"
        },
        "reportUrl": {
          "type": "string"
        }
      },
      "title": "Workday Fields",
      "type": "object"
    },
    "workday-input": {
      "example": {
        "auth": {
          "basic": {
            "password": "in tempor ipsum quis",
            "username": "mollit ex"
          },
          "oauth": {
            "code": "non laborum dolore"
          }
        },
        "name": "dolore tempor",
        "reportUrl": "est sit laboris"
      },
      "properties": {
        "auth": {
          "$ref": "#/definitions/auth-input"
        },
        "name": {
          "type": "string"
        },
        "reportUrl": {
          "type": "string"
        }
      },
      "title": "Workday Input",
      "type": "object"
    },
    "workday-output": {
      "properties": {
        "auth": {
          "properties": {
            "basic": {
              "$ref": "#/definitions/auth-info"
            },
            "oauth": {
              "$ref": "#/definitions/auth-info"
            }
          },
          "type": "object"
        },
        "id": {
          "type": "string"
        },
        "lastImport": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "reportUrl": {
          "type": "string"
        }
      },
      "title": "Workday Output",
      "type": "object"
    },
    "workday-worker": {
      "properties": {
        "attributes": {
          "type": "object",
          "additionalProperties": true
        },
        "email": {
          "type": "string"
        },
        "firstName": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      },
      "title": "Workday Worker",
      "type": "object"
    }
  },
  "host": "console.jumpcloud.com",
  "info": {
    "contact": {
      "email": "support@jumpcloud.com",
      "name": "JumpCloud Support",
      "url": "https://support.jumpcloud.com/support/s/"
    },
    "description": "# Overview\n\nJumpCloud's V2 API. This set of endpoints allows JumpCloud customers to manage objects, groupings and mappings and interact with the JumpCloud Graph.\n\n# Directory Objects\n\nThis API offers the ability to interact with some of our core features; otherwise known as Directory Objects. The Directory Objects are:\n\n* Commands\n* Policies\n* Policy Groups\n* Applications\n* Systems\n* Users\n* User Groups\n* System Groups\n* Radius Servers\n* Directories: Office 365, LDAP,G-Suite, Active Directory\n* Duo accounts and applications.\n\nThe Directory Object is an important concept to understand in order to successfully use JumpCloud API.\n\n## JumpCloud Graph\n\nWe've also introduced the concept of the JumpCloud Graph along with Directory Objects. The Graph is a powerful aspect of our platform which will enable you to associate objects with each other, or establish membership for certain objects to become members of other objects.\n\nSpecific `GET` endpoints will allow you to traverse the JumpCloud Graph to return all indirect and directly bound objects in your organization.\n\n| ![alt text](https://s3.amazonaws.com/jumpcloud-kb/Knowledge+Base+Photos/API+Docs/jumpcloud_graph.png \"JumpCloud Graph Model Example\") |\n|:--:|\n| **This diagram highlights our association and membership model as it relates to Directory Objects.** |\n\n# API Key\n\n## Access Your API Key\n\nTo locate your API Key:\n\n1. Log into the [JumpCloud Admin Console](https://console.jumpcloud.com/).\n2. Go to the username drop down located in the top-right of the Console.\n3. Retrieve your API key from API Settings.\n\n## API Key Considerations\n\nThis API key is associated to the currently logged in administrator. Other admins will have different API keys.\n\n**WARNING** Please keep this API key secret, as it grants full access to any data accessible via your JumpCloud console account.\n\nYou can also reset your API key in the same location in the JumpCloud Admin Console.\n\n## Recycling or Resetting Your API Key\n\nIn order to revoke access with the current API key, simply reset your API key. This will render all calls using the previous API key inaccessible.\n\nYour API key will be passed in as a header with the header name \"x-api-key\".\n\n```bash\ncurl -H \"x-api-key: [YOUR_API_KEY_HERE]\" \"https://console.jumpcloud.com/api/v2/systemgroups\"\n```\n\n# System Context\n\n* [Introduction](#introduction)\n* [Supported endpoints](#supported-endpoints)\n* [Response codes](#response-codes)\n* [Authentication](#authentication)\n* [Additional examples](#additional-examples)\n* [Third party](#third-party)\n\n## Introduction\n\nJumpCloud System Context Authorization is an alternative way to authenticate with a subset of JumpCloud's REST APIs. Using this method, a system can manage its information and resource associations, allowing modern auto provisioning environments to scale as needed.\n\n**Notes:**\n\n * The following documentation applies to Linux Operating Systems only.\n * Systems that have been automatically enrolled using Apple's Device Enrollment Program (DEP) or systems enrolled using the User Portal install are not eligible to use the System Context API to prevent unauthorized access to system groups and resources. If a script that utilizes the System Context API is invoked on a system enrolled in this way, it will display an error.\n\n## Supported Endpoints\n\nJumpCloud System Context Authorization can be used in conjunction with Systems endpoints found in the V1 API and certain System Group endpoints found in the v2 API.\n\n* A system may fetch, alter, and delete metadata about itself, including manipulating a system's Group and Systemuser associations,\n * `/api/systems/{system_id}` | [`GET`](https://docs.jumpcloud.com/api/1.0/index.html#operation/systems_get) [`PUT`](https://docs.jumpcloud.com/api/1.0/index.html#operation/systems_put)\n* A system may delete itself from your JumpCloud organization\n * `/api/systems/{system_id}` | [`DELETE`](https://docs.jumpcloud.com/api/1.0/index.html#operation/systems_delete)\n* A system may fetch its direct resource associations under v2 (Groups)\n * `/api/v2/systems/{system_id}/memberof` | [`GET`](https://docs.jumpcloud.com/api/2.0/index.html#operation/graph_systemGroupMembership)\n * `/api/v2/systems/{system_id}/associations` | [`GET`](https://docs.jumpcloud.com/api/2.0/index.html#operation/graph_systemAssociationsList)\n * `/api/v2/systems/{system_id}/users` | [`GET`](https://docs.jumpcloud.com/api/2.0/index.html#operation/graph_systemTraverseUser)\n* A system may alter its direct resource associations under v2 (Groups)\n * `/api/v2/systems/{system_id}/associations` | [`POST`](https://docs.jumpcloud.com/api/2.0/index.html#operation/graph_systemAssociationsPost)\n* A system may alter its System Group associations\n * `/api/v2/systemgroups/{group_id}/members` | [`POST`](https://docs.jumpcloud.com/api/2.0/index.html#operation/graph_systemGroupMembersPost)\n * _NOTE_ If a system attempts to alter the system group membership of a different system the request will be rejected\n\n## Response Codes\n\nIf endpoints other than those described above are called using the System Context API, the server will return a `401` response.\n\n## Authentication\n\nTo allow for secure access to our APIs, you must authenticate each API request.\nJumpCloud System Context Authorization uses [HTTP Signatures](https://tools.ietf.org/html/draft-cavage-http-signatures-00) to authenticate API requests.\nThe HTTP Signatures sent with each request are similar to the signatures used by the Amazon Web Services REST API.\nTo help with the request-signing process, we have provided an [example bash script](https://github.com/TheJumpCloud/SystemContextAPI/blob/master/examples/shell/SigningExample.sh). This example API request simply requests the entire system record. You must be root, or have permissions to access the contents of the `/opt/jc` directory to generate a signature.\n\nHere is a breakdown of the example script with explanations.\n\nFirst, the script extracts the systemKey from the JSON formatted `/opt/jc/jcagent.conf` file.\n\n```bash\n#!/bin/bash\nconf=\"`cat /opt/jc/jcagent.conf`\"\nregex=\"systemKey\\\":\\\"(\\w+)\\\"\"\n\nif [[ $conf =~ $regex ]] ; then\n systemKey=\"${BASH_REMATCH[1]}\"\nfi\n```\n\nThen, the script retrieves the current date in the correct format.\n\n```bash\nnow=`date -u \"+%a, %d %h %Y %H:%M:%S GMT\"`;\n```\n\nNext, we build a signing string to demonstrate the expected signature format. The signed string must consist of the [request-line](https://tools.ietf.org/html/rfc2616#page-35) and the date header, separated by a newline character.\n\n```bash\nsignstr=\"GET /api/systems/${systemKey} HTTP/1.1\\ndate: ${now}\"\n```\n\nThe next step is to calculate and apply the signature. This is a two-step process:\n\n1. Create a signature from the signing string using the JumpCloud Agent private key: ``printf \"$signstr\" | openssl dgst -sha256 -sign /opt/jc/client.key``\n2. Then Base64-encode the signature string and trim off the newline characters: ``| openssl enc -e -a | tr -d '\\n'``\n\nThe combined steps above result in:\n\n```bash\nsignature=`printf \"$signstr\" | openssl dgst -sha256 -sign /opt/jc/client.key | openssl enc -e -a | tr -d '\\n'` ;\n```\n\nFinally, we make sure the API call sending the signature has the same Authorization and Date header values, HTTP method, and URL that were used in the signing string.\n\n```bash\ncurl -iq \\\n -H \"Accept: application/json\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Date: ${now}\" \\\n -H \"Authorization: Signature keyId=\\\"system/${systemKey}\\\",headers=\\\"request-line date\\\",algorithm=\\\"rsa-sha256\\\",signature=\\\"${signature}\\\"\" \\\n --url https://console.jumpcloud.com/api/systems/${systemKey}\n```\n\n### Input Data\n\nAll PUT and POST methods should use the HTTP Content-Type header with a value of 'application/json'. PUT methods are used for updating a record. POST methods are used to create a record.\n\nThe following example demonstrates how to update the `displayName` of the system.\n\n```bash\nsignstr=\"PUT /api/systems/${systemKey} HTTP/1.1\\ndate: ${now}\"\nsignature=`printf \"$signstr\" | openssl dgst -sha256 -sign /opt/jc/client.key | openssl enc -e -a | tr -d '\\n'` ;\n\ncurl -iq \\\n -d \"{\\\"displayName\\\" : \\\"updated-system-name-1\\\"}\" \\\n -X \"PUT\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Accept: application/json\" \\\n -H \"Date: ${now}\" \\\n -H \"Authorization: Signature keyId=\\\"system/${systemKey}\\\",headers=\\\"request-line date\\\",algorithm=\\\"rsa-sha256\\\",signature=\\\"${signature}\\\"\" \\\n --url https://console.jumpcloud.com/api/systems/${systemKey}\n```\n\n### Output Data\n\nAll results will be formatted as JSON.\n\nHere is an abbreviated example of response output:\n\n```json\n{\n \"_id\": \"525ee96f52e144993e000015\",\n \"agentServer\": \"lappy386\",\n \"agentVersion\": \"0.9.42\",\n \"arch\": \"x86_64\",\n \"connectionKey\": \"127.0.0.1_51812\",\n \"displayName\": \"ubuntu-1204\",\n \"firstContact\": \"2013-10-16T19:30:55.611Z\",\n \"hostname\": \"ubuntu-1204\"\n ...\n```\n\n## Additional Examples\n\n### Signing Authentication Example\n\nThis example demonstrates how to make an authenticated request to fetch the JumpCloud record for this system.\n\n[SigningExample.sh](https://github.com/TheJumpCloud/SystemContextAPI/blob/master/examples/shell/SigningExample.sh)\n\n### Shutdown Hook\n\nThis example demonstrates how to make an authenticated request on system shutdown.\nUsing an init.d script registered at run level 0, you can call the System Context API as the system is shutting down.\n\n[Instance-shutdown-initd](https://github.com/TheJumpCloud/SystemContextAPI/blob/master/examples/instance-shutdown-initd) is an example of an init.d script that only runs at system shutdown.\n\nAfter customizing the [instance-shutdown-initd](https://github.com/TheJumpCloud/SystemContextAPI/blob/master/examples/instance-shutdown-initd) script, you should install it on the system(s) running the JumpCloud agent.\n\n1. Copy the modified [instance-shutdown-initd](https://github.com/TheJumpCloud/SystemContextAPI/blob/master/examples/instance-shutdown-initd) to `/etc/init.d/instance-shutdown`.\n2. On Ubuntu systems, run `update-rc.d instance-shutdown defaults`. On RedHat/CentOS systems, run `chkconfig --add instance-shutdown`.\n\n## Third Party\n\n### Chef Cookbooks\n\n[https://github.com/nshenry03/jumpcloud](https://github.com/nshenry03/jumpcloud)\n\n[https://github.com/cjs226/jumpcloud](https://github.com/cjs226/jumpcloud)\n\n# Multi-Tenant Portal Headers\n\nMulti-Tenant Organization API Headers are available for JumpCloud Admins to use when making API requests from Organizations that have multiple managed organizations.\n\nThe `x-org-id` is a required header for all multi-tenant admins when making API requests to JumpCloud. This header will define to which organization you would like to make the request.\n\n**NOTE** Single Tenant Admins do not need to provide this header when making an API request.\n\n## Header Value\n\n`x-org-id`\n\n## API Response Codes\n\n* `400` Malformed ID.\n* `400` x-org-id and Organization path ID do not match.\n* `401` ID not included for multi-tenant admin\n* `403` ID included on unsupported route.\n* `404` Organization ID Not Found.\n\n```bash\ncurl -X GET https://console.jumpcloud.com/api/v2/directories \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -H 'x-org-id: {ORG_ID}'\n\n```\n\n## To Obtain an Individual Organization ID via the UI\n\nAs a prerequisite, your Primary Organization will need to be setup for Multi-Tenancy. This provides access to the Multi-Tenant Organization Admin Portal.\n\n1. Log into JumpCloud [Admin Console](https://console.jumpcloud.com). If you are a multi-tenant Admin, you will automatically be routed to the Multi-Tenant Admin Portal.\n2. From the Multi-Tenant Portal's primary navigation bar, select the Organization you'd like to access.\n3. You will automatically be routed to that Organization's Admin Console.\n4. Go to Settings in the sub-tenant's primary navigation.\n5. You can obtain your Organization ID below your Organization's Contact Information on the Settings page.\n\n## To Obtain All Organization IDs via the API\n\n* You can make an API request to this endpoint using the API key of your Primary Organization. `https://console.jumpcloud.com/api/organizations/` This will return all your managed organizations.\n\n```bash\ncurl -X GET \\\n https://console.jumpcloud.com/api/organizations/ \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```\n\n# SDKs\n\nYou can find language specific SDKs that can help you kickstart your Integration with JumpCloud in the following GitHub repositories:\n\n* [Python](https://github.com/TheJumpCloud/jcapi-python)\n* [Go](https://github.com/TheJumpCloud/jcapi-go)\n* [Ruby](https://github.com/TheJumpCloud/jcapi-ruby)\n* [Java](https://github.com/TheJumpCloud/jcapi-java)\n",
    "title": "JumpCloud API",
    "version": "2.0"
  },
  "parameters": {
    "trait:fields:fields": {
      "default": [],
      "description": "The comma separated fields included in the returned records.\nIf omitted, the default list of fields will be returned.\n",
      "in": "query",
      "items": {
        "type": "string"
      },
      "name": "fields",
      "type": "array"
    },
    "trait:filter:filter": {
      "default": [],
      "description": "A filter to apply to the query.\n\n**Filter structure**: `<field>:<operator>:<value>`.\n\n**field** = Populate with a valid field from an endpoint response.\n\n**operator** = Supported operators are: eq, ne, gt, ge, lt, le, between, search, in.\n_Note: v1 operators differ from v2 operators._\n\n**value** = Populate with the value you want to search for. Is case sensitive. Supports wild cards.\n\n**EX:** `GET /api/v2/groups?filter=name:eq:Test+Group`",
      "in": "query",
      "items": {
        "type": "string"
      },
      "name": "filter",
      "type": "array"
    },
    "trait:graphTargetsActiveDirectory:targets": {
      "description": "Targets which a \"active_directory\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "user",
        "user_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsActiveDirectory-Targets"
      }
    },
    "trait:graphTargetsApplication:targets": {
      "description": "Targets which a \"application\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "user",
        "user_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsApplication-Targets"
      }
    },
    "trait:graphTargetsCommand:targets": {
      "description": "Targets which a \"command\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "system",
        "system_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsCommand-Targets1",
        "values": [
          {
            "name": "systems",
            "value": "system"
          },
          {
            "name": "systems_group",
            "value": "system_group"
          }
        ]
      }
    },
    "trait:graphTargetsGSuite:targets": {
      "description": "Targets which a \"g_suite\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "user",
        "user_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsGSuite-Targets"
      }
    },
    "trait:graphTargetsLdapServer:targets": {
      "description": "Targets which a \"ldap_server\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "user",
        "user_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsLdapServer-Targets"
      }
    },
    "trait:graphTargetsOffice365:targets": {
      "description": "Targets which a \"office_365\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "user",
        "user_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsOffice365-Targets"
      }
    },
    "trait:graphTargetsPolicy:targets": {
      "description": "Targets which a \"policy\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "system",
        "system_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsPolicy-Targets1",
        "values": [
          {
            "name": "systems",
            "value": "system"
          },
          {
            "name": "systems_group",
            "value": "system_group"
          }
        ]
      }
    },
    "trait:graphTargetsPolicyGroup:targets": {
      "description": "Targets which a \"policy_group\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "system",
        "system_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsPolicyGroup-Targets1",
        "values": [
          {
            "name": "systems",
            "value": "system"
          },
          {
            "name": "systems_group",
            "value": "system_group"
          }
        ]
      }
    },
    "trait:graphTargetsRadiusServer:targets": {
      "description": "Targets which a \"radius_server\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "user",
        "user_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsRadiusServer-Targets"
      }
    },
    "trait:graphTargetsSoftwareApp:targets": {
      "description": "Targets which a \"software_app\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "system",
        "system_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsSoftwareApp-Targets1",
        "values": [
          {
            "name": "systems",
            "value": "system"
          },
          {
            "name": "systems_group",
            "value": "system_group"
          }
        ]
      }
    },
    "trait:graphTargetsSystem:targets": {
      "description": "Targets which a \"system\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "command",
        "policy",
        "policy_group",
        "user",
        "user_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsSystem-Targets2"
      }
    },
    "trait:graphTargetsSystemGroup:targets": {
      "description": "Targets which a \"system_group\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "command",
        "policy",
        "policy_group",
        "user",
        "user_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsSystemGroup-Targets2"
      }
    },
    "trait:graphTargetsUser:targets": {
      "description": "Targets which a \"user\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "active_directory",
        "application",
        "g_suite",
        "ldap_server",
        "office_365",
        "radius_server",
        "system",
        "system_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsUser-Targets3",
        "values": [
          {
            "name": "active_directory",
            "value": "active_directory"
          },
          {
            "name": "application",
            "value": "application"
          },
          {
            "name": "g_suite",
            "value": "g_suite"
          },
          {
            "name": "ldap_server",
            "value": "ldap_server"
          },
          {
            "name": "office_365",
            "value": "office_365"
          },
          {
            "name": "radius_server",
            "value": "radius_server"
          },
          {
            "name": "systems",
            "value": "system"
          },
          {
            "name": "systems_group",
            "value": "system_group"
          }
        ]
      }
    },
    "trait:graphTargetsUserGroup:targets": {
      "description": "Targets which a \"user_group\" can be associated to.",
      "in": "query",
      "name": "targets",
      "required": true,
      "type": "string",
      "enum": [
        "active_directory",
        "application",
        "g_suite",
        "ldap_server",
        "office_365",
        "radius_server",
        "system",
        "system_group"
      ],
      "x-ms-enum": {
        "name": "graphTargetsUserGroup-Targets3",
        "values": [
          {
            "name": "active_directory",
            "value": "active_directory"
          },
          {
            "name": "application",
            "value": "application"
          },
          {
            "name": "g_suite",
            "value": "g_suite"
          },
          {
            "name": "ldap_server",
            "value": "ldap_server"
          },
          {
            "name": "office_365",
            "value": "office_365"
          },
          {
            "name": "radius_server",
            "value": "radius_server"
          },
          {
            "name": "systems",
            "value": "system"
          },
          {
            "name": "systems_group",
            "value": "system_group"
          }
        ]
      }
    },
    "trait:gsuite:maxResults": {
      "description": "Google Directory API maximum number of results per page. See https://developers.google.com/admin-sdk/directory/reference/rest/v1/users/list.",
      "in": "query",
      "name": "maxResults",
      "type": "integer"
    },
    "trait:gsuite:orderBy": {
      "description": "Google Directory API sort field parameter. See https://developers.google.com/admin-sdk/directory/reference/rest/v1/users/list.",
      "in": "query",
      "name": "orderBy",
      "type": "string"
    },
    "trait:gsuite:pageToken": {
      "description": "Google Directory API token used to access the next page of results. See https://developers.google.com/admin-sdk/directory/reference/rest/v1/users/list.",
      "in": "query",
      "name": "pageToken",
      "type": "string"
    },
    "trait:gsuite:query": {
      "description": "Google Directory API search parameter. See https://developers.google.com/admin-sdk/directory/v1/guides/search-users.",
      "in": "query",
      "name": "query",
      "type": "string"
    },
    "trait:gsuite:sortOrder": {
      "description": "Google Directory API sort direction parameter. See https://developers.google.com/admin-sdk/directory/reference/rest/v1/users/list.",
      "in": "query",
      "name": "sortOrder",
      "type": "string"
    },
    "trait:limit:limit": {
      "default": 10,
      "description": "The number of records to return at once. Limited to 100.",
      "in": "query",
      "name": "limit",
      "type": "integer"
    },
    "trait:listCount:x-total-count": {
      "in": "header",
      "name": "x-total-count",
      "type": "integer"
    },
    "trait:listCount:x-unfiltered-total-count": {
      "description": "If provided in the request with any non-empty value, this header will be returned on the response populated with the total count of objects without filters taken into account",
      "in": "header",
      "name": "x-unfiltered-total-count",
      "type": "integer"
    },
    "trait:o365:ConsistencyLevel": {
      "description": "Defines the consistency header for O365 requests. See https://docs.microsoft.com/en-us/graph/api/user-list?view=graph-rest-1.0&tabs=http#request-headers",
      "in": "header",
      "name": "ConsistencyLevel",
      "type": "string"
    },
    "trait:skip:skip": {
      "default": 0,
      "description": "The offset into the records to return.",
      "in": "query",
      "minimum": 0,
      "name": "skip",
      "required": false,
      "type": "integer"
    },
    "trait:sort:sort": {
      "default": [],
      "description": "The comma separated fields used to sort the collection.\nDefault sort is ascending, prefix with `-` to sort descending.\n",
      "in": "query",
      "items": {
        "type": "string"
      },
      "name": "sort",
      "type": "array"
    },
    "trait:systemContextAuth:Authorization": {
      "description": "Authorization header for the System Context API",
      "in": "header",
      "name": "Authorization",
      "type": "string"
    },
    "trait:systemContextAuth:Date": {
      "description": "Current date header for the System Context API",
      "in": "header",
      "name": "Date",
      "type": "string"
    },
    "trait:systemInsightsCertificatesFilter:filter": {
      "default": [],
      "description": "Supported operators are: eq, in. e.g:\nFilter for single value:\n`filter=field:eq:value`\nFilter value in a list: (note \"pipe\" character: `|` separating values)\n`filter=field:in:value1|value2|value3`\nNote: You can only filter by `system_id` and `common_name`\n",
      "in": "query",
      "items": {
        "type": "string"
      },
      "name": "filter",
      "type": "array"
    },
    "trait:systemInsightsControlsFilter:filter": {
      "default": [],
      "description": "Supported operators are: eq, in. e.g:\nFilter for single value:\n`filter=field:eq:value`\nFilter value in a list: (note \"pipe\" character: `|` separating values)\n`filter=field:in:value1|value2|value3`\nNote: You can only filter by `system_id` and `name`\n",
      "in": "query",
      "items": {
        "type": "string"
      },
      "name": "filter",
      "type": "array"
    },
    "trait:systemInsightsFilter:filter": {
      "default": [],
      "description": "Supported operators are: eq, in. e.g:\nFilter for single value:\n`filter=field:eq:value`\nFilter for any value in a list: (note \"pipe\" character: `|` separating values)\n`filter=field:in:value1|value2|value3`\n",
      "in": "query",
      "items": {
        "type": "string"
      },
      "name": "filter",
      "type": "array"
    },
    "trait:systemInsightsFilterUptime:filter": {
      "default": [],
      "description": "Supported operators are: eq, gte, in. e.g:\nFilter for single value:\n`filter=field:gte:value`\nFilter for any value in a list: (note \"pipe\" character: `|` separating values)\n`filter=field:in:value1|value2|value3`\n",
      "in": "query",
      "items": {
        "type": "string"
      },
      "name": "filter",
      "type": "array"
    },
    "trait:systemInsightsLimit:limit": {
      "default": 10,
      "in": "query",
      "maximum": 1000,
      "minimum": 0,
      "name": "limit",
      "type": "integer"
    },
    "trait:systemInsightsSort:sort": {
      "default": [],
      "description": "The comma separated fields used to sort the collection.\nDefault sort is ascending, prefix with `-` to sort descending. e.g:\nSort by single field:\n`sort=field`\nSort descending by single field:\n`sort=-field`\nSort by multiple fields:\n`sort=field1,-field2,field3`\n",
      "in": "query",
      "items": {
        "type": "string"
      },
      "name": "sort",
      "type": "array"
    }
  },
  "paths": {
    "/activedirectories": {
      "get": {
        "description": "This endpoint allows you to list all your Active Directory Instances.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/activedirectories/ \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "ActiveDirectory_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/active-directory-output"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Active Directories",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/activedirectories?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/activedirectories\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/activedirectories?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [],
      "post": {
        "description": "This endpoint allows you to create a new Active Directory.\n\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/activedirectories/ \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"domain\": \"{DC=AD_domain_name;DC=com}\"\n }'\n```",
        "operationId": "ActiveDirectory_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/active-directory-input"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/active-directory-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create a new Active Directory",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/activedirectories \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"domain\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/activedirectories\"\n\npayload = {\"domain\": \"string\"}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/activedirectories' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"domain\":\"string\"}'"
          }
        ]
      }
    },
    "/activedirectories/{activedirectory_id}/agents": {
      "get": {
        "description": "This endpoint allows you to list all your Active Directory Agents for a given Instance.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "ActiveDirectoryAgent_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/active-directory-agent-list-output"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Active Directory Agents",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents?limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents?limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "activedirectory_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to create a new Active Directory Agent.\n\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{}'\n```",
        "operationId": "ActiveDirectoryAgent_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/active-directory-agent-input"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/active-directory-agent-get-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create a new Active Directory Agent",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents\"\n\npayload = {}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents' -Method POST -Headers $headers -ContentType 'application/json' -Body '{}'"
          }
        ]
      }
    },
    "/activedirectories/{activedirectory_id}/agents/{agent_id}": {
      "delete": {
        "description": "This endpoint deletes an Active Directory agent.\n\n#### Sample Request\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents/{agent_id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "ActiveDirectoryAgent_Delete",
        "parameters": [],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete Active Directory Agent",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents/{agent_id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents/{agent_id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents/{agent_id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "This endpoint returns an Active Directory agent.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents/{agent_id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "ActiveDirectoryAgent_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/active-directory-agent-list-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get Active Directory Agent",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents/{agent_id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents/{agent_id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/agents/{agent_id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "activedirectory_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "agent_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/activedirectories/{activedirectory_id}/associations": {
      "get": {
        "description": "This endpoint returns the direct associations of this Active Directory instance.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Active Directory and Users.\n\n\n#### Sample Request\n```\ncurl -X GET 'https://console.jumpcloud.com/api/v2/activedirectories/{ActiveDirectory_ID}/associations?targets=user \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "ActiveDirectoryAssociation_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsActiveDirectory:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of an Active Directory instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "activedirectory_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to manage the _direct_ associations of an Active Directory instance.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Active Directory and Users.\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/activedirectories/{AD_Instance_ID}/associations \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"op\": \"add\",\n \"type\": \"user\",\n \"id\": \"{User_ID}\"\n }'\n```",
        "operationId": "ActiveDirectoryAssociation_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-ActiveDirectory"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the associations of an Active Directory instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"user\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          }
        ]
      }
    },
    "/activedirectories/{activedirectory_id}/usergroups": {
      "get": {
        "description": "This endpoint will return all Users Groups bound to an Active Directory instance, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the group's type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Active Directory instance to the corresponding User Group; this array represents all grouping and/or associations that would have to be removed to deprovision the User Group from this Active Directory instance.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/activedirectories/{ActiveDirectory_ID}/usergroups \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "ActiveDirectoryTraverseUserGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the User Groups bound to an Active Directory instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/usergroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/usergroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/usergroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Active Directory instance.",
          "in": "path",
          "name": "activedirectory_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/activedirectories/{activedirectory_id}/users": {
      "get": {
        "description": "This endpoint will return all Users bound to an Active Directory instance, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Active Directory instance to the corresponding User; this array represents all grouping and/or associations that would have to be removed to deprovision the User from this Active Directory instance.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/activedirectories/{ActiveDirectory_ID}/users \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "ActiveDirectoryTraverseUser_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Users bound to an Active Directory instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/users?filter=&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/users\"\n\nquerystring = {\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/activedirectories/{activedirectory_id}/users?filter=&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Active Directory instance.",
          "in": "path",
          "name": "activedirectory_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/activedirectories/{id}": {
      "delete": {
        "description": "This endpoint allows you to delete an Active Directory Instance.\n\n#### Sample Request\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/activedirectories/{ActiveDirectory_ID} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "ActiveDirectory_Delete",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/active-directory-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete an Active Directory",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/activedirectories/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/activedirectories/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/activedirectories/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "This endpoint returns a specific Active Directory.\n\n#### Sample Request\n\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/activedirectories/{ActiveDirectory_ID} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "ActiveDirectory_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/active-directory-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get an Active Directory",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/activedirectories/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/activedirectories/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/activedirectories/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of this Active Directory instance.",
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/administrators/{administrator_id}/organizationlinks/{id}": {
      "delete": {
        "description": "This endpoint removes the association link between an Administrator and an Organization.",
        "operationId": "AdministratorOrganization_Delete",
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Remove association between an Administrator and an Organization.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/administrators/{administrator_id}/organizationlinks/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/administrators/{administrator_id}/organizationlinks/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/administrators/{administrator_id}/organizationlinks/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "administrator_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/administrators/{id}/organizationlinks": {
      "get": {
        "description": "This endpoint returns the association links between an Administrator and Organizations.",
        "operationId": "AdministratorOrganizations_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/AdministratorOrganizationLink"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the association links between an Administrator and Organizations.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/administrators/{id}/organizationlinks?limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/administrators/{id}/organizationlinks\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/administrators/{id}/organizationlinks?limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to grant Administrator access to an Organization.",
        "operationId": "AdministratorOrganization_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/AdministratorOrganizationLinkReq"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/AdministratorOrganizationLink"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Allow Adminstrator access to an Organization.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/administrators/{id}/organizationlinks \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"organization\":\"6230a0d26a4e4bc86c6b36f1\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/administrators/{id}/organizationlinks\"\n\npayload = {\"organization\": \"6230a0d26a4e4bc86c6b36f1\"}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/administrators/{id}/organizationlinks' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"organization\":\"6230a0d26a4e4bc86c6b36f1\"}'"
          }
        ]
      }
    },
    "/applemdms": {
      "get": {
        "description": "Get a list of all Apple MDM configurations. An empty topic indicates that a signed certificate from Apple has not been provided to the PUT endpoint yet.\n\nNote: currently only one MDM configuration per organization is supported.\n\n#### Sample Request\n```\ncurl https://console.jumpcloud.com/api/v2/applemdms \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "AppleMDM_List",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/AppleMDM"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Apple MDMs",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/applemdms \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/applemdms/{apple_mdm_id}/csr": {
      "parameters": [
        {
          "in": "path",
          "name": "apple_mdm_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/applemdms/{apple_mdm_id}/depkey": {
      "parameters": [
        {
          "in": "path",
          "name": "apple_mdm_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/applemdms/{apple_mdm_id}/devices": {
      "get": {
        "description": "Lists all Apple MDM devices.\n\nThe filter and sort queries will allow the following fields:\n`createdAt`\n`depRegistered`\n`enrolled`\n`id`\n`osVersion`\n`serialNumber`\n`udid`\n\n#### Sample Request\n```\n curl -X GET https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices \\\n -H 'accept: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{}'\n```",
        "operationId": "AppleMDMDevice_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          },
          {
            "$ref": "#/parameters/trait:listCount:x-total-count"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/apple-mdm-device"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List AppleMDM Devices",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices?limit=10&skip=0&filter=&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices?limit=10&skip=0&filter=&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "apple_mdm_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/applemdms/{apple_mdm_id}/devices/{device_id}": {
      "delete": {
        "description": "Remove a single Apple MDM device from MDM enrollment.\n\n#### Sample Request\n```\n curl -X DELETE https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id} \\\n -H 'accept: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "AppleMDMDevice_Delete",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/apple-mdm-device"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Remove an Apple MDM Device's Enrollment",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "Gets a single Apple MDM device.\n\n#### Sample Request\n```\n curl -X GET https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id} \\\n -H 'accept: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "AppleMDMDevice_Get",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/apple-mdm-device"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Details of an AppleMDM Device",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "apple_mdm_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "device_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/applemdms/{apple_mdm_id}/devices/{device_id}/clearActivationLock": {
      "parameters": [
        {
          "in": "path",
          "name": "apple_mdm_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "device_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "Clears the activation lock on the specified device.\n\n#### Sample Request\n```\n curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/clearActivationLock \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{}'\n```",
        "operationId": "AppleMDMDeviceActivationLock_Clear",
        "parameters": [],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Clears the Activation Lock for a Device",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/clearActivationLock \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/clearActivationLock\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/clearActivationLock' -Method POST -Headers $headers"
          }
        ]
      }
    },
    "/applemdms/{apple_mdm_id}/devices/{device_id}/erase": {
      "parameters": [
        {
          "in": "path",
          "name": "apple_mdm_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "device_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "Erases a DEP-enrolled device.\n\n#### Sample Request\n```\n curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/erase \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{}'\n```",
        "operationId": "AppleMDMDevice_Clear",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "properties": {
                "pin": {
                  "description": "6-digit PIN required to erase the device",
                  "example": "123456",
                  "pattern": "^[0-9]{6}$",
                  "type": "string"
                }
              },
              "required": [
                "pin"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Erase Device",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/erase \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"pin\":\"123456\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/erase\"\n\npayload = {\"pin\": \"123456\"}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/erase' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"pin\":\"123456\"}'"
          }
        ]
      }
    },
    "/applemdms/{apple_mdm_id}/devices/{device_id}/lock": {
      "parameters": [
        {
          "in": "path",
          "name": "apple_mdm_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "device_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "Locks a DEP-enrolled device.\n\n#### Sample Request\n```\n curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/lock \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{}'\n```",
        "operationId": "AppleMDMDevice_Lock",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "properties": {
                "pin": {
                  "description": "6-digit PIN required to erase the device",
                  "example": "123456",
                  "pattern": "^[0-9]{6}$",
                  "type": "string"
                }
              },
              "required": [
                "pin"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Lock Device",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/lock \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"pin\":\"123456\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/lock\"\n\npayload = {\"pin\": \"123456\"}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/lock' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"pin\":\"123456\"}'"
          }
        ]
      }
    },
    "/applemdms/{apple_mdm_id}/devices/{device_id}/refreshActivationLockInformation": {
      "parameters": [
        {
          "in": "path",
          "name": "apple_mdm_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "device_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "Refreshes the activation lock information for a device\n\n#### Sample Request\n\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/refreshActivationLockInformation \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{}'\n```",
        "operationId": "AppleMDMDeviceLockInformation_Refresh",
        "parameters": [],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Refresh activation lock information for a device",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/refreshActivationLockInformation \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/refreshActivationLockInformation\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/refreshActivationLockInformation' -Method POST -Headers $headers"
          }
        ]
      }
    },
    "/applemdms/{apple_mdm_id}/devices/{device_id}/restart": {
      "parameters": [
        {
          "in": "path",
          "name": "apple_mdm_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "device_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "Restarts a DEP-enrolled device.\n\n#### Sample Request\n```\n curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/restart \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{}'\n```",
        "operationId": "AppleMDMDevice_Restart",
        "parameters": [],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Restart Device",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/restart \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/restart\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/restart' -Method POST -Headers $headers"
          }
        ]
      }
    },
    "/applemdms/{apple_mdm_id}/devices/{device_id}/shutdown": {
      "parameters": [
        {
          "in": "path",
          "name": "apple_mdm_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "device_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "Shuts down a DEP-enrolled device.\n\n#### Sample Request\n```\n curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/shutdown \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{}'\n```",
        "operationId": "AppleMDMDevice_Stop",
        "parameters": [],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Shut Down Device",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/shutdown \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/shutdown\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/devices/{device_id}/shutdown' -Method POST -Headers $headers"
          }
        ]
      }
    },
    "/applemdms/{apple_mdm_id}/enrollmentprofiles": {
      "get": {
        "description": "Get a list of enrollment profiles for an apple mdm.\n\nNote: currently only one enrollment profile is supported.\n\n#### Sample Request\n```\n curl https://console.jumpcloud.com/api/v2/applemdms/{APPLE_MDM_ID}/enrollmentprofiles \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "AppleMDMEnrollmentProfile_List",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/AppleMDM"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Apple MDM Enrollment Profiles",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/enrollmentprofiles \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/enrollmentprofiles\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/enrollmentprofiles' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "apple_mdm_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/applemdms/{apple_mdm_id}/enrollmentprofiles/{id}": {
      "parameters": [
        {
          "in": "path",
          "name": "apple_mdm_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/applemdms/{apple_mdm_id}/refreshdepdevices": {
      "parameters": [
        {
          "in": "path",
          "name": "apple_mdm_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "Refreshes the list of devices that a JumpCloud admin has added to their virtual MDM in Apple Business Manager - ABM so that they can be DEP enrolled with JumpCloud.\n\n#### Sample Request\n```\n curl -X POST https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/refreshdepdevices \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{}'\n```",
        "operationId": "AppleMDMDevice_Sync",
        "parameters": [],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Refresh DEP Devices",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/refreshdepdevices \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/refreshdepdevices\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms/{apple_mdm_id}/refreshdepdevices' -Method POST -Headers $headers"
          }
        ]
      }
    },
    "/applemdms/{id}": {
      "delete": {
        "description": "Removes an Apple MDM configuration.\n\nWarning: This is a destructive operation and will remove your Apple Push Certificates. We will no longer be able to manage your devices and the only recovery option is to re-register all devices into MDM.\n\n#### Sample Request\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/applemdms/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "AppleMDM_Delete",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/AppleMDM"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete an Apple MDM",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/applemdms/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ],
      "put": {
        "description": "Updates an Apple MDM configuration. This endpoint is used to supply JumpCloud with a signed certificate from Apple in order to finalize the setup and allow JumpCloud to manage your devices. It may also be used to update the DEP Settings.\n\n#### Sample Request\n```\n curl -X PUT https://console.jumpcloud.com/api/v2/applemdms/{ID} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"name\": \"MDM name\",\n \"appleSignedCert\": \"{CERTIFICATE}\",\n \"encryptedDepServerToken\": \"{SERVER_TOKEN}\",\n \"dep\": {\n \"welcomeScreen\": {\n \"title\": \"Welcome\",\n \"paragraph\": \"In just a few steps, you will be working securely from your Mac.\",\n \"button\": \"continue\",\n },\n },\n }'\n```",
        "operationId": "AppleMDM_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/apple-mdm-patch-input"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/AppleMDM"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update an Apple MDM",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PUT \\\n --url https://console.jumpcloud.com/api/v2/applemdms/{id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"ades\":{\"ios\":{\"defaultDeviceGroupObjectIds\":[\"string\"],\"enableZeroTouchEnrollment\":true,\"setupAssistantOptions\":[{\"option\":\"accessibility\"}],\"welcomeScreen\":{\"button\":\"string\",\"paragraph\":\"string\",\"title\":\"string\"}},\"macos\":{\"defaultDeviceGroupObjectIds\":[\"string\"],\"enableZeroTouchEnrollment\":true,\"setupAssistantOptions\":[{\"option\":\"accessibility\"}],\"welcomeScreen\":{\"button\":\"string\",\"paragraph\":\"string\",\"title\":\"string\"}}},\"allowMobileUserEnrollment\":true,\"appleSignedCert\":\"string\",\"defaultIosUserEnrollmentDeviceGroupID\":\"string\",\"defaultSystemGroupID\":\"string\",\"dep\":{\"enableZeroTouchEnrollment\":true,\"setupAssistantOptions\":[{\"option\":\"accessibility\"}],\"welcomeScreen\":{\"button\":\"string\",\"paragraph\":\"string\",\"title\":\"string\"}},\"encryptedDepServerToken\":\"string\",\"name\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applemdms/{id}\"\n\npayload = {\n \"ades\": {\n \"ios\": {\n \"defaultDeviceGroupObjectIds\": [\"string\"],\n \"enableZeroTouchEnrollment\": True,\n \"setupAssistantOptions\": [{\"option\": \"accessibility\"}],\n \"welcomeScreen\": {\n \"button\": \"string\",\n \"paragraph\": \"string\",\n \"title\": \"string\"\n }\n },\n \"macos\": {\n \"defaultDeviceGroupObjectIds\": [\"string\"],\n \"enableZeroTouchEnrollment\": True,\n \"setupAssistantOptions\": [{\"option\": \"accessibility\"}],\n \"welcomeScreen\": {\n \"button\": \"string\",\n \"paragraph\": \"string\",\n \"title\": \"string\"\n }\n }\n },\n \"allowMobileUserEnrollment\": True,\n \"appleSignedCert\": \"string\",\n \"defaultIosUserEnrollmentDeviceGroupID\": \"string\",\n \"defaultSystemGroupID\": \"string\",\n \"dep\": {\n \"enableZeroTouchEnrollment\": True,\n \"setupAssistantOptions\": [{\"option\": \"accessibility\"}],\n \"welcomeScreen\": {\n \"button\": \"string\",\n \"paragraph\": \"string\",\n \"title\": \"string\"\n }\n },\n \"encryptedDepServerToken\": \"string\",\n \"name\": \"string\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applemdms/{id}' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{\"ades\":{\"ios\":{\"defaultDeviceGroupObjectIds\":[\"string\"],\"enableZeroTouchEnrollment\":true,\"setupAssistantOptions\":[{\"option\":\"accessibility\"}],\"welcomeScreen\":{\"button\":\"string\",\"paragraph\":\"string\",\"title\":\"string\"}},\"macos\":{\"defaultDeviceGroupObjectIds\":[\"string\"],\"enableZeroTouchEnrollment\":true,\"setupAssistantOptions\":[{\"option\":\"accessibility\"}],\"welcomeScreen\":{\"button\":\"string\",\"paragraph\":\"string\",\"title\":\"string\"}}},\"allowMobileUserEnrollment\":true,\"appleSignedCert\":\"string\",\"defaultIosUserEnrollmentDeviceGroupID\":\"string\",\"defaultSystemGroupID\":\"string\",\"dep\":{\"enableZeroTouchEnrollment\":true,\"setupAssistantOptions\":[{\"option\":\"accessibility\"}],\"welcomeScreen\":{\"button\":\"string\",\"paragraph\":\"string\",\"title\":\"string\"}},\"encryptedDepServerToken\":\"string\",\"name\":\"string\"}'"
          }
        ]
      }
    },
    "/applications/{application_id}/associations": {
      "get": {
        "description": "This endpoint will return the _direct_ associations of an Application. A direct association can be a non-homogeneous relationship between 2 different objects, for example Applications and User Groups.\n\n\n#### Sample Request\n```\ncurl -X GET 'https://console.jumpcloud.com/api/v2/applications/{Application_ID}/associations?targets=user_group \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "ApplicationAssociation_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsApplication:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of an Application",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/applications/{application_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applications/{application_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applications/{application_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Application.",
          "in": "path",
          "name": "application_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to manage the _direct_ associations of an Application. A direct association can be a non-homogeneous relationship between 2 different objects, for example Application and User Groups.\n\n#### Sample Request\n```\ncurl -X POST 'https://console.jumpcloud.com/api/v2/applications/{Application_ID}/associations' \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"op\": \"add\",\n \"type\": \"user_group\",\n \"id\": \"{Group_ID}\"\n }'\n```",
        "operationId": "ApplicationAssociation_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-Application"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the associations of an Application",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/applications/{application_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applications/{application_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"user\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applications/{application_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          }
        ]
      }
    },
    "/applications/{application_id}/import/users": {
      "get": {
        "description": "Get a list of users to import from an Application IdM service provider.",
        "operationId": "SCIM_Import",
        "parameters": [
          {
            "default": "",
            "description": "Filter users by a search term",
            "in": "query",
            "name": "filter",
            "type": "string"
          },
          {
            "default": "",
            "description": "URL query to merge with the service provider request",
            "in": "query",
            "name": "query",
            "type": "string"
          },
          {
            "default": "",
            "description": "Sort users by supported fields",
            "enum": [
              "firstname",
              "lastname",
              "email"
            ],
            "in": "query",
            "name": "sort",
            "type": "string",
            "x-ms-enum": {
              "name": "sort"
            }
          },
          {
            "default": "asc",
            "enum": [
              "asc",
              "desc"
            ],
            "in": "query",
            "name": "sortOrder",
            "type": "string",
            "x-ms-enum": {
              "name": "sortOrder1"
            }
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/importUsersResponse"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get a list of users to import from an Application IdM service provider",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/applications/{application_id}/import/users?filter=&query=&sort=&sortOrder=asc&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applications/{application_id}/import/users\"\n\nquerystring = {\"filter\":\"\",\"query\":\"\",\"sort\":\"\",\"sortOrder\":\"asc\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applications/{application_id}/import/users?filter=&query=&sort=&sortOrder=asc&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Application.",
          "in": "path",
          "name": "application_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/applications/{application_id}/logo": {
      "delete": {
        "description": "Deletes the specified image from an application",
        "operationId": "ApplicationLogo_Delete",
        "parameters": [
          {
            "in": "path",
            "name": "application_id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "NO_CONTENT"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete application image",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/applications/{application_id}/logo \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applications/{application_id}/logo\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applications/{application_id}/logo' -Method DELETE -Headers $headers"
          }
        ]
      }
    },
    "/applications/{application_id}/usergroups": {
      "get": {
        "description": "This endpoint will return all Users Groups bound to an Application, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the group's type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Application to the corresponding User Group; this array represents all grouping and/or associations that would have to be removed to deprovision the User Group from this Application.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/applications/{Application_ID}/usergroups \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "ApplicationTraverseUserGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the User Groups bound to an Application",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/applications/{application_id}/usergroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applications/{application_id}/usergroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applications/{application_id}/usergroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Application.",
          "in": "path",
          "name": "application_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/applications/{application_id}/users": {
      "get": {
        "description": "This endpoint will return all Users bound to an Application, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Application to the corresponding User; this array represents all grouping and/or associations that would have to be removed to deprovision the User from this Application.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/applications/{Application_ID}/users \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "ApplicationTraverseUser_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Users bound to an Application",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/applications/{application_id}/users?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/applications/{application_id}/users\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/applications/{application_id}/users?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Application.",
          "in": "path",
          "name": "application_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/authn/policies": {
      "get": {
        "description": "Get a list of all authentication policies.\n\n#### Sample Request\n```\ncurl https://console.jumpcloud.com/api/v2/authn/policies \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "AuthenticationPolicy_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:listCount:x-total-count"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/AuthnPolicy"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Authentication Policies",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/authn/policies?limit=10&skip=0&filter=&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/authn/policies\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/authn/policies?limit=10&skip=0&filter=&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "post": {
        "description": "Create an authentication policy.\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/authn/policies \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"name\": \"Sample Policy\",\n \"disabled\": false,\n \"effect\": {\n \"action\": \"allow\"\n },\n \"targets\": {\n \"users\": {\n \"inclusions\": [\"ALL\"]\n },\n \"userGroups\": {\n \"exclusions\": [{USER_GROUP_ID}]\n },\n \"resources\": [ {\"type\": \"user_portal\" } ]\n },\n \"conditions\":{\n \"ipAddressIn\": [{IP_LIST_ID}]\n }\n }'\n```",
        "operationId": "AuthenticationPolicy_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/AuthnPolicyInput"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/AuthnPolicy"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create an Authentication Policy",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/authn/policies \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"conditions\":{},\"description\":\"string\",\"disabled\":true,\"effect\":{\"action\":\"allow\",\"obligations\":{\"mfa\":{\"required\":true}}},\"name\":\"string\",\"targets\":{\"resources\":[{\"id\":\"string\",\"type\":\"user_portal\"}],\"userAttributes\":{\"exclusions\":[{\"field\":\"string\",\"operator\":\"EQ\",\"value\":null}],\"inclusions\":[{\"field\":\"string\",\"operator\":\"EQ\",\"value\":null}]},\"userGroups\":{\"exclusions\":[\"string\"],\"inclusions\":[\"string\"]},\"users\":{\"inclusions\":[\"string\"]}},\"type\":\"user_portal\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/authn/policies\"\n\npayload = {\n \"conditions\": {},\n \"description\": \"string\",\n \"disabled\": True,\n \"effect\": {\n \"action\": \"allow\",\n \"obligations\": {\"mfa\": {\"required\": True}}\n },\n \"name\": \"string\",\n \"targets\": {\n \"resources\": [\n {\n \"id\": \"string\",\n \"type\": \"user_portal\"\n }\n ],\n \"userAttributes\": {\n \"exclusions\": [\n {\n \"field\": \"string\",\n \"operator\": \"EQ\",\n \"value\": None\n }\n ],\n \"inclusions\": [\n {\n \"field\": \"string\",\n \"operator\": \"EQ\",\n \"value\": None\n }\n ]\n },\n \"userGroups\": {\n \"exclusions\": [\"string\"],\n \"inclusions\": [\"string\"]\n },\n \"users\": {\"inclusions\": [\"string\"]}\n },\n \"type\": \"user_portal\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/authn/policies' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"conditions\":{},\"description\":\"string\",\"disabled\":true,\"effect\":{\"action\":\"allow\",\"obligations\":{\"mfa\":{\"required\":true}}},\"name\":\"string\",\"targets\":{\"resources\":[{\"id\":\"string\",\"type\":\"user_portal\"}],\"userAttributes\":{\"exclusions\":[{\"field\":\"string\",\"operator\":\"EQ\",\"value\":null}],\"inclusions\":[{\"field\":\"string\",\"operator\":\"EQ\",\"value\":null}]},\"userGroups\":{\"exclusions\":[\"string\"],\"inclusions\":[\"string\"]},\"users\":{\"inclusions\":[\"string\"]}},\"type\":\"user_portal\"}'"
          }
        ]
      }
    },
    "/authn/policies/{id}": {
      "delete": {
        "description": "Delete the specified authentication policy.\n\n#### Sample Request\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/authn/policies/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "AuthenticationPolicy_Delete",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/AuthnPolicy"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete Authentication Policy",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/authn/policies/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/authn/policies/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/authn/policies/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "Return a specific authentication policy.\n\n#### Sample Request\n```\ncurl https://console.jumpcloud.com/api/v2/authn/policies/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "AuthenticationPolicy_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/AuthnPolicy"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get an authentication policy",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/authn/policies/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/authn/policies/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/authn/policies/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "Unique identifier of the authentication policy",
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ],
      "patch": {
        "description": "Patch the specified authentication policy.\n\n#### Sample Request\n```\ncurl -X PATCH https://console.jumpcloud.com/api/v2/authn/policies/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{ \"disabled\": false }'\n```",
        "operationId": "AuthenticationPolicy_Update",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/AuthnPolicyInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/AuthnPolicy"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Patch Authentication Policy",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PATCH \\\n --url https://console.jumpcloud.com/api/v2/authn/policies/{id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"conditions\":{},\"description\":\"string\",\"disabled\":true,\"effect\":{\"action\":\"allow\",\"obligations\":{\"mfa\":{\"required\":true}}},\"name\":\"string\",\"targets\":{\"resources\":[{\"id\":\"string\",\"type\":\"user_portal\"}],\"userAttributes\":{\"exclusions\":[{\"field\":\"string\",\"operator\":\"EQ\",\"value\":null}],\"inclusions\":[{\"field\":\"string\",\"operator\":\"EQ\",\"value\":null}]},\"userGroups\":{\"exclusions\":[\"string\"],\"inclusions\":[\"string\"]},\"users\":{\"inclusions\":[\"string\"]}},\"type\":\"user_portal\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/authn/policies/{id}\"\n\npayload = {\n \"conditions\": {},\n \"description\": \"string\",\n \"disabled\": True,\n \"effect\": {\n \"action\": \"allow\",\n \"obligations\": {\"mfa\": {\"required\": True}}\n },\n \"name\": \"string\",\n \"targets\": {\n \"resources\": [\n {\n \"id\": \"string\",\n \"type\": \"user_portal\"\n }\n ],\n \"userAttributes\": {\n \"exclusions\": [\n {\n \"field\": \"string\",\n \"operator\": \"EQ\",\n \"value\": None\n }\n ],\n \"inclusions\": [\n {\n \"field\": \"string\",\n \"operator\": \"EQ\",\n \"value\": None\n }\n ]\n },\n \"userGroups\": {\n \"exclusions\": [\"string\"],\n \"inclusions\": [\"string\"]\n },\n \"users\": {\"inclusions\": [\"string\"]}\n },\n \"type\": \"user_portal\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/authn/policies/{id}' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{\"conditions\":{},\"description\":\"string\",\"disabled\":true,\"effect\":{\"action\":\"allow\",\"obligations\":{\"mfa\":{\"required\":true}}},\"name\":\"string\",\"targets\":{\"resources\":[{\"id\":\"string\",\"type\":\"user_portal\"}],\"userAttributes\":{\"exclusions\":[{\"field\":\"string\",\"operator\":\"EQ\",\"value\":null}],\"inclusions\":[{\"field\":\"string\",\"operator\":\"EQ\",\"value\":null}]},\"userGroups\":{\"exclusions\":[\"string\"],\"inclusions\":[\"string\"]},\"users\":{\"inclusions\":[\"string\"]}},\"type\":\"user_portal\"}'"
          }
        ]
      }
    },
    "/bulk/users": {
      "patch": {
        "description": "The endpoint allows you to create a bulk job to asynchronously update users. See [Update a System User](https://docs.jumpcloud.com/api/1.0/index.html#operation/systemusers_put) for full list of attributes.\n\n#### Sample Request \n```\ncurl -X PATCH https://console.jumpcloud.com/api/v2/bulk/users \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '[\n\t{\n\t \"id\":\"5be9fb4ddb01290001e85109\",\n\t\t\"firstname\":\"{UPDATED_FIRSTNAME}\",\n\t\t\"department\":\"{UPDATED_DEPARTMENT}\",\n\t\t\"attributes\":[\n\t\t\t{\"name\":\"Custom\",\"value\":\"{ATTRIBUTE_VALUE}\"}\n\t\t]\n\t},\n\t{\n\t \"id\":\"5be9fb4ddb01290001e85109\",\n\t\t\"firstname\":\"{UPDATED_FIRSTNAME}\",\n\t\t\"costCenter\":\"{UPDATED_COST_CENTER}\",\n\t\t\"phoneNumbers\":[\n\t\t\t{\"type\":\"home\",\"number\":\"{HOME_PHONE_NUMBER}\"},\n\t\t\t{\"type\":\"work\",\"number\":\"{WORK_PHONE_NUMBER}\"}\n\t\t]\n\t}\n]\n```",
        "operationId": "BulkUsers_Update",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "items": {
                "$ref": "#/definitions/bulk-user-update"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/job-id"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Bulk Users Update",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PATCH \\\n --url https://console.jumpcloud.com/api/v2/bulk/users \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '[{\"attributes\":[{}],\"email\":\"string\",\"firstname\":\"string\",\"id\":\"string\",\"lastname\":\"string\",\"username\":\"string\"}]'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/bulk/users\"\n\npayload = [\n {\n \"attributes\": [{}],\n \"email\": \"string\",\n \"firstname\": \"string\",\n \"id\": \"string\",\n \"lastname\": \"string\",\n \"username\": \"string\"\n }\n]\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/bulk/users' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '[{\"attributes\":[{}],\"email\":\"string\",\"firstname\":\"string\",\"id\":\"string\",\"lastname\":\"string\",\"username\":\"string\"}]'"
          }
        ]
      },
      "post": {
        "description": "The endpoint allows you to create a bulk job to asynchronously create users.\nSee [Create a System User](https://docs.jumpcloud.com/api/1.0/index.html#operation/systemusers_post)\nfor the full list of attributes.\n\n#### Default User State\nThe `state` of each user in the request can be explicitly passed in or\nomitted. If `state` is omitted, then the user will get created\nusing the value returned from the\n[Get an Organization](https://docs.jumpcloud.com/api/1.0/index.html#operation/organizations_get)\nendpoint. The default user state for bulk created users depends on the\n`creation-source` header. For `creation-source:jumpcloud:bulk` the\ndefault state is stored in `settings.newSystemUserStateDefaults.csvImport`.\nFor other `creation-source` header values, the default state is stored in\n`settings.newSystemUserStateDefaults.applicationImport`\n\nThese default state values can be changed in the admin portal settings\nor by using the\n[Update an Organization](https://docs.jumpcloud.com/api/1.0/index.html#operation/organization_put)\nendpoint.\n\n#### Sample Request\n\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/bulk/users \\\n-H 'Accept: application/json' \\\n-H 'Content-Type: application/json' \\\n-H 'x-api-key: {API_KEY}' \\\n-d '[\n {\n \"email\":\"{email}\",\n \"firstname\":\"{firstname}\",\n \"lastname\":\"{firstname}\",\n \"username\":\"{username}\",\n \"attributes\":[\n {\n \"name\":\"EmployeeID\",\n \"value\":\"0000\"\n },\n {\n \"name\":\"Custom\",\n \"value\":\"attribute\"\n }\n ]\n }\n]'\n```",
        "operationId": "BulkUsers_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "items": {
                "$ref": "#/definitions/bulk-user-create"
              },
              "type": "array"
            }
          },
          {
            "default": "jumpcloud:bulk",
            "description": "Defines the creation-source header for gapps, o365 and workdays requests.\nIf the header isn't sent, the default value is `jumpcloud:bulk`, if you send the header with a malformed value you receive a 400 error.\n",
            "enum": [
              "jumpcloud:gapps",
              "jumpcloud:o365",
              "jumpcloud:workday",
              "jumpcloud:scim",
              "jumpcloud:bulk",
              "jumpcloud:custom_integration"
            ],
            "in": "header",
            "name": "creation-source",
            "type": "string",
            "x-ms-enum": {
              "name": "creation-source2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/job-id"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Bulk Users Create",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/bulk/users \\\n --header 'content-type: application/json' \\\n --header 'creation-source: jumpcloud:bulk' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '[{\"attributes\":[{}],\"email\":\"string\",\"firstname\":\"string\",\"lastname\":\"string\",\"username\":\"string\"}]'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/bulk/users\"\n\npayload = [\n {\n \"attributes\": [{}],\n \"email\": \"string\",\n \"firstname\": \"string\",\n \"lastname\": \"string\",\n \"username\": \"string\"\n }\n]\nheaders = {\n \"creation-source\": \"jumpcloud:bulk\",\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"creation-source\", \"jumpcloud:bulk\")\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/bulk/users' -Method POST -Headers $headers -ContentType 'application/json' -Body '[{\"attributes\":[{}],\"email\":\"string\",\"firstname\":\"string\",\"lastname\":\"string\",\"username\":\"string\"}]'"
          }
        ]
      }
    },
    "/bulk/users/{job_id}/results": {
      "get": {
        "description": "This endpoint will return the results of particular user import or update job request.\n\n#### Sample Request\n```\ncurl -X GET \\\n https://console.jumpcloud.com/api/v2/bulk/users/{ImportJobID}/results \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "BulkUsersResult_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/job-workresult"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Bulk Users Results",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/bulk/users/{job_id}/results?limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/bulk/users/{job_id}/results\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/bulk/users/{job_id}/results?limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "job_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/bulk/userstates": {
      "get": {
        "description": "The endpoint allows you to list scheduled statechange jobs.\n#### Sample Request\n```\ncurl -X GET \"https://console.jumpcloud.com/api/v2/bulk/userstates\" \\\n -H 'x-api-key: {API_KEY}' \\\n -H 'Content-Type: application/json' \\\n -H 'Accept: application/json'\n```",
        "operationId": "BulkUserStates_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "description": "The systemuser id to filter by.",
            "in": "query",
            "name": "userid",
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/scheduled-userstate-result"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Scheduled Userstate Change Jobs",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/bulk/userstates?limit=10&skip=0&userid=SOME_STRING_VALUE' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/bulk/userstates\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"userid\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/bulk/userstates?limit=10&skip=0&userid=SOME_STRING_VALUE' -Method GET -Headers $headers"
          }
        ]
      },
      "post": {
        "description": "This endpoint allows you to create scheduled statechange jobs.\n#### Sample Request\n```\ncurl -X POST \"https://console.jumpcloud.com/api/v2/bulk/userstates\" \\\n -H 'x-api-key: {API_KEY}' \\\n -H 'Content-Type: application/json' \\\n -H 'Accept: application/json' \\\n -d '{\n \"user_ids\": [\"{User_ID_1}\", \"{User_ID_2}\", \"{User_ID_3}\"],\n \"state\": \"SUSPENDED\",\n \"start_date\": \"2000-01-01T00:00:00.000Z\"\n }'\n```",
        "operationId": "BulkUserState_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/bulk-scheduled-statechange-create"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "examples": {},
            "schema": {
              "items": {
                "$ref": "#/definitions/scheduled-userstate-result"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create Scheduled Userstate Job",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/bulk/userstates \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"start_date\":\"2019-08-24T14:15:22Z\",\"state\":\"ACTIVATED\",\"user_ids\":[\"string\"]}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/bulk/userstates\"\n\npayload = {\n \"start_date\": \"2019-08-24T14:15:22Z\",\n \"state\": \"ACTIVATED\",\n \"user_ids\": [\"string\"]\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/bulk/userstates' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"start_date\":\"2019-08-24T14:15:22Z\",\"state\":\"ACTIVATED\",\"user_ids\":[\"string\"]}'"
          }
        ]
      }
    },
    "/bulk/userstates/eventlist/next": {
      "get": {
        "description": "This endpoint is used to lookup the next upcoming scheduled state change for each user in the\ngiven list. The users parameter is limited to 100 items per request.\n#### Sample Request\n```\ncurl -X GET \"https://console.jumpcloud.com/api/v2/bulk/userstates/eventlist/next?users={UserID1},{UserID2},{UserID3}\" \\\n -H 'x-api-key: {API_KEY}' \\\n -H 'Content-Type: application/json' \\\n -H 'Accept: application/json'\n```",
        "operationId": "NextScheduledBulkUserState_Get",
        "parameters": [
          {
            "description": "A list of system user IDs",
            "in": "query",
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "minItems": 0,
            "name": "users",
            "required": true,
            "type": "array"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "properties": {
                "events_count": {
                  "type": "integer"
                },
                "results": {
                  "items": {
                    "$ref": "#/definitions/scheduled-userstate-result"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Gets the next scheduled state change for each user in a list of system users",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/bulk/userstates/eventlist/next?users=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/bulk/userstates/eventlist/next\"\n\nquerystring = {\"users\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/bulk/userstates/eventlist/next?users=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": []
    },
    "/bulk/userstates/{id}": {
      "delete": {
        "description": "This endpoint deletes a scheduled statechange job.\n#### Sample Request\n```\ncurl -X DELETE \"https://console.jumpcloud.com/api/v2/bulk/userstates/{ScheduledJob_ID}\" \\\n -H 'x-api-key: {API_KEY}' \\\n -H 'Content-Type: application/json' \\\n -H 'Accept: application/json'\n```",
        "operationId": "BulkUserState_Delete",
        "parameters": [],
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {}
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete Scheduled Userstate Job",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/bulk/userstates/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/bulk/userstates/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/bulk/userstates/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "Unique identifier of the scheduled statechange job.",
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/commands/{command_id}/associations": {
      "get": {
        "description": "This endpoint will return the _direct_ associations of this Command.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Commands and User Groups.\n\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/commands/{Command_ID}/associations?targets=system_group \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "CommandAssociation_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsCommand:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of a Command",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/commands/{command_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/commands/{command_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/commands/{command_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Command.",
          "in": "path",
          "name": "command_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint will allow you to manage the _direct_ associations of this Command.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Commands and User Groups.\n\n\n#### Sample Request\n```\n curl -X POST https://console.jumpcloud.com/api/v2/commands/{Command_ID}/associations \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"op\": \"add\",\n \"type\": \"system_group\",\n \"id\": \"Group_ID\"\n }'\n```",
        "operationId": "CommandAssociation_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-Command"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the associations of a Command",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/commands/{command_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"system\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/commands/{command_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"system\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/commands/{command_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"system\"}'"
          }
        ]
      }
    },
    "/commands/{command_id}/systemgroups": {
      "get": {
        "description": "This endpoint will return all System Groups bound to a Command, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the group's type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Command to the corresponding System Group; this array represents all grouping and/or associations that would have to be removed to deprovision the System Group from this Command.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/commands/{Command_ID}/systemgroups \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "CommandTraverseSystemGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the System Groups bound to a Command",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/commands/{command_id}/systemgroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/commands/{command_id}/systemgroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/commands/{command_id}/systemgroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Command.",
          "in": "path",
          "name": "command_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/commands/{command_id}/systems": {
      "get": {
        "description": "This endpoint will return all Systems bound to a Command, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Command to the corresponding System; this array represents all grouping and/or associations that would have to be removed to deprovision the System from this Command.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/commands/{Command_ID}/systems \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "CommandTraverseSystem_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Systems bound to a Command",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/commands/{command_id}/systems?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/commands/{command_id}/systems\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/commands/{command_id}/systems?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Command.",
          "in": "path",
          "name": "command_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/customemail/templates": {
      "get": {
        "description": "Get the list of custom email templates",
        "operationId": "CustomEmailTemplates_List",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/CustomEmailTemplate"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List custom email templates",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/customemail/templates \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/customemail/templates\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/customemail/templates' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/customemails": {
      "post": {
        "description": "Create the custom email configuration for the specified custom email type",
        "operationId": "CustomEmailConfiguration_Create",
        "parameters": [
          {
            "description": "",
            "in": "body",
            "name": "CustomEmail",
            "schema": {
              "$ref": "#/definitions/CustomEmail"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CustomEmail"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create custom email configuration",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/customemails \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"body\":\"string\",\"button\":\"string\",\"header\":\"string\",\"nextStepContactInfo\":\"string\",\"subject\":\"string\",\"title\":\"string\",\"type\":\"activate_gapps_user\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/customemails\"\n\npayload = {\n \"body\": \"string\",\n \"button\": \"string\",\n \"header\": \"string\",\n \"nextStepContactInfo\": \"string\",\n \"subject\": \"string\",\n \"title\": \"string\",\n \"type\": \"activate_gapps_user\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/customemails' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"body\":\"string\",\"button\":\"string\",\"header\":\"string\",\"nextStepContactInfo\":\"string\",\"subject\":\"string\",\"title\":\"string\",\"type\":\"activate_gapps_user\"}'"
          }
        ]
      }
    },
    "/customemails/{custom_email_type}": {
      "delete": {
        "description": "Delete the custom email configuration for the specified custom email type",
        "operationId": "CustomEmailConfiguration_Delete",
        "parameters": [],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete custom email configuration",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/customemails/{custom_email_type} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/customemails/{custom_email_type}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/customemails/{custom_email_type}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "Get the custom email configuration for the specified custom email type",
        "operationId": "CustomEmailConfiguration_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CustomEmail"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get custom email configuration",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/customemails/{custom_email_type} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/customemails/{custom_email_type}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/customemails/{custom_email_type}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "custom_email_type",
          "required": true,
          "type": "string"
        }
      ],
      "put": {
        "description": "Update the custom email configuration for the specified custom email type",
        "operationId": "CustomEmailConfiguration_Set",
        "parameters": [
          {
            "in": "body",
            "name": "CustomEmail",
            "schema": {
              "$ref": "#/definitions/CustomEmail"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CustomEmail"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update custom email configuration",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PUT \\\n --url https://console.jumpcloud.com/api/v2/customemails/{custom_email_type} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"body\":\"string\",\"button\":\"string\",\"header\":\"string\",\"nextStepContactInfo\":\"string\",\"subject\":\"string\",\"title\":\"string\",\"type\":\"activate_gapps_user\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/customemails/{custom_email_type}\"\n\npayload = {\n \"body\": \"string\",\n \"button\": \"string\",\n \"header\": \"string\",\n \"nextStepContactInfo\": \"string\",\n \"subject\": \"string\",\n \"title\": \"string\",\n \"type\": \"activate_gapps_user\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/customemails/{custom_email_type}' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{\"body\":\"string\",\"button\":\"string\",\"header\":\"string\",\"nextStepContactInfo\":\"string\",\"subject\":\"string\",\"title\":\"string\",\"type\":\"activate_gapps_user\"}'"
          }
        ]
      }
    },
    "/directories": {
      "get": {
        "description": "This endpoint returns all active directories (LDAP, O365 Suite, G-Suite).\n\n#### Sample Request\n```\n curl -X GET https://console.jumpcloud.com/api/v2/directories \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "Directory_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/Directory"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List All Directories",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/directories?fields=&limit=10&sort=&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/directories\"\n\nquerystring = {\"fields\":\"\",\"limit\":\"10\",\"sort\":\"\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/directories?fields=&limit=10&sort=&skip=0' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/duo/accounts": {
      "get": {
        "description": "This endpoint returns all the Duo accounts for your organization. Note: There can currently only be one Duo account for your organization.\n\n#### Sample Request\n```\ncurl https://console.jumpcloud.com/api/v2/duo/accounts \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "DuoAccount_List",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/DuoAccount"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Duo Accounts",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/duo/accounts' -Method GET -Headers $headers"
          }
        ]
      },
      "post": {
        "description": "Registers a Duo account for an organization. Only one Duo account will be allowed,\nin case an organization has a Duo account already a 409 (Conflict) code will be returned.\n\n#### Sample Request\n```\n curl -X POST https://console.jumpcloud.com/api/v2/duo/accounts \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{}'\n```",
        "operationId": "DuoAccount_Create",
        "parameters": [],
        "responses": {
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DuoAccount"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create Duo Account",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/duo/accounts' -Method POST -Headers $headers"
          }
        ]
      }
    },
    "/duo/accounts/{account_id}/applications": {
      "get": {
        "description": "This endpoint returns all the Duo applications for the specified Duo account. Note: There can currently only be one Duo application for your organization.\n\n#### Sample Request\n```\n curl https://console.jumpcloud.com/api/v2/duo/accounts/{ACCOUNT_ID}/applications \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "DuoApplication_List",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/DuoApplication"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Duo Applications",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "account_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "Creates a Duo application for your organization and the specified account.\n\n#### Sample Request\n```\n curl -X POST https://console.jumpcloud.com/api/v2/duo/accounts/{ACCOUNT_ID}/applications \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"name\": \"Application Name\",\n \"apiHost\": \"api-1234.duosecurity.com\",\n \"integrationKey\": \"1234\",\n \"secretKey\": \"5678\"\n }'\n```",
        "operationId": "DuoApplication_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/DuoApplicationReq"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DuoApplication"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create Duo Application",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"apiHost\":\"string\",\"integrationKey\":\"string\",\"name\":\"string\",\"secretKey\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications\"\n\npayload = {\n \"apiHost\": \"string\",\n \"integrationKey\": \"string\",\n \"name\": \"string\",\n \"secretKey\": \"string\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"apiHost\":\"string\",\"integrationKey\":\"string\",\"name\":\"string\",\"secretKey\":\"string\"}'"
          }
        ]
      }
    },
    "/duo/accounts/{account_id}/applications/{application_id}": {
      "delete": {
        "description": "Deletes the specified Duo application, an error will be returned if the application is used in a protected resource.\n\n#### Sample Request\n```\n curl -X DELETE https://console.jumpcloud.com/api/v2/duo/accounts/{ACCOUNT_ID}/applications/{APPLICATION_ID} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}''\n```",
        "operationId": "DuoApplication_Delete",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DuoApplication"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete a Duo Application",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "This endpoint returns a specific Duo application that is associated with the specified Duo account.\n\n#### Sample Request\n```\n curl https://console.jumpcloud.com/api/v2/duo/accounts/{ACCOUNT_ID}/applications/{APPLICATION_ID} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "DuoApplication_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DuoApplication"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get a Duo application",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "account_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "application_id",
          "required": true,
          "type": "string"
        }
      ],
      "put": {
        "description": "Updates the specified Duo application.\n\n#### Sample Request\n```\n curl -X PUT https://console.jumpcloud.com/api/v2/duo/accounts/{ACCOUNT_ID}/applications/{APPLICATION_ID} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"name\": \"Application Name\",\n \"apiHost\": \"api-1234.duosecurity.com\",\n \"integrationKey\": \"1234\",\n \"secretKey\": \"5678\"\n }'\n```",
        "operationId": "DuoApplication_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/DuoApplicationUpdateReq"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DuoApplication"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update Duo Application",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PUT \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"apiHost\":\"string\",\"integrationKey\":\"string\",\"name\":\"string\",\"secretKey\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id}\"\n\npayload = {\n \"apiHost\": \"string\",\n \"integrationKey\": \"string\",\n \"name\": \"string\",\n \"secretKey\": \"string\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/duo/accounts/{account_id}/applications/{application_id}' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{\"apiHost\":\"string\",\"integrationKey\":\"string\",\"name\":\"string\",\"secretKey\":\"string\"}'"
          }
        ]
      }
    },
    "/duo/accounts/{id}": {
      "delete": {
        "description": "Removes the specified Duo account, an error will be returned if the account has some Duo application used in a protected resource.\n\n#### Sample Request\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/duo/accounts/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "DuoAccount_Delete",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DuoAccount"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete a Duo Account",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/duo/accounts/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "This endpoint returns a specific Duo account.\n\n#### Sample Request\n```\ncurl https://console.jumpcloud.com/api/v2/duo/accounts/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "DuoAccount_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/DuoAccount"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get a Duo Acount",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/duo/accounts/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/duo/accounts/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/duo/accounts/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Duo Account",
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/groups": {
      "get": {
        "description": "This endpoint returns all Groups that exist in your organization.\n\n#### Available filter fields:\n - `name`\n - `disabled`\n - `type`\n\n#### Sample Request\n\n```\n curl -X GET \\\n https://console.jumpcloud.com/api/v2/groups \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "Group_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          },
          {
            "$ref": "#/parameters/trait:listCount:x-unfiltered-total-count"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/Group"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List All Groups",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/groups?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/groups\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/groups?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": []
    },
    "/gsuites/{gsuite_id}/associations": {
      "get": {
        "description": "This endpoint returns the _direct_ associations of this G Suite instance.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example G Suite and Users.\n\n\n#### Sample Request\n```\ncurl -X GET 'https://console.jumpcloud.com/api/v2/gsuites/{Gsuite_ID}/associations?targets=user_group \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "GSuiteAssociation_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsGSuite:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of a G Suite instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the G Suite instance.",
          "in": "path",
          "name": "gsuite_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint returns the _direct_ associations of this G Suite instance.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example G Suite and Users.\n\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/gsuites/{Gsuite_ID}/associations \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"op\": \"add\",\n \"type\": \"user_group\",\n \"id\": \"{Group_ID}\"\n }'\n```",
        "operationId": "GSuiteAssociation_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-GSuite"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the associations of a G Suite instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"user\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          }
        ]
      }
    },
    "/gsuites/{gsuite_id}/import/jumpcloudusers": {
      "get": {
        "description": "Lists available G Suite users for import, translated to the Jumpcloud user schema.",
        "operationId": "GsuiteUsersToImportFormated_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:gsuite:maxResults"
          },
          {
            "$ref": "#/parameters/trait:gsuite:orderBy"
          },
          {
            "$ref": "#/parameters/trait:gsuite:pageToken"
          },
          {
            "$ref": "#/parameters/trait:gsuite:query"
          },
          {
            "$ref": "#/parameters/trait:gsuite:sortOrder"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "properties": {
                "nextPageToken": {
                  "type": "string"
                },
                "users": {
                  "items": {
                    "$ref": "#/definitions/User"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get a list of users in Jumpcloud format to import from a Google Workspace account.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/import/jumpcloudusers?maxResults=SOME_INTEGER_VALUE&orderBy=SOME_STRING_VALUE&pageToken=SOME_STRING_VALUE&query=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/import/jumpcloudusers\"\n\nquerystring = {\"maxResults\":\"SOME_INTEGER_VALUE\",\"orderBy\":\"SOME_STRING_VALUE\",\"pageToken\":\"SOME_STRING_VALUE\",\"query\":\"SOME_STRING_VALUE\",\"sortOrder\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/import/jumpcloudusers?maxResults=SOME_INTEGER_VALUE&orderBy=SOME_STRING_VALUE&pageToken=SOME_STRING_VALUE&query=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "gsuite_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/gsuites/{gsuite_id}/import/users": {
      "get": {
        "description": "Lists G Suite users available for import.",
        "operationId": "GSuiteUsersToImport_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:gsuite:maxResults"
          },
          {
            "$ref": "#/parameters/trait:gsuite:orderBy"
          },
          {
            "$ref": "#/parameters/trait:gsuite:pageToken"
          },
          {
            "$ref": "#/parameters/trait:gsuite:query"
          },
          {
            "$ref": "#/parameters/trait:gsuite:sortOrder"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "properties": {
                "nextPageToken": {
                  "type": "string"
                },
                "users": {
                  "items": {
                    "properties": {
                      "familyName": {
                        "type": "string"
                      },
                      "givenName": {
                        "type": "string"
                      },
                      "id": {
                        "type": "string"
                      },
                      "primaryEmail": {
                        "type": "string"
                      },
                      "thumbnailPhotoUrl": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get a list of users to import from a G Suite instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/import/users?limit=10&maxResults=SOME_INTEGER_VALUE&orderBy=SOME_STRING_VALUE&pageToken=SOME_STRING_VALUE&query=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/import/users\"\n\nquerystring = {\"limit\":\"10\",\"maxResults\":\"SOME_INTEGER_VALUE\",\"orderBy\":\"SOME_STRING_VALUE\",\"pageToken\":\"SOME_STRING_VALUE\",\"query\":\"SOME_STRING_VALUE\",\"sortOrder\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/import/users?limit=10&maxResults=SOME_INTEGER_VALUE&orderBy=SOME_STRING_VALUE&pageToken=SOME_STRING_VALUE&query=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "gsuite_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/gsuites/{gsuite_id}/translationrules": {
      "get": {
        "description": "This endpoint returns all graph translation rules for a specific G Suite instance. These rules specify how JumpCloud attributes translate to [G Suite Admin SDK](https://developers.google.com/admin-sdk/directory/) attributes.\n\n##### Sample Request\n\n```\n curl -X GET https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "GSuiteTranslationRule_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "examples": {
              "application/json": [
                {
                  "field": "g_suite_work_addresses",
                  "id": "object_id_1",
                  "source_type": "user"
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/GSuiteTranslationRule"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List all the G Suite Translation Rules",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "gsuite_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to create a translation rule for a specific G Suite instance. These rules specify how JumpCloud attributes translate to [G Suite Admin SDK](https://developers.google.com/admin-sdk/directory/) attributes.\n\n##### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n {Translation Rule Parameters}\n }'\n```",
        "operationId": "GSuiteTranslationRule_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GSuiteTranslationRuleRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/GSuiteTranslationRule"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create a new G Suite Translation Rule",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"builtIn\":\"user_home_addresses\",\"direction\":\"export\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules\"\n\npayload = {\n \"builtIn\": \"user_home_addresses\",\n \"direction\": \"export\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"builtIn\":\"user_home_addresses\",\"direction\":\"export\"}'"
          }
        ]
      }
    },
    "/gsuites/{gsuite_id}/translationrules/{id}": {
      "delete": {
        "description": "This endpoint allows you to delete a translation rule for a specific G Suite instance. These rules specify how JumpCloud attributes translate to [G Suite Admin SDK](https://developers.google.com/admin-sdk/directory/) attributes.\n\n#### Sample Request\n\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules/{id} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "GSuiteTranslationRule_Delete",
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Deletes a G Suite translation rule",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "This endpoint returns a specific translation rule for a specific G Suite instance. These rules specify how JumpCloud attributes translate to [G Suite Admin SDK](https://developers.google.com/admin-sdk/directory/) attributes.\n\n###### Sample Request\n\n```\n curl -X GET https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules/{id} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "GSuiteTranslationRule_Get",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/GSuiteTranslationRule"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Gets a specific G Suite translation rule",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/translationrules/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "gsuite_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/gsuites/{gsuite_id}/usergroups": {
      "get": {
        "description": "This endpoint will return all User Groups bound to an G Suite instance, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the group's type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this G Suite instance to the corresponding User Group; this array represents all grouping and/or associations that would have to be removed to deprovision the User Group from this G Suite instance.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\n curl -X GET https://console.jumpcloud.com/api/v2/gsuites/{GSuite_ID}/usergroups \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "GSuiteTraverseUserGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the User Groups bound to a G Suite instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/usergroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/usergroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/usergroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the G Suite instance.",
          "in": "path",
          "name": "gsuite_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/gsuites/{gsuite_id}/users": {
      "get": {
        "description": "This endpoint will return all Users bound to a G Suite instance, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this G Suite instance to the corresponding User; this array represents all grouping and/or associations that would have to be removed to deprovision the User from this G Suite instance.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\n curl -X GET https://console.jumpcloud.com/api/v2/gsuites/{Gsuite_ID}/users \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "GSuiteTraverseUser_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Users bound to a G Suite instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/users?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/users\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/gsuites/{gsuite_id}/users?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the G Suite instance.",
          "in": "path",
          "name": "gsuite_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/gsuites/{id}": {
      "get": {
        "description": "This endpoint returns a specific G Suite.\n\n##### Sample Request\n\n```\n curl -X GET https://console.jumpcloud.com/api/v2/gsuites/{GSUITE_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "GSuite_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/gsuite-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get G Suite",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/gsuites/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/gsuites/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/gsuites/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "Unique identifier of the GSuite.",
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ],
      "patch": {
        "description": "This endpoint allows updating some attributes of a G Suite.\n\n##### Sample Request\n\n```\ncurl -X PATCH https://console.jumpcloud.com/api/v2/gsuites/{GSUITE_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"userLockoutAction\": \"suspend\",\n \"userPasswordExpirationAction\": \"maintain\"\n }'\n```",
        "operationId": "GSuite_Update",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/gsuite-patch-input"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/gsuite-output"
            }
          }
        },
        "summary": "Update existing G Suite",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PATCH \\\n --url https://console.jumpcloud.com/api/v2/gsuites/{id} \\\n --header 'content-type: application/json' \\\n --data '{\"groupsEnabled\":true,\"name\":\"string\",\"userLockoutAction\":\"suspend\",\"userPasswordExpirationAction\":\"suspend\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/gsuites/{id}\"\n\npayload = {\n \"groupsEnabled\": True,\n \"name\": \"string\",\n \"userLockoutAction\": \"suspend\",\n \"userPasswordExpirationAction\": \"suspend\"\n}\nheaders = {\"content-type\": \"application/json\"}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/gsuites/{id}' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{\"groupsEnabled\":true,\"name\":\"string\",\"userLockoutAction\":\"suspend\",\"userPasswordExpirationAction\":\"suspend\"}'"
          }
        ]
      }
    },
    "/iplists": {
      "get": {
        "description": "Retrieve all IP lists.\n\n#### Sample Request\n```\ncurl https://console.jumpcloud.com/api/v2/iplists \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "IpList_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:listCount:x-total-count"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/IPList"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List IP Lists",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/iplists?limit=10&skip=0&filter=&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/iplists\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/iplists?limit=10&skip=0&filter=&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "post": {
        "description": "Create an IP list.\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/iplists \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"name\": \"Sample IP List\",\n \"ips\": [\n \"192.168.10.12\",\n \"192.168.10.20 - 192.168.10.30\",\n \"123.225.10.0/32\"\n ]\n }'\n```",
        "operationId": "IpList_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/IPListRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/IPList"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create IP List",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/iplists \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"description\":\"string\",\"ips\":[\"string\"],\"name\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/iplists\"\n\npayload = {\n \"description\": \"string\",\n \"ips\": [\"string\"],\n \"name\": \"string\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/iplists' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"description\":\"string\",\"ips\":[\"string\"],\"name\":\"string\"}'"
          }
        ]
      }
    },
    "/iplists/{id}": {
      "delete": {
        "description": "Delete a specific IP list.\n\n#### Sample Request\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/iplists/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "IpList_Delete",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IPList"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete an IP list",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/iplists/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/iplists/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/iplists/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "Return a specific IP list.\n\n#### Sample Request\n```\ncurl https://console.jumpcloud.com/api/v2/iplists/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "IpList_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IPList"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get an IP list",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/iplists/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/iplists/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/iplists/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ],
      "patch": {
        "description": "Update a specific IP list.\n\n#### Sample Request\n```\ncurl -X PATCH https://console.jumpcloud.com/api/v2/iplists/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\"name\": \"New IP List Name\"}'\n```",
        "operationId": "IpList_Update",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/IPListRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IPList"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update an IP list",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PATCH \\\n --url https://console.jumpcloud.com/api/v2/iplists/{id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"description\":\"string\",\"ips\":[\"string\"],\"name\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/iplists/{id}\"\n\npayload = {\n \"description\": \"string\",\n \"ips\": [\"string\"],\n \"name\": \"string\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/iplists/{id}' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{\"description\":\"string\",\"ips\":[\"string\"],\"name\":\"string\"}'"
          }
        ]
      },
      "put": {
        "description": "Replace a specific IP list.\n\n#### Sample Request\n```\ncurl -X PUT https://console.jumpcloud.com/api/v2/iplists/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"name\": \"Sample IP List\",\n \"ips\": [\n \"192.168.10.10\"\n ]\n }'\n```",
        "operationId": "IpList_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/IPListRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IPList"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Replace an IP list",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PUT \\\n --url https://console.jumpcloud.com/api/v2/iplists/{id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"description\":\"string\",\"ips\":[\"string\"],\"name\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/iplists/{id}\"\n\npayload = {\n \"description\": \"string\",\n \"ips\": [\"string\"],\n \"name\": \"string\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/iplists/{id}' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{\"description\":\"string\",\"ips\":[\"string\"],\"name\":\"string\"}'"
          }
        ]
      }
    },
    "/ldapservers": {
      "get": {
        "description": "This endpoint returns the object IDs of your LDAP servers.\n\n\n##### Sample Request\n\n```\n curl -X GET https://console.jumpcloud.com/api/v2/ldapservers/ \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'",
        "operationId": "LdapServer_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/ldap-server-output"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List LDAP Servers",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/ldapservers?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/ldapservers\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/ldapservers?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/ldapservers/{id}": {
      "get": {
        "description": "This endpoint returns a specific LDAP server.\n\n##### Sample Request\n\n```\n curl -X GET https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "LdapServer_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/ldap-server-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get LDAP Server",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/ldapservers/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/ldapservers/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/ldapservers/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "Unique identifier of the LDAP server.",
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ],
      "patch": {
        "description": "This endpoint allows updating some attributes of an LDAP server.\n\nSample Request\n\n```\ncurl -X PATCH https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"userLockoutAction\": \"remove\",\n \"userPasswordExpirationAction\": \"disable\"\n }'\n```",
        "operationId": "LdapServer_Update",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "properties": {
                "id": {
                  "type": "string"
                },
                "userLockoutAction": {
                  "$ref": "#/definitions/LdapServerAction"
                },
                "userPasswordExpirationAction": {
                  "$ref": "#/definitions/LdapServerAction"
                }
              },
              "type": "object"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "userLockoutAction": {
                  "$ref": "#/definitions/LdapServerAction"
                },
                "userPasswordExpirationAction": {
                  "$ref": "#/definitions/LdapServerAction"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update existing LDAP server",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PATCH \\\n --url https://console.jumpcloud.com/api/v2/ldapservers/{id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"userLockoutAction\":\"disable\",\"userPasswordExpirationAction\":\"disable\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/ldapservers/{id}\"\n\npayload = {\n \"id\": \"string\",\n \"userLockoutAction\": \"disable\",\n \"userPasswordExpirationAction\": \"disable\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/ldapservers/{id}' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"userLockoutAction\":\"disable\",\"userPasswordExpirationAction\":\"disable\"}'"
          }
        ]
      }
    },
    "/ldapservers/{ldapserver_id}/associations": {
      "get": {
        "description": "This endpoint returns the _direct_ associations of this LDAP Server.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example LDAP and Users.\n\n#### Sample Request\n\n```\n curl -X GET 'https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID}/associations?targets=user_group \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "LdapServerAssociation_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsLdapServer:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of a LDAP Server",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the LDAP Server.",
          "in": "path",
          "name": "ldapserver_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to manage the _direct_ associations of a LDAP Server.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example LDAP and Users.\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID}/associations \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"op\": \"add\",\n \"type\": \"user\",\n \"id\": \"{User_ID}\"\n }'\n```",
        "operationId": "LdapServerAssociation_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-LdapServer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the associations of a LDAP Server",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"user\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          }
        ]
      }
    },
    "/ldapservers/{ldapserver_id}/sambadomains": {
      "get": {
        "description": "This endpoint returns all samba domains for an LDAP server.\n\n##### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID}/sambadomains \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "LdapServerSambaDomain_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/samba-domain-output"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Samba Domains",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "Unique identifier of the LDAP server.",
          "in": "path",
          "name": "ldapserver_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to create a samba domain for an LDAP server.\n\n##### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID}/sambadomains \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"sid\":\"{SID_ID}\",\n \"name\":\"{WORKGROUP_NAME}\"\n }'\n```",
        "operationId": "LdapServerSambaDomain_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/samba-domain-input"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/samba-domain-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create Samba Domain",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"name\":\"string\",\"sid\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains\"\n\npayload = {\n \"name\": \"string\",\n \"sid\": \"string\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"name\":\"string\",\"sid\":\"string\"}'"
          }
        ]
      }
    },
    "/ldapservers/{ldapserver_id}/sambadomains/{id}": {
      "delete": {
        "description": "This endpoint allows you to delete a samba domain from an LDAP server.\n\n##### Sample Request\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID}/sambadomains/{SAMBA_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "LdapServerSambaDomain_Delete",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete Samba Domain",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "This endpoint returns a specific samba domain for an LDAP server.\n\n##### Sample Request\n```\ncurl -X GET \\\n https://console.jumpcloud.com/api/v2/ldapservers/ldapservers/{LDAP_ID}/sambadomains/{SAMBA_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "LdapServerSambaDomain_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/samba-domain-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get Samba Domain",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "Unique identifier of the LDAP server.",
          "in": "path",
          "name": "ldapserver_id",
          "required": true,
          "type": "string"
        },
        {
          "description": "Unique identifier of the samba domain.",
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ],
      "put": {
        "description": "This endpoint allows you to update the samba domain information for an LDAP server.\n\n##### Sample Request\n```\ncurl -X PUT https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID}/sambadomains/{SAMBA_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"sid\":\"{SID_ID}\",\n \"name\":\"{WORKGROUP_NAME}\"\n }'\n```",
        "operationId": "LdapServerSambaDomain_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/samba-domain-input"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/samba-domain-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update Samba Domain",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PUT \\\n --url https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains/{id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"name\":\"string\",\"sid\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains/{id}\"\n\npayload = {\n \"name\": \"string\",\n \"sid\": \"string\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/sambadomains/{id}' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{\"name\":\"string\",\"sid\":\"string\"}'"
          }
        ]
      }
    },
    "/ldapservers/{ldapserver_id}/usergroups": {
      "get": {
        "description": "This endpoint will return all Users Groups bound to a LDAP Server, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the group's type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this LDAP server instance to the corresponding User Group; this array represents all grouping and/or associations that would have to be removed to deprovision the User Group from this LDAP server instance.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID}/usergroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "LdapServerTraverseUserGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the User Groups bound to a LDAP Server",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/usergroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/usergroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/usergroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the LDAP Server.",
          "in": "path",
          "name": "ldapserver_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/ldapservers/{ldapserver_id}/users": {
      "get": {
        "description": "This endpoint will return all Users bound to an LDAP Server, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this LDAP server instance to the corresponding User; this array represents all grouping and/or associations that would have to be removed to deprovision the User from this LDAP server instance.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID}/users \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "LdapServerTraverseUser_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Users bound to a LDAP Server",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/users?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/users\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/ldapservers/{ldapserver_id}/users?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the LDAP Server.",
          "in": "path",
          "name": "ldapserver_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/logos/{id}": {
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/office365s/{office365_id}": {
      "get": {
        "description": "This endpoint returns a specific Office 365 instance.\n\n#####\n\nSample Request\n\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/office365s/{OFFICE365_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "Office365_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/office365-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get Office 365 instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/office365s/{office365_id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/office365s/{office365_id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Office 365 instance.",
          "in": "path",
          "name": "office365_id",
          "required": true,
          "type": "string"
        }
      ],
      "patch": {
        "description": "This endpoint allows updating some attributes of an Office 365 instance.\n\n#####\n\nSample Request\n\n```\ncurl -X PATCH https://console.jumpcloud.com/api/v2/office365s/{OFFICE365_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"userLockoutAction\": \"maintain\",\n \"userPasswordExpirationAction\": \"suspend\"\n }'\n```",
        "operationId": "Office365_Update",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/office365-patch-input"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/office365-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update existing Office 365 instance.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PATCH \\\n --url https://console.jumpcloud.com/api/v2/office365s/{office365_id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"name\":\"string\",\"userLockoutAction\":\"suspend\",\"userPasswordExpirationAction\":\"suspend\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/office365s/{office365_id}\"\n\npayload = {\n \"name\": \"string\",\n \"userLockoutAction\": \"suspend\",\n \"userPasswordExpirationAction\": \"suspend\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{\"name\":\"string\",\"userLockoutAction\":\"suspend\",\"userPasswordExpirationAction\":\"suspend\"}'"
          }
        ]
      }
    },
    "/office365s/{office365_id}/associations": {
      "get": {
        "description": "This endpoint returns _direct_ associations of an Office 365 instance.\n\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Office 365 and Users.\n\n#### Sample Request\n```\ncurl -X GET 'https://console.jumpcloud.com/api/v2/office365s/{OFFICE365_ID}/associations?targets=user_group' \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "Office365Association_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsOffice365:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of an Office 365 instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/office365s/{office365_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Office 365 instance.",
          "in": "path",
          "name": "office365_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to manage the _direct_ associations of a Office 365 instance.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Office 365 and Users.\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/office365s/{OFFICE365_ID}/associations \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"op\": \"add\",\n \"type\": \"user_group\",\n \"id\": \"{Group_ID}\"\n }'\n```",
        "operationId": "Office365Association_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-Office365"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the associations of an Office 365 instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/office365s/{office365_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/office365s/{office365_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"user\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          }
        ]
      }
    },
    "/office365s/{office365_id}/import/users": {
      "get": {
        "description": "Lists Office 365 users available for import.",
        "operationId": "Office365UsersToImport_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:o365:ConsistencyLevel"
          },
          {
            "description": "Office 365 API maximum number of results per page. See https://docs.microsoft.com/en-us/graph/paging.",
            "in": "query",
            "name": "top",
            "type": "integer"
          },
          {
            "description": "Office 365 API token used to access the next page of results. See https://docs.microsoft.com/en-us/graph/paging.",
            "in": "query",
            "name": "skipToken",
            "type": "string"
          },
          {
            "description": "Office 365 API filter parameter. See https://docs.microsoft.com/en-us/graph/api/user-list?view=graph-rest-1.0&tabs=http#optional-query-parameters.",
            "in": "query",
            "name": "filter",
            "type": "string"
          },
          {
            "description": "Office 365 API search parameter. See https://docs.microsoft.com/en-us/graph/api/user-list?view=graph-rest-1.0&tabs=http#optional-query-parameters.",
            "in": "query",
            "name": "search",
            "type": "string"
          },
          {
            "description": "Office 365 API orderby parameter. See https://docs.microsoft.com/en-us/graph/api/user-list?view=graph-rest-1.0&tabs=http#optional-query-parameters.",
            "in": "query",
            "name": "orderby",
            "type": "string"
          },
          {
            "description": "Office 365 API count parameter. See https://docs.microsoft.com/en-us/graph/api/user-list?view=graph-rest-1.0&tabs=http#optional-query-parameters.",
            "in": "query",
            "name": "count",
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "properties": {
                "skipToken": {
                  "type": "string"
                },
                "top": {
                  "type": "integer"
                },
                "users": {
                  "items": {
                    "properties": {
                      "givenName": {
                        "type": "string"
                      },
                      "id": {
                        "type": "string"
                      },
                      "surname": {
                        "type": "string"
                      },
                      "userPrincipalName": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get a list of users to import from an Office 365 instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/import/users?top=SOME_INTEGER_VALUE&skipToken=SOME_STRING_VALUE&filter=SOME_STRING_VALUE&search=SOME_STRING_VALUE&orderby=SOME_STRING_VALUE&count=SOME_BOOLEAN_VALUE' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/office365s/{office365_id}/import/users\"\n\nquerystring = {\"top\":\"SOME_INTEGER_VALUE\",\"skipToken\":\"SOME_STRING_VALUE\",\"filter\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"orderby\":\"SOME_STRING_VALUE\",\"count\":\"SOME_BOOLEAN_VALUE\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/import/users?top=SOME_INTEGER_VALUE&skipToken=SOME_STRING_VALUE&filter=SOME_STRING_VALUE&search=SOME_STRING_VALUE&orderby=SOME_STRING_VALUE&count=SOME_BOOLEAN_VALUE' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "office365_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/office365s/{office365_id}/translationrules": {
      "get": {
        "description": "This endpoint returns all translation rules for a specific Office 365 instance. These rules specify how JumpCloud attributes translate to [Microsoft Graph](https://developer.microsoft.com/en-us/graph) attributes.\n\n##### Sample Request\n\n```\n curl -X GET https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "Office365TranslationRule_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "examples": {
              "application/json": [
                {
                  "field": "office_365_state",
                  "id": "object_id_1",
                  "source_type": "user"
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Office365TranslationRule"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List all the Office 365 Translation Rules",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "office365_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to create a translation rule for a specific Office 365 instance. These rules specify how JumpCloud attributes translate to [Microsoft Graph](https://developer.microsoft.com/en-us/graph) attributes.\n\n##### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n {Translation Rule Parameters}\n }'\n```",
        "operationId": "Office365TranslationRule_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/Office365TranslationRuleRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Office365TranslationRule"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create a new Office 365 Translation Rule",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"builtIn\":\"user_department\",\"direction\":\"export\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules\"\n\npayload = {\n \"builtIn\": \"user_department\",\n \"direction\": \"export\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"builtIn\":\"user_department\",\"direction\":\"export\"}'"
          }
        ]
      }
    },
    "/office365s/{office365_id}/translationrules/{id}": {
      "delete": {
        "description": "This endpoint allows you to delete a translation rule for a specific Office 365 instance. These rules specify how JumpCloud attributes translate to [Microsoft Graph](https://developer.microsoft.com/en-us/graph) attributes.\n\n#### Sample Request\n\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules/{id} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "Office365TranslationRule_Delete",
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Deletes a Office 365 translation rule",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "This endpoint returns a specific translation rule for a specific Office 365 instance. These rules specify how JumpCloud attributes translate to [Microsoft Graph](https://developer.microsoft.com/en-us/graph) attributes.\n\n###### Sample Request\n\n```\n curl -X GET https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules/{id} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "Office365TranslationRule_Get",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Office365TranslationRule"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Gets a specific Office 365 translation rule",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/translationrules/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "office365_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/office365s/{office365_id}/usergroups": {
      "get": {
        "description": "This endpoint will return all Users Groups bound to an Office 365 instance, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the group's type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Office 365 instance to the corresponding User Group; this array represents all grouping and/or associations that would have to be removed to deprovision the User Group from this Office 365 instance.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\n curl -X GET https://console.jumpcloud.com/api/v2/office365s/{OFFICE365_ID/usergroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "Office365TraverseUserGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the User Groups bound to an Office 365 instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/usergroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/office365s/{office365_id}/usergroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/usergroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Office 365 suite.",
          "in": "path",
          "name": "office365_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/office365s/{office365_id}/users": {
      "get": {
        "description": "This endpoint will return all Users bound to an Office 365 instance, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Office 365 instance to the corresponding User; this array represents all grouping and/or associations that would have to be removed to deprovision the User from this Office 365 instance.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/office365s/{OFFICE365_ID}/users \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "Office365TraverseUser_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Users bound to an Office 365 instance",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/users?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/office365s/{office365_id}/users\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/office365s/{office365_id}/users?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Office 365 suite.",
          "in": "path",
          "name": "office365_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/organizations/{id}/administratorlinks": {
      "get": {
        "description": "This endpoint returns the association links between an Organization and Administrators.",
        "operationId": "AdministratorOrganizationLinks_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/AdministratorOrganizationLink"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the association links between an Organization and Administrators.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/organizations/{id}/administratorlinks?limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/organizations/{id}/administratorlinks\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/organizations/{id}/administratorlinks?limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/policies": {
      "get": {
        "description": "This endpoint returns all policies.\n\n##### Sample Request\n\n```\n curl -X GET https://console.jumpcloud.com/api/v2/policies \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "Policy_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/Policy"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Lists all the Policies",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policies?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policies\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policies?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a policy. Given the amount of configurable parameters required to create a Policy, we suggest you use the JumpCloud Admin Console to create new policies.\n\n##### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/policies \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n {Policy_Parameters}\n }'\n```",
        "operationId": "Policy_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/PolicyRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/PolicyWithDetails"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create a new Policy",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/policies \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"name\":\"string\",\"template\":{\"id\":\"string\"},\"values\":[{\"configFieldID\":\"string\",\"value\":\"string\"}]}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policies\"\n\npayload = {\n \"name\": \"string\",\n \"template\": {\"id\": \"string\"},\n \"values\": [\n {\n \"configFieldID\": \"string\",\n \"value\": \"string\"\n }\n ]\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policies' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"name\":\"string\",\"template\":{\"id\":\"string\"},\"values\":[{\"configFieldID\":\"string\",\"value\":\"string\"}]}'"
          }
        ]
      }
    },
    "/policies/{id}": {
      "delete": {
        "description": "This endpoint allows you to delete a policy.\n\n#### Sample Request\n\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/policies/5a837ecd232e110d4291e6b9 \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "Policy_Delete",
        "parameters": [],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Deletes a Policy",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/policies/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policies/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policies/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "This endpoint returns a specific policy.\n\n###### Sample Request\n\n```\n curl -X GET https://console.jumpcloud.com/api/v2/policies/{PolicyID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "Policy_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PolicyWithDetails"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Gets a specific Policy.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/policies/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policies/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policies/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Policy object.",
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ],
      "put": {
        "description": "This endpoint allows you to update a policy. Given the amount of configurable parameters required to update a Policy, we suggest you use the JumpCloud Admin Console to create new policies.\n\n\n##### Sample Request\n```\ncurl -X PUT https://console.jumpcloud.com/api/v2/policies/59fced45c9118022172547ff \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n {Policy_Parameters}\n }'\n```",
        "operationId": "Policy_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/PolicyRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Policy"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update an existing Policy",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PUT \\\n --url https://console.jumpcloud.com/api/v2/policies/{id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"name\":\"string\",\"template\":{\"id\":\"string\"},\"values\":[{\"configFieldID\":\"string\",\"value\":\"string\"}]}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policies/{id}\"\n\npayload = {\n \"name\": \"string\",\n \"template\": {\"id\": \"string\"},\n \"values\": [\n {\n \"configFieldID\": \"string\",\n \"value\": \"string\"\n }\n ]\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policies/{id}' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{\"name\":\"string\",\"template\":{\"id\":\"string\"},\"values\":[{\"configFieldID\":\"string\",\"value\":\"string\"}]}'"
          }
        ]
      }
    },
    "/policies/{policy_id}/associations": {
      "get": {
        "description": "This endpoint returns the _direct_ associations of a Policy.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Policies and Systems.\n\n#### Sample Request\n```\ncurl -X GET 'https://console.jumpcloud.com/api/v2/policies/{Policy_ID}/associations?targets=system_group \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "PolicyAssociation_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsPolicy:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of a Policy",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policies/{policy_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policies/{policy_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policies/{policy_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Policy.",
          "in": "path",
          "name": "policy_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to manage the _direct_ associations of a Policy.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Policies and Systems.\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/policies/{Policy_ID}/associations/ \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"op\": \"add\",\n \"type\": \"system_group\",\n \"id\": \"{Group_ID}\"\n }'\n```",
        "operationId": "PolicyAssociation_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-Policy"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the associations of a Policy",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/policies/{policy_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"system\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policies/{policy_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"system\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policies/{policy_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"system\"}'"
          }
        ]
      }
    },
    "/policies/{policy_id}/memberof": {
      "get": {
        "description": "This endpoint returns all the Policy Groups a Policy is a member of.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/policies/{Policy_ID}/memberof \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "PolicyGroupMember_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Date"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Authorization"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the parent Groups of a Policy",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policies/{policy_id}/memberof?filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policies/{policy_id}/memberof\"\n\nquerystring = {\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policies/{policy_id}/memberof?filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Policy.",
          "in": "path",
          "name": "policy_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/policies/{policy_id}/policyresults": {
      "get": {
        "description": "This endpoint returns all policies results for a specific policy.\n\n##### Sample Request\n\n```\n curl -X GET https://console.jumpcloud.com/api/v2/policies/{Policy_ID}/policyresults \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "PolicyResult_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/PolicyResult"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Lists all the policy results of a policy.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policies/{policy_id}/policyresults?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policies/{policy_id}/policyresults\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policies/{policy_id}/policyresults?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "policy_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/policies/{policy_id}/policystatuses": {
      "get": {
        "description": "This endpoint returns the latest policy results for a specific policy.\n\n##### Sample Request\n\n```\n curl -X GET https://console.jumpcloud.com/api/v2/policies/{Policy_ID}/policystatuses \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "PolicyStatus_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/PolicyResult"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Lists the latest policy results of a policy.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policies/{policy_id}/policystatuses?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policies/{policy_id}/policystatuses\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policies/{policy_id}/policystatuses?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "policy_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/policies/{policy_id}/systemgroups": {
      "get": {
        "description": "This endpoint will return all Systems Groups bound to a Policy, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the group's type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Policy to the corresponding System Group; this array represents all grouping and/or associations that would have to be removed to deprovision the System Group from this Policy.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/policies/{Policy_ID}/systemgroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "PolicyTraverseSystemGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the System Groups bound to a Policy",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policies/{policy_id}/systemgroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policies/{policy_id}/systemgroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policies/{policy_id}/systemgroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Command.",
          "in": "path",
          "name": "policy_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/policies/{policy_id}/systems": {
      "get": {
        "description": "This endpoint will return all Systems bound to a Policy, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Policy to the corresponding System; this array represents all grouping and/or associations that would have to be removed to deprovision the System from this Policy.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/policies/{Policy_ID}/systems \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "PolicyTraverseSystem_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Systems bound to a Policy",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policies/{policy_id}/systems?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policies/{policy_id}/systems\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policies/{policy_id}/systems?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Command.",
          "in": "path",
          "name": "policy_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/policygroups": {
      "get": {
        "description": "This endpoint returns all Policy Groups.\n\nAvailable filter fields:\n - `name`\n - `disabled`\n - `type`\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/policygroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "PolicyGroup_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/PolicyGroup"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List all Policy Groups",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policygroups?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policygroups\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policygroups?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new Policy Group.\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/policygroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"name\": \"{Group_Name}\"\n }'\n```",
        "operationId": "PolicyGroup_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/PolicyGroupData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/PolicyGroup"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create a new Policy Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/policygroups \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"name\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policygroups\"\n\npayload = {\"name\": \"string\"}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policygroups' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"name\":\"string\"}'"
          }
        ]
      }
    },
    "/policygroups/{group_id}/associations": {
      "get": {
        "description": "This endpoint returns the _direct_ associations of this Policy Group.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Policy Groups and Policies.\n\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/policygroups/{GroupID}/associations?targets=system \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "PolicyGroupAssociation_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsPolicyGroup:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of a Policy Group.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policygroups/{group_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policygroups/{group_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policygroups/{group_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Policy Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint manages the _direct_ associations of this Policy Group.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Policy Groups and Policies.\n\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/policygroups/{GroupID}/associations \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"op\": \"add\",\n \"type\": \"system\",\n \"id\": \"{SystemID}\"\n }'\n```",
        "operationId": "PolicyGroupAssociation_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-PolicyGroup"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the associations of a Policy Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/policygroups/{group_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"system\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policygroups/{group_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"system\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policygroups/{group_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"system\"}'"
          }
        ]
      }
    },
    "/policygroups/{group_id}/members": {
      "get": {
        "description": "This endpoint returns the Policy members of a Policy Group.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/policygroups/{GroupID}/members \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "PolicyGroupMembers_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the members of a Policy Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policygroups/{group_id}/members?limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policygroups/{group_id}/members\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policygroups/{group_id}/members?limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Policy Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to manage the Policy members of a Policy Group.\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/policygroups/{GroupID}/members \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"op\": \"add\",\n \"type\": \"policy\",\n \"id\": \"{Policy_ID}\"\n }'\n```",
        "operationId": "PolicyGroupMembers_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-PolicyGroup-Member"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the members of a Policy Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/policygroups/{group_id}/members \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"policy\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policygroups/{group_id}/members\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"policy\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policygroups/{group_id}/members' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"policy\"}'"
          }
        ]
      }
    },
    "/policygroups/{group_id}/membership": {
      "get": {
        "description": "This endpoint returns all Policy members that are a member of this Policy Group.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/policygroups/{GroupID}/membership \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "PolicyGroupMembership_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Policy Group's membership",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policygroups/{group_id}/membership?filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policygroups/{group_id}/membership\"\n\nquerystring = {\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policygroups/{group_id}/membership?filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Policy Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/policygroups/{group_id}/systemgroups": {
      "get": {
        "description": "This endpoint will return all System Groups bound to a Policy Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Policy Group to the corresponding System Group; this array represents all grouping and/or associations that would have to be removed to deprovision the System Group from this Policy Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/policygroups/{GroupID}/systemgroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "PolicyGroupTraverseSystemGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the System Groups bound to Policy Groups",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policygroups/{group_id}/systemgroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policygroups/{group_id}/systemgroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policygroups/{group_id}/systemgroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Policy Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/policygroups/{group_id}/systems": {
      "get": {
        "description": "This endpoint will return all Systems bound to a Policy Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Policy Group to the corresponding System; this array represents all grouping and/or associations that would have to be removed to deprovision the System from this Policy Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/policygroups/{GroupID}/systems \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "PolicyGroupTraverseSystem_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Systems bound to a Policy Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policygroups/{group_id}/systems?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policygroups/{group_id}/systems\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policygroups/{group_id}/systems?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Policy Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/policygroups/{id}": {
      "delete": {
        "description": "This endpoint allows you to delete a Policy Group.\n\n#### Sample Request\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/policygroups/{GroupID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "PolicyGroup_Delete",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PolicyGroup"
            }
          },
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete a Policy Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/policygroups/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policygroups/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policygroups/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "This endpoint returns the details of a Policy Group.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/policygroups/{GroupID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "PolicyGroup_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PolicyGroup"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "View an individual Policy Group details",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/policygroups/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policygroups/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policygroups/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Policy Group.",
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ],
      "put": {
        "description": "This endpoint allows you to do a full update of the Policy Group.\n\n#### Sample Request\n```\ncurl -X PUT https://console.jumpcloud.com/api/v2/policygroups/{Group_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"name\": \"group_update\"\n }'\n```",
        "operationId": "PolicyGroup_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/PolicyGroupData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PolicyGroup"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update a Policy Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PUT \\\n --url https://console.jumpcloud.com/api/v2/policygroups/{id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"name\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policygroups/{id}\"\n\npayload = {\"name\": \"string\"}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policygroups/{id}' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{\"name\":\"string\"}'"
          }
        ]
      }
    },
    "/policyresults": {
      "get": {
        "description": "This endpoint returns all policy results for an organization.\n\n##### Sample Request\n\n```\n curl -X GET https://console.jumpcloud.com/api/v2/policyresults \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "OrganizationPolicyResult_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/PolicyResult"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Lists all of the policy results for an organization.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policyresults?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policyresults\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policyresults?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/policyresults/{id}": {
      "get": {
        "description": "This endpoint will return the policy results for a specific policy.\n\n##### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/policyresults/{Policy_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "PolicyResult_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PolicyResult"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get a specific Policy Result.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/policyresults/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policyresults/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policyresults/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Policy Result.",
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/policytemplates": {
      "get": {
        "description": "This endpoint returns all policy templates.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/policytemplates \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "PolicyTemplate_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/PolicyTemplate"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Lists all of the Policy Templates",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/policytemplates?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policytemplates\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policytemplates?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/policytemplates/{id}": {
      "get": {
        "description": "This endpoint returns a specific policy template.\n\n#### Sample Request\n```\n curl -X GET https://console.jumpcloud.com/api/v2/policytemplates/{Policy_Template_ID}\\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "PolicyTemplate_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PolicyTemplateWithDetails"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get a specific Policy Template",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/policytemplates/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/policytemplates/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/policytemplates/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Policy Template.",
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/providers/{provider_id}/administrators": {
      "get": {
        "description": "This endpoint returns a list of the Administrators associated with the Provider. You must be associated with the provider to use this route.",
        "operationId": "ProviderAdministrator_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "examples": {
              "application/json": {
                "results": [
                  {
                    "_id": "5c3536e9e0a6840001872782",
                    "email": "joe@example.com",
                    "enableMultiFactor": false,
                    "firstname": "",
                    "lastname": "",
                    "organizationAccessTotal": 10,
                    "registered": true,
                    "role": "5c3536e9e0a6840001872788",
                    "roleName": "Help Desk"
                  },
                  {
                    "_id": "5c35370ae0a6840001872784",
                    "email": "mildred@example.com",
                    "enableMultiFactor": false,
                    "firstname": "",
                    "lastname": "",
                    "organizationAccessTotal": 1,
                    "registered": true,
                    "role": "5c3536e9e0a6840001872799",
                    "roleName": "Administrator"
                  }
                ],
                "totalCount": 2
              }
            },
            "schema": {
              "properties": {
                "results": {
                  "items": {
                    "$ref": "#/definitions/Administrator"
                  },
                  "type": "array"
                },
                "totalCount": {
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Provider Administrators",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/providers/{provider_id}/administrators?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/providers/{provider_id}/administrators\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/providers/{provider_id}/administrators?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "provider_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to create a provider administrator. You must be associated with the provider to use this route. You must provide either `role` or `roleName`.",
        "operationId": "ProviderAdministrator_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/ProviderAdminReq"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/Administrator"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create a new Provider Administrator",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/providers/{provider_id}/administrators \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"bindNoOrgs\":false,\"email\":\"joe@example.com\",\"enableMultiFactor\":true,\"firstname\":\"Joe\",\"lastname\":\"Blough\",\"role\":\"5c3536e9e0a6840001872799\",\"roleName\":\"Administrator\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/providers/{provider_id}/administrators\"\n\npayload = {\n \"bindNoOrgs\": False,\n \"email\": \"joe@example.com\",\n \"enableMultiFactor\": True,\n \"firstname\": \"Joe\",\n \"lastname\": \"Blough\",\n \"role\": \"5c3536e9e0a6840001872799\",\n \"roleName\": \"Administrator\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/providers/{provider_id}/administrators' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"bindNoOrgs\":false,\"email\":\"joe@example.com\",\"enableMultiFactor\":true,\"firstname\":\"Joe\",\"lastname\":\"Blough\",\"role\":\"5c3536e9e0a6840001872799\",\"roleName\":\"Administrator\"}'"
          }
        ]
      }
    },
    "/providers/{provider_id}/administrators/{id}": {
      "delete": {
        "description": "This endpoint removes an Administrator associated with the Provider. You must be associated with the provider to use this route.",
        "operationId": "ProviderAdministrator_Delete",
        "parameters": [],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete Provider Administrator",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/providers/{provider_id}/administrators/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/providers/{provider_id}/administrators/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/providers/{provider_id}/administrators/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "provider_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/providers/{provider_id}/invoices": {
      "get": {
        "description": "Retrieves a list of invoices for this provider. You must be associated to the provider to use this endpoint.",
        "operationId": "ProvidersInvoices_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProviderInvoiceResponse"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List a provider's invoices.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/providers/{provider_id}/invoices?skip=0&sort=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/providers/{provider_id}/invoices\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/providers/{provider_id}/invoices?skip=0&sort=&limit=10' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "provider_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/providers/{provider_id}/invoices/{ID}": {
      "parameters": [
        {
          "in": "path",
          "name": "provider_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "ID",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/providers/{provider_id}/organizations": {
      "get": {
        "description": "This endpoint returns a list of the Organizations associated with the Provider. You must be associated with the provider to use this route.",
        "operationId": "ProviderOrganizations_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "properties": {
                "results": {
                  "items": {
                    "$ref": "#/definitions/Organization"
                  },
                  "type": "array"
                },
                "totalCount": {
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Provider Organizations",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/providers/{provider_id}/organizations?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/providers/{provider_id}/organizations\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/providers/{provider_id}/organizations?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "provider_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/radiusservers/{radiusserver_id}/associations": {
      "get": {
        "description": "This endpoint returns the _direct_ associations of a Radius Server.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Radius Servers and Users.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/radiusservers/{RADIUS_ID}/associations?targets=user_group \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "RadiusServerAssociation_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsRadiusServer:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of a RADIUS Server",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/radiusservers/{radiusserver_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/radiusservers/{radiusserver_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/radiusservers/{radiusserver_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Radius Server.",
          "in": "path",
          "name": "radiusserver_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to manage the _direct_ associations of a Radius Server.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Radius Servers and Users.\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/radiusservers/{RADIUS_ID}/associations \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n\t\n\"type\":\"user\", \n\"id\":\"{USER_ID}\", \n\"op\":\"add\"\n\t\n}'\n```",
        "operationId": "RadiusServerAssociation_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-RadiusServer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the associations of a RADIUS Server",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/radiusservers/{radiusserver_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/radiusservers/{radiusserver_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"user\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/radiusservers/{radiusserver_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          }
        ]
      }
    },
    "/radiusservers/{radiusserver_id}/usergroups": {
      "get": {
        "description": "This endpoint will return all Users Groups bound to a RADIUS Server, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the group's type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this RADIUS server instance to the corresponding User Group; this array represents all grouping and/or associations that would have to be removed to deprovision the User Group from this RADIUS server instance.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/radiusservers/{RADIUS_ID}/usergroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "RadiusServerTraverseUserGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the User Groups bound to a RADIUS Server",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/radiusservers/{radiusserver_id}/usergroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/radiusservers/{radiusserver_id}/usergroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/radiusservers/{radiusserver_id}/usergroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Radius Server.",
          "in": "path",
          "name": "radiusserver_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/radiusservers/{radiusserver_id}/users": {
      "get": {
        "description": "This endpoint will return all Users bound to a RADIUS Server, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this RADIUS server instance to the corresponding User; this array represents all grouping and/or associations that would have to be removed to deprovision the User from this RADIUS server instance.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/ldapservers/{LDAP_ID}/users \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "RadiusServerTraverseUser_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Users bound to a RADIUS Server",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/radiusservers/{radiusserver_id}/users?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/radiusservers/{radiusserver_id}/users\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/radiusservers/{radiusserver_id}/users?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Radius Server.",
          "in": "path",
          "name": "radiusserver_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/softwareapps": {
      "get": {
        "description": "This endpoint allows you to get all configured Software Applications that will be managed by JumpCloud on associated JumpCloud systems.\nThe optional isConfigEnabled and appConfiguration apple_vpp attributes are not included in the response.\n\n#### Sample Request\n```\n$ curl -X GET https://console.jumpcloud.com/api/v2/softwareapps \\\n-H 'Accept: application/json' \\\n-H 'Content-Type: application/json' \\\n-H 'x-api-key: {API_KEY}' \\\n```",
        "operationId": "SoftwareApp_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/software-app"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get all configured Software Applications.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/softwareapps?filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/softwareapps\"\n\nquerystring = {\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/softwareapps?filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a Software Application that will be managed by JumpCloud on associated JumpCloud systems.\nThe optional isConfigEnabled and appConfiguration apple_vpp attributes are not included in the response.\n\n#### Sample Request\n```\n$ curl -X POST https://console.jumpcloud.com/api/v2/softwareapps \\\n-H 'Accept: application/json' \\\n-H 'Content-Type: application/json' \\\n-H 'x-api-key: {API_KEY}' \\\n-d '{\n \"displayName\": \"Adobe Reader\",\n \"settings\": [{\"packageId\": \"adobereader\"}]\n}'\n```",
        "operationId": "SoftwareApp_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/software-app"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/software-app"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create a Software Application that will be managed by JumpCloud.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/softwareapps \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"displayName\":\"string\",\"id\":\"string\",\"settings\":[{\"allowUpdateDelay\":false,\"appleVpp\":{\"appConfiguration\":\"string\",\"assignedLicenses\":0,\"availableLicenses\":0,\"details\":{},\"isConfigEnabled\":true,\"supportedDeviceFamilies\":[\"IPAD\"],\"totalLicenses\":0},\"assetKind\":\"string\",\"assetSha256Size\":0,\"assetSha256Strings\":[\"string\"],\"autoUpdate\":false,\"description\":\"string\",\"desiredState\":\"string\",\"location\":\"string\",\"locationObjectId\":\"string\",\"packageId\":\"string\",\"packageKind\":\"string\",\"packageManager\":\"string\",\"packageSubtitle\":\"string\",\"packageVersion\":\"string\"}]}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/softwareapps\"\n\npayload = {\n \"displayName\": \"string\",\n \"id\": \"string\",\n \"settings\": [\n {\n \"allowUpdateDelay\": False,\n \"appleVpp\": {\n \"appConfiguration\": \"string\",\n \"assignedLicenses\": 0,\n \"availableLicenses\": 0,\n \"details\": {},\n \"isConfigEnabled\": True,\n \"supportedDeviceFamilies\": [\"IPAD\"],\n \"totalLicenses\": 0\n },\n \"assetKind\": \"string\",\n \"assetSha256Size\": 0,\n \"assetSha256Strings\": [\"string\"],\n \"autoUpdate\": False,\n \"description\": \"string\",\n \"desiredState\": \"string\",\n \"location\": \"string\",\n \"locationObjectId\": \"string\",\n \"packageId\": \"string\",\n \"packageKind\": \"string\",\n \"packageManager\": \"string\",\n \"packageSubtitle\": \"string\",\n \"packageVersion\": \"string\"\n }\n ]\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/softwareapps' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"displayName\":\"string\",\"id\":\"string\",\"settings\":[{\"allowUpdateDelay\":false,\"appleVpp\":{\"appConfiguration\":\"string\",\"assignedLicenses\":0,\"availableLicenses\":0,\"details\":{},\"isConfigEnabled\":true,\"supportedDeviceFamilies\":[\"IPAD\"],\"totalLicenses\":0},\"assetKind\":\"string\",\"assetSha256Size\":0,\"assetSha256Strings\":[\"string\"],\"autoUpdate\":false,\"description\":\"string\",\"desiredState\":\"string\",\"location\":\"string\",\"locationObjectId\":\"string\",\"packageId\":\"string\",\"packageKind\":\"string\",\"packageManager\":\"string\",\"packageSubtitle\":\"string\",\"packageVersion\":\"string\"}]}'"
          }
        ]
      }
    },
    "/softwareapps/{id}": {
      "delete": {
        "description": "Removes a Software Application configuration.\n\nWarning: This is a destructive operation and will unmanage the application on all affected systems.\n\n#### Sample Request\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/softwareapps/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "SoftwareApp_Delete",
        "parameters": [],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete a configured Software Application",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/softwareapps/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/softwareapps/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/softwareapps/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "Retrieves a Software Application.\nThe optional isConfigEnabled and appConfiguration apple_vpp attributes are populated in this response.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/softwareapps/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "SoftwareApp_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/software-app"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Retrieve a configured Software Application.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/softwareapps/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/softwareapps/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/softwareapps/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ],
      "put": {
        "description": "This endpoint updates a specific Software Application configuration for the organization.\ndisplayName can be changed alone if no settings are provided.\nIf a setting is provided, it should include all its information since this endpoint will update all the settings' fields.\nThe optional isConfigEnabled and appConfiguration apple_vpp attributes are not included in the response.\n\n#### Sample Request - displayName only\n```\n curl -X PUT https://console.jumpcloud.com/api/v2/softwareapps/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"displayName\": \"My Software App\"\n }'\n```\n\n#### Sample Request - all attributes\n```\n curl -X PUT https://console.jumpcloud.com/api/v2/softwareapps/{id} \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"displayName\": \"My Software App\",\n \"settings\": [\n {\n \"packageId\": \"123456\",\n \"autoUpdate\": false,\n \"allowUpdateDelay\": false,\n \"packageManager\": \"APPLE_VPP\",\n \"locationObjectId\": \"123456789012123456789012\",\n \"location\": \"123456\",\n \"desiredState\": \"Install\",\n \"appleVpp\": {\n \"appConfiguration\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?><!DOCTYPE plist PUBLIC \\\"-//Apple//DTD PLIST 1.0//EN\\\" \\\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\\\"><plist version=\\\"1.0\\\"><dict><key>MyKey</key><string>My String</string></dict></plist>\",\n \"assignedLicenses\": 20,\n \"availableLicenses\": 10,\n \"details\": {},\n \"isConfigEnabled\": true,\n \"supportedDeviceFamilies\": [\n \"IPAD\",\n \"MAC\"\n ],\n \"totalLicenses\": 30\n },\n \"packageSubtitle\": \"My package subtitle\",\n \"packageVersion\": \"1.2.3\",\n \"packageKind\": \"software-package\",\n \"assetKind\": \"software\",\n \"assetSha256Size\": 256,\n \"assetSha256Strings\": [\n \"a123b123c123d123\"\n ],\n \"description\": \"My app description\"\n }\n ]\n }'\n```",
        "operationId": "SoftwareApp_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/software-app"
            },
            "x-examples": {
              "all-attributes": {
                "displayName": "My Software App",
                "settings": [
                  {
                    "allowUpdateDelay": false,
                    "appleVpp": {
                      "appConfiguration": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"><plist version=\"1.0\"><dict><key>MyKey</key><string>My String</string></dict></plist>",
                      "assignedLicenses": 20,
                      "availableLicenses": 10,
                      "details": {},
                      "isConfigEnabled": true,
                      "supportedDeviceFamilies": [
                        "IPAD",
                        "MAC"
                      ],
                      "totalLicenses": 30
                    },
                    "assetKind": "software",
                    "assetSha256Size": 256,
                    "assetSha256Strings": [
                      "a123b123c123d123"
                    ],
                    "autoUpdate": false,
                    "description": "My app description",
                    "desiredState": "Install",
                    "location": "123456",
                    "locationObjectId": "123456789012123456789012",
                    "packageId": "123456",
                    "packageKind": "software-package",
                    "packageManager": "APPLE_VPP",
                    "packageSubtitle": "My package subtitle",
                    "packageVersion": "1.2.3"
                  }
                ]
              },
              "displayName-only": {
                "displayName": "My Software App"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {},
            "schema": {
              "$ref": "#/definitions/software-app"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update a Software Application Configuration.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PUT \\\n --url https://console.jumpcloud.com/api/v2/softwareapps/{id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"displayName\":\"string\",\"id\":\"string\",\"settings\":[{\"allowUpdateDelay\":false,\"appleVpp\":{\"appConfiguration\":\"string\",\"assignedLicenses\":0,\"availableLicenses\":0,\"details\":{},\"isConfigEnabled\":true,\"supportedDeviceFamilies\":[\"IPAD\"],\"totalLicenses\":0},\"assetKind\":\"string\",\"assetSha256Size\":0,\"assetSha256Strings\":[\"string\"],\"autoUpdate\":false,\"description\":\"string\",\"desiredState\":\"string\",\"location\":\"string\",\"locationObjectId\":\"string\",\"packageId\":\"string\",\"packageKind\":\"string\",\"packageManager\":\"string\",\"packageSubtitle\":\"string\",\"packageVersion\":\"string\"}]}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/softwareapps/{id}\"\n\npayload = {\n \"displayName\": \"string\",\n \"id\": \"string\",\n \"settings\": [\n {\n \"allowUpdateDelay\": False,\n \"appleVpp\": {\n \"appConfiguration\": \"string\",\n \"assignedLicenses\": 0,\n \"availableLicenses\": 0,\n \"details\": {},\n \"isConfigEnabled\": True,\n \"supportedDeviceFamilies\": [\"IPAD\"],\n \"totalLicenses\": 0\n },\n \"assetKind\": \"string\",\n \"assetSha256Size\": 0,\n \"assetSha256Strings\": [\"string\"],\n \"autoUpdate\": False,\n \"description\": \"string\",\n \"desiredState\": \"string\",\n \"location\": \"string\",\n \"locationObjectId\": \"string\",\n \"packageId\": \"string\",\n \"packageKind\": \"string\",\n \"packageManager\": \"string\",\n \"packageSubtitle\": \"string\",\n \"packageVersion\": \"string\"\n }\n ]\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/softwareapps/{id}' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{\"displayName\":\"string\",\"id\":\"string\",\"settings\":[{\"allowUpdateDelay\":false,\"appleVpp\":{\"appConfiguration\":\"string\",\"assignedLicenses\":0,\"availableLicenses\":0,\"details\":{},\"isConfigEnabled\":true,\"supportedDeviceFamilies\":[\"IPAD\"],\"totalLicenses\":0},\"assetKind\":\"string\",\"assetSha256Size\":0,\"assetSha256Strings\":[\"string\"],\"autoUpdate\":false,\"description\":\"string\",\"desiredState\":\"string\",\"location\":\"string\",\"locationObjectId\":\"string\",\"packageId\":\"string\",\"packageKind\":\"string\",\"packageManager\":\"string\",\"packageSubtitle\":\"string\",\"packageVersion\":\"string\"}]}'"
          }
        ]
      }
    },
    "/softwareapps/{software_app_id}/associations": {
      "get": {
        "description": "This endpoint will return the _direct_ associations of a Software Application. A direct association can be a non-homogeneous relationship between 2 different objects, for example Software Application and System Groups.\n\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/associations?targets=system_group \\\n -H 'accept: application/json' \\\n -H 'content-type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "SoftwareAppAssociation_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsSoftwareApp:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of a Software Application",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Software App.",
          "in": "path",
          "name": "software_app_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to associate or disassociate a software application to a system or system group.\n\n#### Sample Request\n```\n$ curl -X POST https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/associations \\\n-H 'Accept: application/json' \\\n-H 'Content-Type: application/json' \\\n-H 'x-api-key: {API_KEY}' \\\n-d '{\n \"id\": \"<object_id>\",\n \"op\": \"add\",\n \"type\": \"system\"\n }'\n```",
        "operationId": "SoftwareAppAssociation_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-SoftwareApp"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the associations of a software application.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"system\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"system\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"system\"}'"
          }
        ]
      }
    },
    "/softwareapps/{software_app_id}/reclaim-licenses": {
      "parameters": [
        {
          "in": "path",
          "name": "software_app_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to reclaim the licenses from a software app associated with devices that are deleted.\n#### Sample Request\n```\n$ curl -X POST https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/reclaim-licenses \\\n-H 'Accept: application/json' \\\n-H 'Content-Type: application/json' \\\n-H 'x-api-key: {API_KEY}' \\\n-d '{}'\n```",
        "operationId": "SoftwareAppLicenses_Reclaim",
        "responses": {
          "200": {
            "description": "Reclaim Licenses Response",
            "schema": {
              "$ref": "#/definitions/software-app-reclaim-licenses"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Reclaim Licenses for a Software Application.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/reclaim-licenses \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/reclaim-licenses\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/reclaim-licenses' -Method POST -Headers $headers"
          }
        ]
      }
    },
    "/softwareapps/{software_app_id}/statuses": {
      "get": {
        "description": "This endpoint allows you to get the status of the provided Software Application on associated JumpCloud systems.\n\n#### Sample Request\n```\n$ curl -X GET https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/statuses \\\n-H 'Accept: application/json' \\\n-H 'Content-Type: application/json' \\\n-H 'x-api-key: {API_KEY}' \\\n```",
        "operationId": "SoftwareAppStatus_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/software-app-status"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get the status of the provided Software Application",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/statuses?filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/statuses\"\n\nquerystring = {\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/statuses?filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Software App.",
          "in": "path",
          "name": "software_app_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/softwareapps/{software_app_id}/systemgroups": {
      "get": {
        "description": "This endpoint will return all Systems Groups bound to a Software App, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the group's type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Software App to the corresponding System Group; this array represents all grouping and/or associations that would have to be removed to deprovision the System Group from this Software App.\n\nSee `/associations` endpoint to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/systemgroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "SoftwareAppTraverseSystemGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the System Groups bound to a Software App.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/systemgroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/systemgroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/systemgroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Software App.",
          "in": "path",
          "name": "software_app_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/softwareapps/{software_app_id}/systems": {
      "get": {
        "description": "This endpoint will return all Systems bound to a Software App, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this Software App to the corresponding System; this array represents all grouping and/or associations that would have to be removed to deprovision the System from this Software App.\n\nSee `/associations` endpoint to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/systems \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "SoftwareAppTraverseSystem_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Systems bound to a Software App.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/systems?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/systems\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/softwareapps/{software_app_id}/systems?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the Software App.",
          "in": "path",
          "name": "software_app_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/subscriptions": {
      "get": {
        "description": "This endpoint returns all pricing & packaging subscriptions.\n\n##### Sample Request\n\n```\n curl -X GET https://console.jumpcloud.com/api/v2/subscriptions \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "Subscription_Get",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/subscription"
              },
              "type": "array"
            }
          }
        },
        "summary": "Lists all the Pricing & Packaging Subscriptions",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/subscriptions"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/subscriptions\"\n\nresponse = requests.request(\"GET\", url)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/subscriptions' -Method GET "
          }
        ]
      }
    },
    "/systemgroups": {
      "get": {
        "description": "This endpoint returns all System Groups.\n\nAvailable filter fields:\n - `name`\n - `disabled`\n - `type`\n\n#### Sample Request\n\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systemgroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "SystemGroup_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "application/json": [
                {
                  "id": "000000"
                },
                {
                  "type": "system_group"
                },
                {
                  "id": "000000",
                  "name": "group1"
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/SystemGroup"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List all System Groups",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systemgroups?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new System Group.\n\n#### Sample Request\n\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/systemgroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"name\": \"{Group_Name}\"\n }'\n```",
        "operationId": "SystemGroup_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/SystemGroupData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/SystemGroup"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create a new System Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/systemgroups \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"name\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups\"\n\npayload = {\"name\": \"string\"}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"name\":\"string\"}'"
          }
        ]
      }
    },
    "/systemgroups/{group_id}/associations": {
      "get": {
        "description": "This endpoint returns the _direct_ associations of a System Group.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example System Groups and Users.\n\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systemgroups/{GroupID}/associations?targets=user \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "SystemGroupAssociation_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsSystemGroup:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of a System Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to manage the _direct_ associations of a System Group.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example System Groups and Users.\n\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/systemgroups/{GroupID}/associations \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"op\": \"add\",\n \"type\": \"user\",\n \"id\": \"{UserID}\"\n }'\n```",
        "operationId": "SystemGroupAssociation_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-SystemGroup"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the associations of a System Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"command\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"command\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"command\"}'"
          }
        ]
      }
    },
    "/systemgroups/{group_id}/commands": {
      "get": {
        "description": "This endpoint will return all Commands bound to a System Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the group's type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this System Group to the corresponding Command; this array represents all grouping and/or associations that would have to be removed to deprovision the Command from this System Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systemgroups/{GroupID}/commands \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "SystemGroupTraverseCommand_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Commands bound to a System Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/commands?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/commands\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/commands?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/systemgroups/{group_id}/members": {
      "get": {
        "description": "This endpoint returns the system members of a System Group.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systemgroups/{Group_ID}/members \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "SystemGroupMembers_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the members of a System Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/members?limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/members\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/members?limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to manage the system members of a System Group.\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/systemgroups/{Group_ID}/members \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"op\": \"add\",\n \"type\": \"system\",\n \"id\": \"{System_ID}\"\n }'\n```",
        "operationId": "SystemGroupMembers_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-SystemGroup-Member"
            }
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Date"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Authorization"
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the members of a System Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/members \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"system\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/members\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"system\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/members' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"system\"}'"
          }
        ]
      }
    },
    "/systemgroups/{group_id}/membership": {
      "get": {
        "description": "This endpoint returns all Systems that are a member of this System Group.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systemgroups/{Group_ID/membership \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "SystemGroupMembership_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the System Group's membership",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/membership?limit=10&skip=0&sort=&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/membership\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/membership?limit=10&skip=0&sort=&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/systemgroups/{group_id}/policies": {
      "get": {
        "description": "This endpoint will return all Policies bound to a System Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this System Group to the corresponding Policy; this array represents all grouping and/or associations that would have to be removed to deprovision the Policy from this System Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\nThis endpoint is not public yet as we haven't finished the code.\n\n##### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systemgroups/{GroupID}/policies \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "SystemGroupTraversePolicy_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Policies bound to a System Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/policies?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/policies\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/policies?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/systemgroups/{group_id}/policygroups": {
      "get": {
        "description": "This endpoint will return all Policy Groups bound to a System Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this System Group to the corresponding Policy Group; this array represents all grouping and/or associations that would have to be removed to deprovision the Policy Group from this System Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systemgroups/{GroupID}/policygroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "SystemGroupTraversePolicyGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Policy Groups bound to a System Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/policygroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/policygroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/policygroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/systemgroups/{group_id}/usergroups": {
      "get": {
        "description": "This endpoint will return all User Groups bound to a System Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this System Group to the corresponding User Group; this array represents all grouping and/or associations that would have to be removed to deprovision the User Group from this System Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systemgroups/{GroupID}/usergroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "SystemGroupTraverseUserGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the User Groups bound to a System Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/usergroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/usergroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/usergroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/systemgroups/{group_id}/users": {
      "get": {
        "description": "This endpoint will return all Users bound to a System Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this System Group to the corresponding User; this array represents all grouping and/or associations that would have to be removed to deprovision the User from this System Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systemgroups/{GroupID}/users \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "SystemGroupTraverseUser_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Users bound to a System Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/users?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/users\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups/{group_id}/users?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/systemgroups/{id}": {
      "delete": {
        "description": "This endpoint allows you to delete a System Group.\n\n#### Sample Request\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/systemgroups/{Group_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "SystemGroup_Delete",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SystemGroup"
            }
          },
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete a System Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/systemgroups/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "This endpoint returns the details of a System Group.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systemgroups/{Group_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "SystemGroup_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "application/json": {
                "id": "000000",
                "name": "group1",
                "type": "system_group"
              }
            },
            "schema": {
              "$ref": "#/definitions/SystemGroup"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "View an individual System Group details",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/systemgroups/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System Group.",
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ],
      "put": {
        "description": "This endpoint allows you to do a full update of the System Group.\n\n#### Sample Request\n```\ncurl -X PUT https://console.jumpcloud.com/api/v2/systemgroups/{Group_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"name\": \"Name_Update\"\n }'\n```",
        "operationId": "SystemGroup_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/SystemGroupData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "application/json": {
                "id": "00000",
                "name": "group1",
                "type": "system_group"
              }
            },
            "schema": {
              "$ref": "#/definitions/SystemGroup"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update a System Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PUT \\\n --url https://console.jumpcloud.com/api/v2/systemgroups/{id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"name\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systemgroups/{id}\"\n\npayload = {\"name\": \"string\"}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systemgroups/{id}' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{\"name\":\"string\"}'"
          }
        ]
      }
    },
    "/systeminsights/alf": {
      "get": {
        "description": "Valid filter fields are `system_id` and `global_state`.",
        "operationId": "SystemInsightAlf_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-alf"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights ALF",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/alf?filter=&skip=0&sort=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/alf\"\n\nquerystring = {\"filter\":\"\",\"skip\":\"0\",\"sort\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/alf?filter=&skip=0&sort=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/alf_exceptions": {
      "get": {
        "description": "Valid filter fields are `system_id` and `state`.",
        "operationId": "SystemInsightAlfException_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-alf-exceptions"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights ALF Exceptions",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/alf_exceptions?filter=&skip=0&sort=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/alf_exceptions\"\n\nquerystring = {\"filter\":\"\",\"skip\":\"0\",\"sort\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/alf_exceptions?filter=&skip=0&sort=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/alf_explicit_auths": {
      "get": {
        "description": "Valid filter fields are `system_id` and `process`.",
        "operationId": "SystemInsightAlfExplicitAuth_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-alf-explicit-auths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights ALF Explicit Authentications",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/alf_explicit_auths?filter=&skip=0&sort=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/alf_explicit_auths\"\n\nquerystring = {\"filter\":\"\",\"skip\":\"0\",\"sort\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/alf_explicit_auths?filter=&skip=0&sort=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/appcompat_shims": {
      "get": {
        "description": "Valid filter fields are `system_id` and `enabled`.",
        "operationId": "SystemInsightAppCompatShim_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-appcompat-shims"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Application Compatibility Shims",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/appcompat_shims?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/appcompat_shims\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/appcompat_shims?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/apps": {
      "get": {
        "description": "Lists all apps for macOS devices. For Windows devices, use [List System Insights Programs](#operation/systeminsights_list_programs).\n\nValid filter fields are `system_id` and `bundle_name`.",
        "operationId": "SystemInsightApps_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-apps"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Apps",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/apps?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/apps\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/apps?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/authorized_keys": {
      "get": {
        "description": "Valid filter fields are `system_id` and `uid`.",
        "operationId": "SystemInsightAuthorizedKey_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-authorized-keys"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Authorized Keys",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/authorized_keys?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/authorized_keys\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/authorized_keys?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/battery": {
      "get": {
        "description": "Valid filter fields are `system_id` and `health`.",
        "operationId": "SystemInsightBattery_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-battery"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Battery",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/battery?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/battery\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/battery?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/bitlocker_info": {
      "get": {
        "description": "Valid filter fields are `system_id` and `protection_status`.",
        "operationId": "SystemInsightBitlockerInfo_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-bitlocker-info"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Bitlocker Info",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/bitlocker_info?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/bitlocker_info\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/bitlocker_info?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/browser_plugins": {
      "get": {
        "description": "Valid filter fields are `system_id` and `name`.",
        "operationId": "SystemInsightBrowserPlugins_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-browser-plugins"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Browser Plugins",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/browser_plugins?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/browser_plugins\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/browser_plugins?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/certificates": {
      "get": {
        "description": "Valid filter fields are `system_id` and `common_name`.",
        "operationId": "SystemInsightCertificates_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsCertificatesFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-certificates"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Certificates",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/certificates?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/certificates\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/certificates?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/chrome_extensions": {
      "get": {
        "description": "Valid filter fields are `system_id` and `name`.",
        "operationId": "SystemInsightChromeExtensions_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-chrome-extensions"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Chrome Extensions",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/chrome_extensions?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/chrome_extensions\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/chrome_extensions?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/connectivity": {
      "get": {
        "description": "The only valid filter field is `system_id`.",
        "operationId": "SystemInsightConnectivity_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-connectivity"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Connectivity",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/connectivity?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/connectivity\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/connectivity?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/crashes": {
      "get": {
        "description": "Valid filter fields are `system_id` and `identifier`.",
        "operationId": "SystemInsightCrashes_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-crashes"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Crashes",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/crashes?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/crashes\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/crashes?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/cups_destinations": {
      "get": {
        "description": "Valid filter fields are `system_id` and `name`.",
        "operationId": "SystemInsightCupDestination_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-cups-destinations"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights CUPS Destinations",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/cups_destinations?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/cups_destinations\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/cups_destinations?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/disk_encryption": {
      "get": {
        "description": "Valid filter fields are `system_id` and `encryption_status`.",
        "operationId": "SystemInsightDiskEncryption_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-disk-encryption"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Disk Encryption",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/disk_encryption?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/disk_encryption\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/disk_encryption?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/disk_info": {
      "get": {
        "description": "Valid filter fields are `system_id` and `disk_index`.",
        "operationId": "SystemInsightDiskInfo_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-disk-info"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Disk Info",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/disk_info?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/disk_info\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/disk_info?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/dns_resolvers": {
      "get": {
        "description": "Valid filter fields are `system_id` and `type`.",
        "operationId": "SystemInsightDnsResolver_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-dns-resolvers"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights DNS Resolvers",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/dns_resolvers?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/dns_resolvers\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/dns_resolvers?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/etc_hosts": {
      "get": {
        "description": "Valid filter fields are `system_id` and `address`.",
        "operationId": "SystemInsightEtcHosts_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-etc-hosts"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Etc Hosts",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/etc_hosts?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/etc_hosts\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/etc_hosts?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/firefox_addons": {
      "get": {
        "description": "Valid filter fields are `system_id` and `name`.",
        "operationId": "SystemInsightFirefoxAddons_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-firefox-addons"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Firefox Addons",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/firefox_addons?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/firefox_addons\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/firefox_addons?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/groups": {
      "get": {
        "description": "Valid filter fields are `system_id` and `groupname`.",
        "operationId": "SystemInsightGroups_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-groups"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Groups",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/groups?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/groups\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/groups?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/ie_extensions": {
      "get": {
        "description": "Valid filter fields are `system_id` and `name`.",
        "operationId": "SystemInsightIEExtensions_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-ie-extensions"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights IE Extensions",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/ie_extensions?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/ie_extensions\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/ie_extensions?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/interface_addresses": {
      "get": {
        "description": "Valid filter fields are `system_id` and `address`.",
        "operationId": "SystemInsightInterfaceAddresses_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-interface-addresses"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Interface Addresses",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/interface_addresses?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/interface_addresses\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/interface_addresses?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/interface_details": {
      "get": {
        "description": "Valid filter fields are `system_id` and `interface`.",
        "operationId": "SystemInsightInterfaceDetails_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-interface-details"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Interface Details",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/interface_details?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/interface_details\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/interface_details?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/kernel_info": {
      "get": {
        "description": "Valid filter fields are `system_id` and `version`.",
        "operationId": "SystemInsightKernelInfo_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-kernel-info"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Kernel Info",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/kernel_info?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/kernel_info\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/kernel_info?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/launchd": {
      "get": {
        "description": "Valid filter fields are `system_id` and `name`.",
        "operationId": "SystemInsightLaunchd_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-launchd"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Launchd",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/launchd?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/launchd\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/launchd?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/logged_in_users": {
      "get": {
        "description": "Valid filter fields are `system_id` and `user`.",
        "operationId": "SystemInsightLoggedinUsers_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-logged-in-users"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Logged-In Users",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/logged_in_users?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/logged_in_users\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/logged_in_users?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/logical_drives": {
      "get": {
        "description": "Valid filter fields are `system_id` and `device_id`.",
        "operationId": "SystemInsightLogicalDrives_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-logical-drives"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Logical Drives",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/logical_drives?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/logical_drives\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/logical_drives?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/managed_policies": {
      "get": {
        "description": "Valid filter fields are `system_id` and `domain`.",
        "operationId": "SystemInsightManagedPolicies_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-managed-policies"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Managed Policies",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/managed_policies?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/managed_policies\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/managed_policies?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/mounts": {
      "get": {
        "description": "Valid filter fields are `system_id` and `path`.",
        "operationId": "SystemInsightMounts_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-mounts"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Mounts",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/mounts?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/mounts\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/mounts?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/os_version": {
      "get": {
        "description": "Valid filter fields are `system_id` and `version`.",
        "operationId": "SystemInsightOsVersion_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-os-version"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights OS Version",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/os_version?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/os_version\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/os_version?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/patches": {
      "get": {
        "description": "Valid filter fields are `system_id` and `hotfix_id`.",
        "operationId": "SystemInsightPatches_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-patches"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Patches",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/patches?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/patches\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/patches?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/programs": {
      "get": {
        "description": "Lists all programs for Windows devices. For macOS devices, use [List System Insights Apps](#operation/systeminsights_list_apps).\n\nValid filter fields are `system_id` and `name`.",
        "operationId": "SystemInsightPrograms_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-programs"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Programs",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/programs?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/programs\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/programs?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/python_packages": {
      "get": {
        "description": "Valid filter fields are `system_id` and `name`.",
        "operationId": "SystemInsightPythonPackages_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-python-packages"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Python Packages",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/python_packages?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/python_packages\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/python_packages?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/safari_extensions": {
      "get": {
        "description": "Valid filter fields are `system_id` and `name`.",
        "operationId": "SystemInsightSafariExtensions_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-safari-extensions"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Safari Extensions",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/safari_extensions?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/safari_extensions\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/safari_extensions?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/scheduled_tasks": {
      "get": {
        "description": "Valid filter fields are `system_id` and `enabled`.",
        "operationId": "SystemInsightScheduledTasks_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-scheduled-tasks"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Scheduled Tasks",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/scheduled_tasks?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/scheduled_tasks\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/scheduled_tasks?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/services": {
      "get": {
        "description": "Valid filter fields are `system_id` and `name`.",
        "operationId": "SystemInsightServices_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-services"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Services",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/services?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/services\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/services?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/shadow": {
      "get": {
        "description": "Valid filter fields are `system_id` and `username`.",
        "operationId": "SystemInsightShadow_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-shadow"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "LIst System Insights Shadow",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/shadow?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/shadow\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/shadow?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/shared_folders": {
      "get": {
        "description": "Valid filter fields are `system_id` and `name`.",
        "operationId": "SystemInsightSharedFolders_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-shared-folders"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Shared Folders",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/shared_folders?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/shared_folders\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/shared_folders?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/shared_resources": {
      "get": {
        "description": "Valid filter fields are `system_id` and `type`.",
        "operationId": "SystemInsightSharedResources_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-shared-resources"
              },
              "type": "array"
            }
          }
        },
        "summary": "List System Insights Shared Resources",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/shared_resources?skip=0&sort=&filter=&limit=10'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/shared_resources\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nresponse = requests.request(\"GET\", url, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/shared_resources?skip=0&sort=&filter=&limit=10' -Method GET "
          }
        ]
      }
    },
    "/systeminsights/sharing_preferences": {
      "get": {
        "description": "Only valid filed field is `system_id`.",
        "operationId": "SystemInsightSharingPreferences_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-sharing-preferences"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Sharing Preferences",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/sharing_preferences?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/sharing_preferences\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/sharing_preferences?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/sip_config": {
      "get": {
        "description": "Valid filter fields are `system_id` and `enabled`.",
        "operationId": "SystemInsightSipConfig_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-sip-config"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights SIP Config",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/sip_config?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/sip_config\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/sip_config?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/startup_items": {
      "get": {
        "description": "Valid filter fields are `system_id` and `name`.",
        "operationId": "SystemInsightStartupItems_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-startup-items"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Startup Items",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/startup_items?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/startup_items\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/startup_items?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/system_controls": {
      "get": {
        "description": "Valid filter fields are `system_id` and `name`.",
        "operationId": "SystemInsightSystemControls_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsControlsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-system-controls"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights System Control",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/system_controls?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/system_controls\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/system_controls?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/system_info": {
      "get": {
        "description": "Valid filter fields are `system_id` and `cpu_subtype`.",
        "operationId": "SystemInsightSystemInfo_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-system-info"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights System Info",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/system_info?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/system_info\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/system_info?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/uptime": {
      "get": {
        "description": "Valid filter fields are `system_id` and `days`.",
        "operationId": "SystemInsightUptime_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilterUptime:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-uptime"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Uptime",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/uptime?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/uptime\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/uptime?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/usb_devices": {
      "get": {
        "description": "Valid filter fields are `system_id` and `model`.",
        "operationId": "SystemInsightUSBDevices_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-usb-devices"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights USB Devices",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/usb_devices?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/usb_devices\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/usb_devices?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/user_groups": {
      "get": {
        "description": "Only valid filter field is `system_id`.",
        "operationId": "SystemInsightUserGroups_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-user-groups"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights User Groups",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/user_groups?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/user_groups\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/user_groups?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/user_ssh_keys": {
      "get": {
        "description": "Valid filter fields are `system_id` and `uid`.",
        "operationId": "SystemInsightUserSSHKeys_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-user-ssh-keys"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights User SSH Keys",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/user_ssh_keys?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/user_ssh_keys\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/user_ssh_keys?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/users": {
      "get": {
        "description": "Valid filter fields are `system_id` and `username`.",
        "operationId": "SystemInsightUsers_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-users"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Users",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/users?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/users\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/users?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/wifi_networks": {
      "get": {
        "description": "Valid filter fields are `system_id` and `security_type`.",
        "operationId": "SystemInsightWifiNetwork_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-wifi-networks"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights WiFi Networks",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/wifi_networks?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/wifi_networks\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/wifi_networks?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/wifi_status": {
      "get": {
        "description": "Valid filter fields are `system_id` and `security_type`.",
        "operationId": "SystemInsightWifiStatus_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-wifi-status"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights WiFi Status",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/wifi_status?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/wifi_status\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/wifi_status?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systeminsights/windows_security_products": {
      "get": {
        "description": "Valid filter fields are `system_id` and `state`.",
        "operationId": "SystemInsightWindowSecurityProduct_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsSort:sort"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsFilter:filter"
          },
          {
            "$ref": "#/parameters/trait:systemInsightsLimit:limit"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/system-insights-windows-security-products"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List System Insights Windows Security Products",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systeminsights/windows_security_products?skip=0&sort=&filter=&limit=10' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systeminsights/windows_security_products\"\n\nquerystring = {\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\",\"limit\":\"10\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systeminsights/windows_security_products?skip=0&sort=&filter=&limit=10' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/systems/{system_id}/associations": {
      "get": {
        "description": "This endpoint returns the _direct_ associations of a System.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Systems and Users.\n\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systems/{System_ID}/associations?targets=user \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "SystemAssociation_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsSystem:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Date"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Authorization"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of a System",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systems/{system_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systems/{system_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systems/{system_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System.",
          "in": "path",
          "name": "system_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to manage the _direct_ associations of a System.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Systems and Users.\n\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/systems/{System_ID}/associations \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"attributes\": {\n \"sudo\": {\n \"enabled\": true,\n \"withoutPassword\": false\n }\n },\n \"op\": \"add\",\n \"type\": \"user\",\n \"id\": \"UserID\"\n }'\n```",
        "operationId": "SystemAssociation_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-System"
            }
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Date"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Authorization"
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage associations of a System",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/systems/{system_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{\"sudo\":{\"enabled\":true,\"withoutPassword\":true}},\"type\":\"command\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systems/{system_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {\"sudo\": {\n \"enabled\": True,\n \"withoutPassword\": True\n }},\n \"type\": \"command\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systems/{system_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{\"sudo\":{\"enabled\":true,\"withoutPassword\":true}},\"type\":\"command\"}'"
          }
        ]
      }
    },
    "/systems/{system_id}/commands": {
      "get": {
        "description": "This endpoint will return all Commands bound to a System, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this System to the corresponding Command; this array represents all grouping and/or associations that would have to be removed to deprovision the Command from this System.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systems/{System_ID}/commands \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "SystemTraverseCommand_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Commands bound to a System",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systems/{system_id}/commands?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systems/{system_id}/commands\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systems/{system_id}/commands?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System.",
          "in": "path",
          "name": "system_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/systems/{system_id}/fdekey": {
      "get": {
        "description": "This endpoint will return the current (latest) fde key saved for a system.",
        "operationId": "SystemFDEKey_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "examples": {
              "application/json": {
                "key": "cupidatat consequat occaecat proident"
              }
            },
            "schema": {
              "$ref": "#/definitions/systemfdekey"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get System FDE Key",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/systems/{system_id}/fdekey \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systems/{system_id}/fdekey\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systems/{system_id}/fdekey' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "system_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/systems/{system_id}/memberof": {
      "get": {
        "description": "This endpoint returns all the System Groups a System is a member of.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systems/{System_ID}/memberof \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "SystemMember_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Date"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Authorization"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the parent Groups of a System",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systems/{system_id}/memberof?filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systems/{system_id}/memberof\"\n\nquerystring = {\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systems/{system_id}/memberof?filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System.",
          "in": "path",
          "name": "system_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/systems/{system_id}/policies": {
      "get": {
        "description": "This endpoint will return all Policies bound to a System, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this System to the corresponding Policy; this array represents all grouping and/or associations that would have to be removed to deprovision the Policy from this System.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\nThis endpoint is not yet public as we have finish the code.\n\n##### Sample Request\n\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/{System_ID}/policies \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "SystemTraversePolicy_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Policies bound to a System",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systems/{system_id}/policies?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systems/{system_id}/policies\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systems/{system_id}/policies?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System.",
          "in": "path",
          "name": "system_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/systems/{system_id}/policygroups": {
      "get": {
        "description": "This endpoint will return all Policy Groups bound to a System, either directly or indirectly essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this System to the corresponding Policy Group; this array represents all grouping and/or associations that would have to be removed to deprovision the Policy Group from this System.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systems/{System_ID}/policygroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "SystemTraversePolicyGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Date"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Authorization"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Policy Groups bound to a System",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systems/{system_id}/policygroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systems/{system_id}/policygroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systems/{system_id}/policygroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System.",
          "in": "path",
          "name": "system_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/systems/{system_id}/policystatuses": {
      "get": {
        "description": "This endpoint returns the policy results for a particular system.\n\n##### Sample Request\n\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systems/{System_ID}/policystatuses \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "SystemPolicyStatus_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/PolicyResult"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the policy statuses for a system",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systems/{system_id}/policystatuses?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systems/{system_id}/policystatuses\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systems/{system_id}/policystatuses?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System.",
          "in": "path",
          "name": "system_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/systems/{system_id}/usergroups": {
      "get": {
        "description": "This endpoint will return all User Groups bound to a System, either directly or indirectly essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this System to the corresponding User Group; this array represents all grouping and/or associations that would have to be removed to deprovision the User Group from this System.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systems/{System_ID}/usergroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "SystemTraverseUserGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Date"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Authorization"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the User Groups bound to a System",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systems/{system_id}/usergroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systems/{system_id}/usergroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systems/{system_id}/usergroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System.",
          "in": "path",
          "name": "system_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/systems/{system_id}/users": {
      "get": {
        "description": "This endpoint will return all Users bound to a System, either directly or indirectly essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this System to the corresponding User; this array represents all grouping and/or associations that would have to be removed to deprovision the User from this System.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/systems/{System_ID}/users \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "SystemTraverseUser_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Date"
          },
          {
            "$ref": "#/parameters/trait:systemContextAuth:Authorization"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Users bound to a System",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/systems/{system_id}/users?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/systems/{system_id}/users\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/systems/{system_id}/users?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the System.",
          "in": "path",
          "name": "system_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/usergroups": {
      "get": {
        "description": "This endpoint returns all User Groups.\n\nAvailable filter fields:\n - `name`\n - `disabled`\n - `type`\n - `suggestionCounts.add`\n - `suggestionCounts.remove`\n - `suggestionCounts.total`\n - `attributes.sudo.enabled`\n - `attributes.sudo.withoutPassword`\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserGroup_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/UserGroup"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List all User Groups",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups?fields=&filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups\"\n\nquerystring = {\"fields\":\"\",\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups?fields=&filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new User Group.\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/usergroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"name\": \"{Group_Name}\"\n }'\n```",
        "operationId": "UserGroup_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/UserGroupPost"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/UserGroup"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create a new User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/usergroups \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"attributes\":{\"ldapGroups\":[{\"name\":\"string\"}],\"posixGroups\":[{\"id\":0,\"name\":\"string\"}],\"radius\":{\"reply\":[{\"name\":\"string\",\"value\":\"string\"}]},\"sambaEnabled\":true},\"description\":\"string\",\"email\":\"string\",\"memberQuery\":{\"queryType\":\"FilterQuery\",\"filters\":[{\"field\":\"string\",\"operator\":\"eq\",\"value\":\"string\"}]},\"memberSuggestionsNotify\":true,\"name\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups\"\n\npayload = {\n \"attributes\": {\n \"ldapGroups\": [{\"name\": \"string\"}],\n \"posixGroups\": [\n {\n \"id\": 0,\n \"name\": \"string\"\n }\n ],\n \"radius\": {\"reply\": [\n {\n \"name\": \"string\",\n \"value\": \"string\"\n }\n ]},\n \"sambaEnabled\": True\n },\n \"description\": \"string\",\n \"email\": \"string\",\n \"memberQuery\": {\n \"queryType\": \"FilterQuery\",\n \"filters\": [\n {\n \"field\": \"string\",\n \"operator\": \"eq\",\n \"value\": \"string\"\n }\n ]\n },\n \"memberSuggestionsNotify\": True,\n \"name\": \"string\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"attributes\":{\"ldapGroups\":[{\"name\":\"string\"}],\"posixGroups\":[{\"id\":0,\"name\":\"string\"}],\"radius\":{\"reply\":[{\"name\":\"string\",\"value\":\"string\"}]},\"sambaEnabled\":true},\"description\":\"string\",\"email\":\"string\",\"memberQuery\":{\"queryType\":\"FilterQuery\",\"filters\":[{\"field\":\"string\",\"operator\":\"eq\",\"value\":\"string\"}]},\"memberSuggestionsNotify\":true,\"name\":\"string\"}'"
          }
        ]
      }
    },
    "/usergroups/{group_id}/activedirectories": {
      "get": {
        "description": "This endpoint will return all Active Directory Instances bound to a User Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User Group to the corresponding Active Directory; this array represents all grouping and/or associations that would have to be removed to deprovision the Active Directory from this User Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/activedirectories \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserGroupTraverseActiveDirectory_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Active Directories bound to a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/activedirectories?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/activedirectories\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/activedirectories?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/usergroups/{group_id}/applications": {
      "get": {
        "description": "This endpoint will return all Applications bound to a User Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User Group to the corresponding Application; this array represents all grouping and/or associations that would have to be removed to deprovision the Application from this User Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/applications \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserGroupTraverseApplication_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Applications bound to a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/applications?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/applications\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/applications?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/usergroups/{group_id}/associations": {
      "get": {
        "description": "This endpoint returns the _direct_ associations of this User Group.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example User Groups and Users.\n\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/associations?targets=system \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserGroupAssociation_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsUserGroup:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of a User Group.",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint manages the _direct_ associations of this User Group.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example User Groups and Users.\n\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/associations \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"op\": \"add\",\n \"type\": \"system\",\n \"id\": \"{SystemID}\"\n }'\n```",
        "operationId": "UserGroupAssociation_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-UserGroup"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the associations of a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/usergroups/{group_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"active_directory\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"active_directory\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"active_directory\"}'"
          }
        ]
      }
    },
    "/usergroups/{group_id}/directories": {
      "get": {
        "description": "This endpoint will return all Directories bound to a User Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User Group to the corresponding Directory; this array represents all grouping and/or associations that would have to be removed to deprovision the Directories from this User Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/directories \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "UserGroupTraverseDirectory_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Directories bound to a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/directories?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/directories\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/directories?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/usergroups/{group_id}/gsuites": {
      "get": {
        "description": "This endpoint will return all G Suite Instances bound to a User Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User Group to the corresponding G Suite instance; this array represents all grouping and/or associations that would have to be removed to deprovision the G Suite instance from this User Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID/gsuites \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "UserGroupTraverseGSuite_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the G Suite instances bound to a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/gsuites?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/gsuites\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/gsuites?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/usergroups/{group_id}/ldapservers": {
      "get": {
        "description": "This endpoint will return all LDAP Servers bound to a User Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User Group to the corresponding LDAP Server; this array represents all grouping and/or associations that would have to be removed to deprovision the LDAP Server from this User Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/ldapservers \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserGroupTraverseLdapServer_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the LDAP Servers bound to a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/ldapservers?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/ldapservers\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/ldapservers?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/usergroups/{group_id}/members": {
      "get": {
        "description": "This endpoint returns the user members of a User Group.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/members \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserGroupMembers_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the members of a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/members?limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/members\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/members?limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to manage the user members of a User Group.\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/members \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"op\": \"add\",\n \"type\": \"user\",\n \"id\": \"{User_ID}\"\n }'\n```",
        "operationId": "UserGroupMembers_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-UserGroup-Member"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the members of a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/usergroups/{group_id}/members \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/members\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {},\n \"type\": \"user\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/members' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{},\"type\":\"user\"}'"
          }
        ]
      }
    },
    "/usergroups/{group_id}/membership": {
      "get": {
        "description": "This endpoint returns all users members that are a member of this User Group.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/membership \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserGroupMembership_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the User Group's membership",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/membership?filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/membership\"\n\nquerystring = {\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/membership?filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/usergroups/{group_id}/office365s": {
      "get": {
        "description": "This endpoint will return all Office 365 instances bound to a User Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User Group to the corresponding Office 365 instance; this array represents all grouping and/or associations that would have to be removed to deprovision the Office 365 instance from this User Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/office365s \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserGroupTraverseOffice365_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Office 365 instances bound to a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/office365s?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/office365s\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/office365s?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/usergroups/{group_id}/radiusservers": {
      "get": {
        "description": "This endpoint will return all RADIUS servers bound to a User Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User Group to the corresponding RADIUS Server; this array represents all grouping and/or associations that would have to be removed to deprovision the RADIUS Server from this User Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/radiusservers \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "UserGroupTraverseRadiusServer_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the RADIUS Servers bound to a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/radiusservers?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/radiusservers\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/radiusservers?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/usergroups/{group_id}/suggestions": {
      "get": {
        "description": "This endpoint returns available suggestions for a given group\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/suggestions \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "GroupSuggestion_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "description": "ID of the group",
            "in": "path",
            "name": "group_id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/MemberSuggestion"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Suggestions for a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/suggestions?limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/suggestions\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/suggestions?limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      }
    },
    "/usergroups/{group_id}/systemgroups": {
      "get": {
        "description": "This endpoint will return all System Groups bound to a User Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User Group to the corresponding System Group; this array represents all grouping and/or associations that would have to be removed to deprovision the System Group from this User Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/systemgroups \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserGroupTraverseSystemGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the System Groups bound to User Groups",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/systemgroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/systemgroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/systemgroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/usergroups/{group_id}/systems": {
      "get": {
        "description": "This endpoint will return all Systems bound to a User Group, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User Group to the corresponding System; this array represents all grouping and/or associations that would have to be removed to deprovision the System from this User Group.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID}/systems \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserGroupTraverseSystem_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Systems bound to a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/systems?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{group_id}/systems\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{group_id}/systems?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User Group.",
          "in": "path",
          "name": "group_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/usergroups/{id}": {
      "delete": {
        "description": "This endpoint allows you to delete a User Group.\n\n#### Sample Request\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/usergroups/{GroupID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "UserGroup_Delete",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UserGroup"
            }
          },
          "204": {
            "description": "No Content"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/usergroups/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "This endpoint returns the details of a User Group.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/usergroups/{GroupID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserGroup_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UserGroup"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "View an individual User Group details",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/usergroups/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User Group.",
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ],
      "put": {
        "description": "This endpoint allows you to do a full update of the User Group.\n\n#### Sample Request\n```\ncurl -X PUT https://console.jumpcloud.com/api/v2/usergroups/{Group_ID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"name\": \"group_update\"\n }'\n```",
        "operationId": "UserGroup_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/UserGroupPut"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UserGroup"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update a User Group",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PUT \\\n --url https://console.jumpcloud.com/api/v2/usergroups/{id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"attributes\":{\"ldapGroups\":[{\"name\":\"string\"}],\"posixGroups\":[{\"id\":0,\"name\":\"string\"}],\"radius\":{\"reply\":[{\"name\":\"string\",\"value\":\"string\"}]},\"sambaEnabled\":true},\"description\":\"string\",\"email\":\"string\",\"memberQuery\":{\"queryType\":\"FilterQuery\",\"filters\":[{\"field\":\"string\",\"operator\":\"eq\",\"value\":\"string\"}]},\"memberSuggestionsNotify\":true,\"name\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/usergroups/{id}\"\n\npayload = {\n \"attributes\": {\n \"ldapGroups\": [{\"name\": \"string\"}],\n \"posixGroups\": [\n {\n \"id\": 0,\n \"name\": \"string\"\n }\n ],\n \"radius\": {\"reply\": [\n {\n \"name\": \"string\",\n \"value\": \"string\"\n }\n ]},\n \"sambaEnabled\": True\n },\n \"description\": \"string\",\n \"email\": \"string\",\n \"memberQuery\": {\n \"queryType\": \"FilterQuery\",\n \"filters\": [\n {\n \"field\": \"string\",\n \"operator\": \"eq\",\n \"value\": \"string\"\n }\n ]\n },\n \"memberSuggestionsNotify\": True,\n \"name\": \"string\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/usergroups/{id}' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{\"attributes\":{\"ldapGroups\":[{\"name\":\"string\"}],\"posixGroups\":[{\"id\":0,\"name\":\"string\"}],\"radius\":{\"reply\":[{\"name\":\"string\",\"value\":\"string\"}]},\"sambaEnabled\":true},\"description\":\"string\",\"email\":\"string\",\"memberQuery\":{\"queryType\":\"FilterQuery\",\"filters\":[{\"field\":\"string\",\"operator\":\"eq\",\"value\":\"string\"}]},\"memberSuggestionsNotify\":true,\"name\":\"string\"}'"
          }
        ]
      }
    },
    "/users/{user_id}/activedirectories": {
      "get": {
        "description": "This endpoint will return all Active Directory Instances bound to a User, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User to the corresponding Active Directory instance; this array represents all grouping and/or associations that would have to be removed to deprovision the Active Directory instance from this User.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/users/{UserID}/activedirectories \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserTraverseActiveDirectory_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Active Directory instances bound to a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/users/{user_id}/activedirectories?filter=&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/activedirectories\"\n\nquerystring = {\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/activedirectories?filter=&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User.",
          "in": "path",
          "name": "user_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/users/{user_id}/applications": {
      "get": {
        "description": "This endpoint will return all Applications bound to a User, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User to the corresponding Application; this array represents all grouping and/or associations that would have to be removed to deprovision the Application from this User.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/users/{UserID}/applications \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserTraverseApplication_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Applications bound to a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/users/{user_id}/applications?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/applications\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/applications?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User.",
          "in": "path",
          "name": "user_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/users/{user_id}/associations": {
      "get": {
        "description": "This endpoint returns the _direct_ associations of a User.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Users and Systems.\n\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/users/{UserID}/associations?targets=system_group \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n```",
        "operationId": "UserAssociation_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:graphTargetsUser:targets"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphConnection"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the associations of a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/users/{user_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/associations\"\n\nquerystring = {\"targets\":\"SOME_ARRAY_VALUE\",\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/associations?targets=SOME_ARRAY_VALUE&limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User.",
          "in": "path",
          "name": "user_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint allows you to manage the _direct_ associations of a User.\n\nA direct association can be a non-homogeneous relationship between 2 different objects, for example Users and Systems.\n\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/users/{UserID}/associations \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"attributes\": {\n \"sudo\": {\n \"enabled\": true,\n \"withoutPassword\": false\n }\n },\n \"op\": \"add\",\n \"type\": \"system_group\",\n \"id\": \"{GroupID}\"\n }'\n```",
        "operationId": "UserAssociation_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/GraphOperation-User"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Manage the associations of a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/users/{user_id}/associations \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{\"sudo\":{\"enabled\":true,\"withoutPassword\":true}},\"type\":\"active_directory\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/associations\"\n\npayload = {\n \"id\": \"string\",\n \"op\": \"add\",\n \"attributes\": {\"sudo\": {\n \"enabled\": True,\n \"withoutPassword\": True\n }},\n \"type\": \"active_directory\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/associations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"id\":\"string\",\"op\":\"add\",\"attributes\":{\"sudo\":{\"enabled\":true,\"withoutPassword\":true}},\"type\":\"active_directory\"}'"
          }
        ]
      }
    },
    "/users/{user_id}/directories": {
      "get": {
        "description": "This endpoint will return all Directories bound to a User, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User to the corresponding Directory; this array represents all grouping and/or associations that would have to be removed to deprovision the Directory from this User.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/users/{UserID}/directories \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserTraverseDirectory_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Directories bound to a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/users/{user_id}/directories?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/directories\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/directories?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User.",
          "in": "path",
          "name": "user_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/users/{user_id}/gsuites": {
      "get": {
        "description": "This endpoint will return all G-Suite Instances bound to a User, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User to the corresponding G Suite instance; this array represents all grouping and/or associations that would have to be removed to deprovision the G Suite instance from this User.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/users/{UserID}/gsuites \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserTraverseGSuite_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the G Suite instances bound to a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/users/{user_id}/gsuites?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/gsuites\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/gsuites?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User.",
          "in": "path",
          "name": "user_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/users/{user_id}/ldapservers": {
      "get": {
        "description": "This endpoint will return all LDAP Servers bound to a User, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User to the corresponding LDAP Server; this array represents all grouping and/or associations that would have to be removed to deprovision the LDAP Server from this User.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/users/{UserID}/ldapservers \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserTraverseLdapServer_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the LDAP servers bound to a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/users/{user_id}/ldapservers?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/ldapservers\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/ldapservers?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User.",
          "in": "path",
          "name": "user_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/users/{user_id}/memberof": {
      "get": {
        "description": "This endpoint returns all the User Groups a User is a member of.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/users/{UserID}/memberof \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserMember_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:filter:filter"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the parent Groups of a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/users/{user_id}/memberof?filter=&limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/memberof\"\n\nquerystring = {\"filter\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/memberof?filter=&limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User.",
          "in": "path",
          "name": "user_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/users/{user_id}/office365s": {
      "get": {
        "description": "This endpoint will return all Office 365 Instances bound to a User, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User to the corresponding Office 365 instance; this array represents all grouping and/or associations that would have to be removed to deprovision the Office 365 instance from this User.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/users/{UserID}/office365s \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserTraverseOffice365_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Office 365 instances bound to a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/users/{user_id}/office365s?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/office365s\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/office365s?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User.",
          "in": "path",
          "name": "user_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/users/{user_id}/pushendpoints": {
      "get": {
        "description": "This endpoint returns the list of push endpoints associated with a user.\n\n#### Sample Request\n\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/users/{UserID}/pushendpoints \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: ${API_KEY}'\n```",
        "operationId": "UserPushEndpoints_List",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/PushEndpointResponse"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Push Endpoints associated with a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/users/{user_id}/pushendpoints \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/pushendpoints\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/pushendpoints' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "user_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/users/{user_id}/pushendpoints/{push_endpoint_id}": {
      "delete": {
        "description": "This endpoint will delete a push endpoint associated with a user.",
        "operationId": "UserPushEndpoint_Delete",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PushEndpointResponse"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Delete a Push Endpoint associated with a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/users/{user_id}/pushendpoints/{push_endpoint_id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/pushendpoints/{push_endpoint_id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/pushendpoints/{push_endpoint_id}' -Method DELETE -Headers $headers"
          }
        ]
      },
      "get": {
        "description": "This endpoint will retrieve a push endpoint associated with a user.",
        "operationId": "UserPushEndpoint_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PushEndpointResponse"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get a push endpoint associated with a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/users/{user_id}/pushendpoints/{push_endpoint_id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/pushendpoints/{push_endpoint_id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/pushendpoints/{push_endpoint_id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "user_id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "push_endpoint_id",
          "required": true,
          "type": "string"
        }
      ],
      "patch": {
        "description": "This endpoint will update a push endpoint associated with a user.",
        "operationId": "UserPushEndpoint_Update",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "additionalProperties": false,
              "properties": {
                "name": {
                  "type": "string"
                },
                "state": {
                  "enum": [
                    "active",
                    "inactive"
                  ],
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PushEndpointResponse"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update a push endpoint associated with a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PATCH \\\n --url https://console.jumpcloud.com/api/v2/users/{user_id}/pushendpoints/{push_endpoint_id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"name\":\"string\",\"state\":\"active\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/pushendpoints/{push_endpoint_id}\"\n\npayload = {\n \"name\": \"string\",\n \"state\": \"active\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/pushendpoints/{push_endpoint_id}' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{\"name\":\"string\",\"state\":\"active\"}'"
          }
        ]
      }
    },
    "/users/{user_id}/radiusservers": {
      "get": {
        "description": "This endpoint will return all RADIUS Servers bound to a User, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User to the corresponding RADIUS Server; this array represents all grouping and/or associations that would have to be removed to deprovision the RADIUS Server from this User.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/users/{UserID}/radiusservers \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserTraverseRadiusServer_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the RADIUS Servers bound to a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/users/{user_id}/radiusservers?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/radiusservers\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/radiusservers?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User.",
          "in": "path",
          "name": "user_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/users/{user_id}/systemgroups": {
      "get": {
        "description": "This endpoint will return all System Groups bound to a User, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User to the corresponding System Group; this array represents all grouping and/or associations that would have to be removed to deprovision the System Group from this User.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/users/{UserID}/systemgroups\\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserTraverseSystemGroup_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the System Groups bound to a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/users/{user_id}/systemgroups?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/systemgroups\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/systemgroups?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User.",
          "in": "path",
          "name": "user_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/users/{user_id}/systems": {
      "get": {
        "description": "This endpoint will return all Systems bound to a User, either directly or indirectly, essentially traversing the JumpCloud Graph for your Organization.\n\nEach element will contain the type, id, attributes and paths.\n\nThe `attributes` object is a key/value hash of compiled graph attributes for all paths followed.\n\nThe `paths` array enumerates each path from this User to the corresponding System; this array represents all grouping and/or associations that would have to be removed to deprovision the System from this User.\n\nSee `/members` and `/associations` endpoints to manage those collections.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/users/{UserID}/systems\\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "UserTraverseSystem_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "$ref": "#/definitions/GraphObjectWithPaths"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List the Systems bound to a User",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/users/{user_id}/systems?limit=10&skip=0&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/users/{user_id}/systems\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/users/{user_id}/systems?limit=10&skip=0&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "description": "ObjectID of the User.",
          "in": "path",
          "name": "user_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/workdays": {
      "get": {
        "description": "This endpoint will return all the available information about all your instances of Workday.\n\n##### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/workdays/ \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "Workday_List",
        "parameters": [
          {
            "$ref": "#/parameters/trait:fields:fields"
          },
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          },
          {
            "$ref": "#/parameters/trait:filter:filter"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/workday-output"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Workdays",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/workdays?fields=&limit=10&skip=0&sort=&filter=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/workdays\"\n\nquerystring = {\"fields\":\"\",\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\",\"filter\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/workdays?fields=&limit=10&skip=0&sort=&filter=' -Method GET -Headers $headers"
          }
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new workday instance.\n\nYou must supply a username and password for `Basic Authentication` that is the same as your WorkDay Integrator System User. Failure to provide these credentials will result in the request being rejected.\n\nCurrently `O-Auth` isn't a supported authentication protocol for WorkDay, but will be in the future.\n\nCurrently, only one instance is allowed and it must be `Workday Import`.\n\n#### Sample Request\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/workdays/ \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n \"name\": \"Workday2\",\n \"reportUrl\":\"https://workday.com/ccx/service/customreport2/gms/user/reportname?format=json\",\n \"auth\": {\n \"basic\": {\n \"username\": \"someDeveloper\",\n \"password\": \"notTheRealPassword\"\n }\n }\n }'\n```",
        "operationId": "Workday_Create",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/workday-input"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/workday-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Create new Workday",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/workdays \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"auth\":{\"basic\":{\"password\":\"in tempor ipsum quis\",\"username\":\"mollit ex\"},\"oauth\":{\"code\":\"non laborum dolore\"}},\"name\":\"dolore tempor\",\"reportUrl\":\"est sit laboris\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/workdays\"\n\npayload = {\n \"auth\": {\n \"basic\": {\n \"password\": \"in tempor ipsum quis\",\n \"username\": \"mollit ex\"\n },\n \"oauth\": {\"code\": \"non laborum dolore\"}\n },\n \"name\": \"dolore tempor\",\n \"reportUrl\": \"est sit laboris\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/workdays' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"auth\":{\"basic\":{\"password\":\"in tempor ipsum quis\",\"username\":\"mollit ex\"},\"oauth\":{\"code\":\"non laborum dolore\"}},\"name\":\"dolore tempor\",\"reportUrl\":\"est sit laboris\"}'"
          }
        ]
      }
    },
    "/workdays/{id}": {
      "get": {
        "description": "This endpoint will return all the available information about an instance of Workday.\n\n#### Sample Request\n\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/workdays/ \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n ```",
        "operationId": "Workday_Get",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/workday-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Get Workday",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url https://console.jumpcloud.com/api/v2/workdays/{id} \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/workdays/{id}\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/workdays/{id}' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        }
      ],
      "put": {
        "description": "This endpoint allows you to update the name and Custom Report URL for a Workday Instance.\n\nCurrently, the name can not be changed from the default of `Workday Import`.\n\n##### Sample Request\n```\ncurl -X PUT https://console.jumpcloud.com/api/v2/workdays/{WorkdayID} \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n\t\"reportUrl\":\"{Report_URL}\",\n\t\"name\":\"{Name}\"\n}\t'\n```",
        "operationId": "Workday_Set",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/workday-fields"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/workday-output"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Update Workday",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request PUT \\\n --url https://console.jumpcloud.com/api/v2/workdays/{id} \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"name\":\"string\",\"reportUrl\":\"string\"}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/workdays/{id}\"\n\npayload = {\n \"name\": \"string\",\n \"reportUrl\": \"string\"\n}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/workdays/{id}' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{\"name\":\"string\",\"reportUrl\":\"string\"}'"
          }
        ]
      }
    },
    "/workdays/{id}/import/{job_id}/results": {
      "get": {
        "description": "This endpoint provides a list of job results from the workday import and will contain all imported data from Workday.\n\n#### Sample Request\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/workdays/{WorkdayID}/import/{ImportJobID}/results \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "WorkdayResult_Import",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "items": {
                "$ref": "#/definitions/job-workresult"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Import Results",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/workdays/{id}/import/{job_id}/results?limit=10&skip=0' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/workdays/{id}/import/{job_id}/results\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/workdays/{id}/import/{job_id}/results?limit=10&skip=0' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "type": "string"
        },
        {
          "in": "path",
          "name": "job_id",
          "required": true,
          "type": "string"
        }
      ]
    },
    "/workdays/{workday_id}/auth": {
      "delete": {
        "description": "Removes any and all authorization methods from the workday instance\n\n##### Sample Request\n```\ncurl -X DELETE https://console.jumpcloud.com/api/v2/workdays/{WorkDayID}/auth \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n```",
        "operationId": "WorkdayAuthorization_Delete",
        "parameters": [],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Deauthorize Workday",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request DELETE \\\n --url https://console.jumpcloud.com/api/v2/workdays/{workday_id}/auth \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/workdays/{workday_id}/auth\"\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/workdays/{workday_id}/auth' -Method DELETE -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "workday_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "This endpoint adds an authorization method to a workday instance.\n\nYou must supply a username and password for `Basic Authentication` that is the same as your WorkDay Integrator System User. Failure to provide these credentials will result in the request being rejected.\n\nCurrently `O-Auth` isn't a supported authentication protocol for WorkDay, but will be in the future.\n\n#### Sample Request\n\n```\ncurl -X POST https://console.jumpcloud.com/api/v2/workdays/{WorkDayID}/auth \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '{\n\t\"auth\":{\n\t \"basic\": {\n\t\t\"username\": \"someDeveloper\",\t \n\t\t\"password\": \"notTheRealPassword\"\n\n\t }\n\t}\n}'\n\n```",
        "operationId": "Workday_Authorize",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "$ref": "#/definitions/auth-input-object"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Authorize Workday",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/workdays/{workday_id}/auth \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '{\"auth\":{\"basic\":{\"password\":\"mollit cillum\",\"username\":\"veniam dolore\"},\"oauth\":{\"code\":\"minim ad ea dolor\"}}}'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/workdays/{workday_id}/auth\"\n\npayload = {\"auth\": {\n \"basic\": {\n \"password\": \"mollit cillum\",\n \"username\": \"veniam dolore\"\n },\n \"oauth\": {\"code\": \"minim ad ea dolor\"}\n }}\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/workdays/{workday_id}/auth' -Method POST -Headers $headers -ContentType 'application/json' -Body '{\"auth\":{\"basic\":{\"password\":\"mollit cillum\",\"username\":\"veniam dolore\"},\"oauth\":{\"code\":\"minim ad ea dolor\"}}}'"
          }
        ]
      }
    },
    "/workdays/{workday_id}/import": {
      "parameters": [
        {
          "in": "path",
          "name": "workday_id",
          "required": true,
          "type": "string"
        }
      ],
      "post": {
        "description": "The endpoint allows you to create a Workday Import request.\n\n#### Sample Request \n```\ncurl -X POST https://console.jumpcloud.com/api/v2/workdays/{WorkdayID}/import \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}' \\\n -d '[\n\t{\n\t\t\"email\":\"{email}\",\n\t\t\"firstname\":\"{firstname}\",\n\t\t\"lastname\":\"{firstname}\",\n\t\t\"username\":\"{username}\",\n\t\t\"attributes\":[\n\t\t\t{\"name\":\"EmployeeID\",\"value\":\"0000\"},\n\t\t\t{\"name\":\"WorkdayID\",\"value\":\"name.name\"}\n\t\t\t]\n\t\t\n\t}\n]\n```",
        "operationId": "Workday_Import",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "items": {
                "$ref": "#/definitions/bulk-user-create"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/job-id"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "Workday Import",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request POST \\\n --url https://console.jumpcloud.com/api/v2/workdays/{workday_id}/import \\\n --header 'content-type: application/json' \\\n --header 'x-api-key: REPLACE_KEY_VALUE' \\\n --data '[{\"attributes\":[{}],\"email\":\"string\",\"firstname\":\"string\",\"lastname\":\"string\",\"username\":\"string\"}]'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/workdays/{workday_id}/import\"\n\npayload = [\n {\n \"attributes\": [{}],\n \"email\": \"string\",\n \"firstname\": \"string\",\n \"lastname\": \"string\",\n \"username\": \"string\"\n }\n]\nheaders = {\n \"x-api-key\": \"REPLACE_KEY_VALUE\",\n \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$headers.Add(\"content-type\", \"application/json\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/workdays/{workday_id}/import' -Method POST -Headers $headers -ContentType 'application/json' -Body '[{\"attributes\":[{}],\"email\":\"string\",\"firstname\":\"string\",\"lastname\":\"string\",\"username\":\"string\"}]'"
          }
        ]
      }
    },
    "/workdays/{workday_id}/workers": {
      "get": {
        "description": "This endpoint will return all of the data in your WorkDay Custom Report that has been associated with your WorkDay Instance in JumpCloud.\n\n##### Sample Request\n\n```\ncurl -X GET https://console.jumpcloud.com/api/v2/workdays/{WorkDayID}/workers \\\n -H 'Accept: application/json' \\\n -H 'Content-Type: application/json' \\\n -H 'x-api-key: {API_KEY}'\n\n\n```",
        "operationId": "WorkdayWorker_Get",
        "parameters": [
          {
            "$ref": "#/parameters/trait:limit:limit"
          },
          {
            "$ref": "#/parameters/trait:skip:skip"
          },
          {
            "$ref": "#/parameters/trait:sort:sort"
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "examples": {
              "application/json": [
                {
                  "lastName": "sint dolore Excepteur ad"
                },
                {
                  "attributes": {},
                  "email": "nostrud tempor anim ips",
                  "firstName": "et ad",
                  "username": "Excepteur culpa nulla aliqua"
                },
                {
                  "attributes": {},
                  "email": "veniam ullamco"
                },
                {},
                {
                  "lastName": "do"
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/workday-worker"
              },
              "type": "array"
            }
          }
        },
        "security": [
          {
            "x-api-key": []
          }
        ],
        "summary": "List Workday Workers",
        "x-codeSamples": [
          {
            "lang": "Shell",
            "source": "curl --request GET \\\n --url 'https://console.jumpcloud.com/api/v2/workdays/{workday_id}/workers?limit=10&skip=0&sort=' \\\n --header 'x-api-key: REPLACE_KEY_VALUE'"
          },
          {
            "lang": "Python",
            "source": "import requests\n\nurl = \"https://console.jumpcloud.com/api/v2/workdays/{workday_id}/workers\"\n\nquerystring = {\"limit\":\"10\",\"skip\":\"0\",\"sort\":\"\"}\n\nheaders = {\"x-api-key\": \"REPLACE_KEY_VALUE\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "Powershell",
            "source": "$headers=@{}\n$headers.Add(\"x-api-key\", \"REPLACE_KEY_VALUE\")\n$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/workdays/{workday_id}/workers?limit=10&skip=0&sort=' -Method GET -Headers $headers"
          }
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "workday_id",
          "required": true,
          "type": "string"
        }
      ]
    }
  },
  "produces": [
    "application/json"
  ],
  "responses": {
    "trait:standardErrors:400": {
      "description": "",
      "schema": {
        "$ref": "#/definitions/ErrorDetails"
      }
    },
    "trait:standardErrors:401": {
      "description": "",
      "schema": {
        "$ref": "#/definitions/Error"
      }
    },
    "trait:standardErrors:403": {
      "description": "",
      "schema": {
        "$ref": "#/definitions/Error"
      }
    },
    "trait:standardErrors:404": {
      "description": "",
      "schema": {
        "$ref": "#/definitions/Error"
      }
    },
    "trait:standardErrors:409": {
      "description": "",
      "schema": {
        "$ref": "#/definitions/Error"
      }
    },
    "trait:standardErrors:500": {
      "description": "",
      "schema": {
        "$ref": "#/definitions/Error"
      }
    }
  },
  "schemes": [
    "https"
  ],
  "securityDefinitions": {
    "x-api-key": {
      "in": "header",
      "name": "x-api-key",
      "type": "apiKey"
    }
  },
  "swagger": "2.0"
}