{"openapi":"3.1.0","info":{"description":"\u003ch2\u003eIAM OVERVIEW\u003c/h2\u003e\n\nIAM technology can be used to initiate, capture, record and manage user identities and their related access permissions in an automated fashion. This ensures that access privileges are granted according to one interpretation of policy and all individuals and services are properly authenticated, authorized and audited.\nThe business IT environment is ever evolving and managing access has become a big administrative burden. Users switch between projects and as their duties change, it could result in changes to their access level. The users with privileges beyond their requirement is potentially unsafe and can lead to data loss or theft.\nZerion Identity is a web service that helps you securely control access to Zerion resources for your users. You use Zerion Identity to control who can use your Zerion resources (authentication) and what resources they can use and in what ways (authorization).\n\n\u003ch3\u003eGOALS\u003c/h3\u003e\n\nCentralize Data collector, Dataflow and future micro services login authentication and access management.\nCreate an expandable access management system for future micro services.\n\n\u003ch3\u003eSPECIFICATIONS\u003c/h3\u003e\n\nZerion Identity and Access consists of the following core objects\n\n\u003ch3\u003eUsers\u003c/h3\u003e\n\nAn user is an entity that you create in Zerion Identity to represent the person or service using it when interacting with Zerion Identity. A primary use for users is to give people you work with the ability to sign in to the Zerion Identity Management Console for interactive tasks and to make programmatic requests to Zerion Identity services using the API. A user in Zerion Identity consists of a name, a password to sign into the Zerion Identity Management Console, and up to two devices associated with the SQRL login keys. When a user is created, an unique randomized entity key is generated for that user.\n\n\u003ch3\u003eUser Groups\u003c/h3\u003e\n\nAn group is a collection of users. You can use groups to specify permissions for a collection of users, which can make those permissions easier to manage for those users. For example, you could have a group called Admins and give that group the types of permissions that administrators typically need. Any user in that group automatically has the permissions that are assigned to the group. If a new user joins your organization and should have administrator privileges, you can assign the appropriate permissions by adding the user to that group. Similarly, if a person changes jobs in your organization, instead of editing that user's permissions, you can remove him or her from the old groups and add him or her to the appropriate new groups. Note that a group is not truly an identity because it cannot be identified as a Principal in an access policy. It is only a way to attach policies to multiple users at one time.\n\n\u003ch3\u003ePermissions\u003c/h3\u003e\n\nPermissions let you specify who has access to Zerion resources, and what actions they can perform on those resources. Every Zerion Identity user starts with no permissions. In other words, by default, users can do nothing. To give a user permission to do something, you can add the permission to the user (that is, attach a policy to the user) or add the user to a group that has the desired permission. For example, you might grant a user permission to list his or her own details. You might also expand that permission and also let each user create, update, and delete their SQRL keys. When you give permissions to a group, all users in that group get those permissions. For example, you can give the Admins group permission to perform any of the Zerion Identity actions on any of the Zerion account resources. Another example: You can give the Managers group permission to list the forms in that particular Zerion account.\n\n\u003ch3\u003e\u003cb\u003eGeneral Notes:\u003c/b\u003e\u003c/h3\u003e\n\n\u003cli\u003e\u003cb\u003eMost list based requests will return a maximum of 100 objects per request (Users, User Groups, and Permissions).\u003c/b\u003e\u003c/li\u003e\n\u003cli\u003eDefault response will be returned when invalid grammar is passed into the request.\u003c/li\u003e\n\u003cli\u003eField grammar can include filters (single or multiple conditions) and sort order.\u003c/li\u003e\n\n\u003ch3\u003e\u003cb\u003eUsing Parameters\u003c/b\u003e\u003c/h3\u003e\n\n\u003cli\u003eParameters will allow you to refined the request and consist of the following:\u003c/li\u003e\n\u003cli\u003e\u003cb\u003efields:\u003c/b\u003e Allow you to specify which attributes are returned.  Filter and sort priority can be assigned to each field.  \u003c/li\u003e\n\u003cli\u003e\u003cb\u003elimit:\u003c/b\u003e Allow you to specify how many results are returned.\u003c/li\u003e\n\u003cli\u003e\u003cb\u003eoffset:\u003c/b\u003e Allow you to specify number of results to skip.\u003c/li\u003e\n\u003cli\u003eFor example, this url would only provide the user ids and names.  \u003cbr\u003e\u003cblockquote\u003ehttps://identity.zerionsoftware.com/v1/users\u003c/blockquote\u003e\u003c/li\u003e\n\u003cli\u003eThis example demonstrates returning first name, last name, and profile id.  This will also skip the first record only display 2 after that.  \u003cbr\u003e\u003cblockquote\u003ehttps://identity.zerionsoftware.com/v1/users?\u003cb\u003efields=firstName,lastName,profileId\u0026offset=1\u0026limit=2\u003c/b\u003e\u003c/blockquote\u003e\u003c/li\u003e\n\n\u003ch3\u003e\u003cb\u003eSorting Fields:\u003c/b\u003e\u003c/h3\u003e\n\n\u003cli\u003eTo sort by column(s), there are three components:\u003c/li\u003e\n\u003cli\u003e\u003cb\u003eColumn:\u003c/b\u003e The field you want to sort by\u003c/li\u003e\n\u003cli\u003e\u003cb\u003eOperator:\u003c/b\u003e These consist of \u003c (ascending) and  \u003e (descending)\u003c/li\u003e\n\u003cli\u003e\u003cb\u003eSort Priority:\u003c/b\u003e  When sorting by multiple columns, you set priority by designating a number after the operator.\u003c/li\u003e\n\u003cli\u003eIn this example, lastName has first priority in ascending order followed by firstName in descending order. \u003cbr\u003e\u003cblockquote\u003e https://identity.zerionsoftware.com/v1/users?\u003cb\u003efields=firstName:\u003e2,lastName:\u0026lt;1 \u003c/b\u003e \u003c/blockquote\u003e\u003c/li\u003e\n\n\u003ch3\u003e\u003cb\u003eFiltering Fields:\u003c/b\u003e\u003c/h3\u003e\n\n\u003cp\u003eAdding filters will narrow down your request output or input.  This can be used with both GET and PUT requests.\u003cbr\u003e\n\u003cb\u003eGET:\u003c/b\u003e Will return any data that meets your filter’s rules.\u003cbr\u003e\n\u003cb\u003ePUT:\u003c/b\u003e Instead of updating a specific record, update many records that match the filter.  For example, changing everyone who is now over 18 from child to an adult.\u003c/p\u003e\n\n\u003cli\u003e\u003cb\u003eThree Components of Filtering\u003c/b\u003e\u003c/li\u003e\n\u003cli\u003e\u003cb\u003eColumn:\u003c/b\u003e The field you want to filter\u003c/li\u003e\n\u003cli\u003e\u003cb\u003eOperator:\u003c/b\u003e These consist of \u003c, \u003c=, \u003e, \u003e=, = and ~\u003c/li\u003e\n\u003cli\u003e\u003cb\u003eValue:\u003c/b\u003eThe value you are basing your filter on.  Boolean values can be passed in either as true and false, or 0 and 1.\u003c/li\u003e\n\n\u003cli\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/li\u003e\n\u003cli\u003eGet everyone who is between Profile Id 161658 AND 161705 (Note: the '\u0026' symbol may need to be url encoded which is '%26') \u003cbr\u003e\u003cblockquote\u003e\u003cb\u003eprofileId((\u003e=\"161658\")\u0026(\u003c=\"161705\"))\u003c/b\u003e\u003c/blockquote\u003e\u003c/br\u003e or encoded\u003cblockquote\u003e\u003cb\u003eprofileId((\u003e=\"161658\")%26(\u003c=\"161705\"))\u003c/b\u003e\u003c/blockquote\u003e\u003c/li\u003e\n\u003cli\u003eGet everyone that Profile Id is less than or equal to 161658 OR more than 161705 \u003cbr\u003e\u003cblockquote\u003e\u003cb\u003eprofileId((\u003c=\"161658\")|(\u003e=\"161705\"))\u003c/blockquote\u003e\u003c/b\u003e\u003c/li\u003e\n\u003cli\u003eGet all usernames that start with 'K' \u003cbr\u003e\u003cblockquote\u003e\u003cb\u003eusername(~\"K%\")\u003c/blockquote\u003e\u003c/b\u003e\u003c/li\u003e\n\u003cli\u003eGet all usernames that end with 'son' \u003cbr\u003e\u003cblockquote\u003e \u003cb\u003eusername(~\"%son\")\u003c/b\u003e\u003c/blockquote\u003e\u003c/li\u003e\n\u003cli\u003eGet all usernames that contain 'mit' \u003cbr\u003e\u003cblockquote\u003e \u003cb\u003eusername(~\"%mit%\")\u003c/b\u003e\u003c/blockquote\u003e\u003c/li\u003e\n\u003cli\u003eNow combining the examples above in a URL.\u003cbr\u003e\u003cblockquote\u003ehttps://identity.zerionsoftware.com/v1/users?fields=\u003cb\u003eprofileId((\u003e=\"161658\")%26(\u003c=\"161705\")),username(~\"demo%\")\u003c/b\u003e\u003c/blockquote\u003e\u003c/li\u003e\n\n\u003cli\u003e\u003cb\u003eSearching Multiple Specific Values\u003c/b\u003e\u003c/li\u003e\n\u003cli\u003eThis will allow you to pass in multiple specifc values you want the query to return.  Form example,\u003c/li\u003e\n\u003cli\u003eGet both records for username kjohnson AND mjordan \u003cbr\u003e\u003cblockquote\u003e\u003cb\u003eusername(=\"kjohnson\"|=\"mjordan\")\u003c/blockquote\u003e\u003c/b\u003e\u003c/li\u003e\n\n\u003c!--\n\u003ch1\u003eMaking API Requests\u003c/h1\u003e\n\u003cli\u003eTo make requests to the API, you must obtain an access token.  To obtain an a valid access token, click on the link below to get started.\u003c/li\u003e\n\u003cli\u003e\u003ca href = \"https://iformbuilder.zendesk.com/hc/en-us/articles/201702900-What-are-the-API-Apps-Start-Here-\"\u003eGenerating Access Token\u003c/a\u003e\u003c/li\u003e\n--\u003e","title":"Zerion Identity and Access Management","version":""},"servers":[{"url":"https://identity.zerionsoftware.com/v1/"}],"paths":{"/policies":{"delete":{"operationId":"delete-policies","summary":"Delete a List of Policies","description":"","parameters":[{"name":"fields","in":"query","description":"extra information of each user on the list","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"maximum count of the user list","required":false,"schema":{"type":"number"},"example":"100"},{"name":"offset","in":"query","description":"skip that many users before beginning to return","required":false,"schema":{"type":"number"},"example":"0"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","examples":["7e72b386ac43d1414e59188b"]}}}}}},"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"7e72b386ac43d1414e59188b"},{"id":"7e72b386ac43d1414e59188c"}]}},"schema":{"type":"object","properties":{"id":{"description":"the deleted policy id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["Policy Resource"]},"get":{"operationId":"get-policies","summary":"Retrieve a List of Policies","description":"","parameters":[{"name":"fields","in":"query","description":"extra information of each user on the list","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"maximum count of the user list","required":false,"schema":{"type":"number"},"example":"100"},{"name":"offset","in":"query","description":"skip that many users before beginning to return","required":false,"schema":{"type":"number"},"example":"0"}],"responses":{"200":{"description":"OK","headers":{"Total-Count":{"schema":{"type":"string"}}},"content":{"application/json":{"examples":{"response":{"value":[{"id":"7e72b386ac43d1414e59188b","name":"demo_policy1","permissions":[{"actions":["zim::create::users"],"effect":"allow","resources":["zws::servers::demo::*"]}],"profileId":171235,"serverId":"demo"},{"id":"7e72b386ac43d1414e59188c","name":"demo_policy2","permissions":[{"actions":["zim::create::users"],"effect":"allow","resources":["zws::servers::demo::*"]}],"profileId":171235,"serverId":"demo"},{"id":"7e72b386ac43d1414e59188d","name":"demo_policy3","permissions":[{"actions":["zim::create::users"],"effect":"allow","resources":["zws::servers::demo::*"]}],"profileId":171235,"serverId":"demo"}]}},"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"permissions":{"type":"array","items":{}},"profile_id":{"type":"number"},"server_id":{"type":"string"}},"required":["id","name","permissions","serverId","profileId"]}}}}},"security":[{"oauth2":[]}],"tags":["Policy Resource"]},"post":{"operationId":"post-policies","summary":"Create New Policies","description":"","parameters":[{"name":"profile_id","in":"query","description":"id of the profile","required":true,"schema":{"type":"string"},"example":"self"}],"requestBody":{"$ref":"#/components/requestBodies/Create_New_User_GroupsBody"},"responses":{"201":{"description":"Created","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"7e72b386ac43d1414e59188d"},{"id":"7e72b386ac43d1414e59188e"}]}},"schema":{"type":"object","properties":{"id":{"description":"the created policies id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["Policy Resource"]},"put":{"operationId":"put-policies","summary":"Update a List of Policies","description":"","parameters":[{"name":"fields","in":"query","description":"extra information of each user on the list","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"maximum count of the user list","required":false,"schema":{"type":"number"},"example":"100"},{"name":"offset","in":"query","description":"skip that many users before beginning to return","required":false,"schema":{"type":"number"},"example":"0"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","examples":["Description of this user group"]},"id":{"type":"string","examples":["7e72b386ac43d1414e59188b"]},"name":{"type":"string","examples":["demo_group1"]},"type":{"type":"string","examples":["no idea what this is"]},"used_as":{"type":"string","examples":["no idea what this is"]}},"required":["name"]}}}},"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"7e72b386ac43d1414e59188b"},{"id":"7e72b386ac43d1414e59188c"}]}},"schema":{"type":"object","properties":{"id":{"description":"the updated policy id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["Policy Resource"]}},"/policies/{policy_id}":{"delete":{"operationId":"delete-policies-policy-id","summary":"Delete a Policy","description":"","parameters":[{"name":"policy_id","in":"path","description":"id of the policy","required":true,"schema":{"type":"string"},"example":"self"}],"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":{"id":"7e72b386ac44d1414e59188b"}}},"schema":{"type":"object","properties":{"id":{"description":"the deleted policy id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["Policy Resource"]},"get":{"operationId":"get-policies-policy-id","summary":"Retrieve a policy","description":"","parameters":[{"name":"policy_id","in":"path","description":"id of the policy","required":true,"schema":{"type":"string"},"example":"self"}],"responses":{"200":{"description":"OK","headers":{},"content":{"*/*":{"schema":{"type":"object","properties":{"created_date":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"modified_date":{"type":"string"},"name":{"type":"string"},"permissions":{"type":"array","items":{}},"profile_id":{"type":"number"},"role_type":{"type":"string"},"server_id":{"type":"string"},"type":{"type":"string"},"used_as":{"type":"string"},"user_groups":{"type":"array","items":{}},"users":{"type":"array","items":{}}},"required":["id","name","permissions","roleType"]}}}}},"security":[{"oauth2":[]}],"tags":["Policy Resource"]},"put":{"operationId":"put-policies-policy-id","summary":"Update a Polilcy","description":"","parameters":[{"name":"policy_id","in":"path","description":"id of the policy","required":true,"schema":{"type":"string"},"example":"self"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","examples":["Description of this user group"]},"type":{"type":"string","examples":["no idea what this is"]},"used_as":{"type":"string","examples":["no idea what this is"]}}}}}},"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":{"id":"7e72b386ac44d1414e59188b"}}},"schema":{"type":"object","properties":{"id":{"description":"the updated policy id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["Policy Resource"]}},"/policies/{policy_id}/userGroups":{"delete":{"operationId":"delete-policies-policy-id-user-groups","summary":"Unassign User Group from Policy","description":"","parameters":[{"name":"policy_id","in":"path","description":"id of the policy","required":true,"schema":{"type":"string"},"example":"self"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"properties":{"id":{"type":"string"}},"required":["id"],"type":"object"},"examples":[[{"id":"6f72b386ac43d1414e59188d"},{"id":"6f72b386ac43d1414e59188e"}]]}}}},"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"6e72b386ac43d1414e59188d"},{"id":"6e72b386ac43d1414e59188e"}]}},"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["Policy Resource"]},"get":{"operationId":"get-policies-policy-id-user-groups","summary":"Retrieve a Policy User Group Assignment","description":"","parameters":[{"name":"policy_id","in":"path","description":"id of the policy","required":true,"schema":{"type":"string"},"example":"self"}],"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":{"id":"6e72b386ac43d1414e59188d","name":"demo_group"}}},"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]}}}}},"security":[{"oauth2":[]}],"tags":["Policy Resource"]},"post":{"operationId":"post-policies-policy-id-user-groups","summary":"Assign User Group to Policy","description":"","parameters":[{"name":"policy_id","in":"path","description":"id of the policy","required":true,"schema":{"type":"string"},"example":"self"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"properties":{"id":{"type":"string"}},"required":["id"],"type":"object"},"examples":[[{"id":"6f72b386ac43d1414e59188d"},{"id":"6f72b386ac43d1414e59188e"}]]}}}},"responses":{"201":{"description":"Created","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"6e72b386ac43d1414e59188d"},{"id":"6e72b386ac43d1414e59188e"}]}},"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["Policy Resource"]}},"/policies/{policy_id}/users":{"delete":{"operationId":"delete-policies-policy-id-users","summary":"Unassign User from Policy","description":"","parameters":[{"name":"policy_id","in":"path","description":"id of the policy","required":true,"schema":{"type":"string"},"example":"self"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"properties":{"id":{"type":"string"}},"required":["id"],"type":"object"},"examples":[[{"id":"6f72b386ac43d1414e59188d"},{"id":"6f72b386ac43d1414e59188e"}]]}}}},"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"6e72b386ac43d1414e59188d"},{"id":"6e72b386ac43d1414e59188e"}]}},"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["Policy Resource"]},"get":{"operationId":"get-policies-policy-id-users","summary":"Retrieve a Policy User Assignment","description":"","parameters":[{"name":"policy_id","in":"path","description":"id of the policy","required":true,"schema":{"type":"string"},"example":"self"}],"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":{"id":"6e72b386ac43d1414e59188d","username":"demo_user"}}},"schema":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"}},"required":["id","username"]}}}}},"security":[{"oauth2":[]}],"tags":["Policy Resource"]},"post":{"operationId":"post-policies-policy-id-users","summary":"Assign User to Policy","description":"","parameters":[{"name":"policy_id","in":"path","description":"id of the policy","required":true,"schema":{"type":"string"},"example":"self"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"properties":{"id":{"type":"string"}},"required":["id"],"type":"object"},"examples":[[{"id":"6f72b386ac43d1414e59188d"},{"id":"6f72b386ac43d1414e59188e"}]]}}}},"responses":{"201":{"description":"Created","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"6e72b386ac43d1414e59188d"},{"id":"6e72b386ac43d1414e59188e"}]}},"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["Policy Resource"]}},"/userGroups":{"delete":{"operationId":"delete-user-groups","summary":"Delete a List of User Groups","description":"","parameters":[{"name":"fields","in":"query","description":"extra information of each user on the list","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"maximum count of the user list","required":false,"schema":{"type":"number"},"example":"100"},{"name":"offset","in":"query","description":"skip that many users before beginning to return","required":false,"schema":{"type":"number"},"example":"0"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","examples":["6e72b386ac43d1414e59188b"]}}}}}},"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"6e72b386ac43d1414e59188b"},{"id":"6e72b386ac43d1414e59188c"}]}},"schema":{"type":"object","properties":{"id":{"description":"the deleted user group id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["User Group Resource"]},"get":{"operationId":"get-user-groups","summary":"Retrieve a List of User Groups","description":"","parameters":[{"name":"fields","in":"query","description":"extra information of each user on the list","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"maximum count of the user list","required":false,"schema":{"type":"number"},"example":"100"},{"name":"offset","in":"query","description":"skip that many users before beginning to return","required":false,"schema":{"type":"number"},"example":"0"}],"responses":{"200":{"description":"OK","headers":{"Total-Count":{"schema":{"type":"string"}}},"content":{"application/json":{"examples":{"response":{"value":[{"id":"6e72b386ac43d1414e59188b","name":"demo_group1","profileId":171235,"serverId":"demo"},{"id":"6e72b386ac43d1414e59188c","name":"demo_group2","profileId":171235,"serverId":"demo"},{"id":"6e72b386ac43d1414e59188d","name":"demo_group3","profileId":171235,"serverId":"demo"}]}},"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"profile_id":{"type":"number"},"server_id":{"type":"string"}},"required":["id","name","serverId","profileId"]}}}}},"security":[{"oauth2":[]}],"tags":["User Group Resource"]},"post":{"operationId":"post-user-groups","summary":"Create New User Groups","description":"","parameters":[{"name":"profile_id","in":"query","description":"id of the profile","required":true,"schema":{"type":"string"},"example":"self"}],"requestBody":{"$ref":"#/components/requestBodies/Create_New_User_GroupsBody"},"responses":{"201":{"description":"Created","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"6e72b386ac43d1414e59188d"},{"id":"6e72b386ac43d1414e59188e"}]}},"schema":{"type":"object","properties":{"id":{"description":"the created user group id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["User Group Resource"]},"put":{"operationId":"put-user-groups","summary":"Update a List of User Groups","description":"","parameters":[{"name":"fields","in":"query","description":"extra information of each user on the list","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"maximum count of the user list","required":false,"schema":{"type":"number"},"example":"100"},{"name":"offset","in":"query","description":"skip that many users before beginning to return","required":false,"schema":{"type":"number"},"example":"0"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","examples":["Description of this user group"]},"id":{"type":"string","examples":["6e72b386ac43d1414e59188b"]},"name":{"type":"string","examples":["demo_group1"]},"type":{"type":"string","examples":["no idea what this is"]},"used_as":{"type":"string","examples":["no idea what this is"]}},"required":["name"]}}}},"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"6e72b386ac43d1414e59188b"},{"id":"6e72b386ac43d1414e59188c"}]}},"schema":{"type":"object","properties":{"id":{"description":"the updated user group id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["User Group Resource"]}},"/userGroups/{user_group_id}":{"delete":{"operationId":"delete-user-groups-user-group-id","summary":"Delete a User Group","description":"","parameters":[{"name":"user_group_id","in":"path","description":"id of the user group","required":true,"schema":{"type":"string"},"example":"self"}],"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":{"id":"6e72b386ac44d1414e59188b"}}},"schema":{"type":"object","properties":{"id":{"description":"the deleted user group id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["User Group Resource"]},"get":{"operationId":"get-user-groups-user-group-id","summary":"Retrieve a user group","description":"","parameters":[{"name":"user_group_id","in":"path","description":"id of the user group","required":true,"schema":{"type":"string"},"example":"self"}],"responses":{"200":{"description":"OK","headers":{},"content":{"*/*":{"schema":{"type":"object","properties":{"created_date":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"modified_date":{"type":"string"},"name":{"type":"string"},"profile_id":{"type":"number"},"server_id":{"type":"string"},"type":{"type":"string"},"used_as":{"type":"string"},"users":{"type":"array","items":{}}},"required":["id","name","description","profileId","serverId","type","usedAs","createdDate","modifiedDate","users"]}}}}},"security":[{"oauth2":[]}],"tags":["User Group Resource"]},"put":{"operationId":"put-user-groups-user-group-id","summary":"Update a User Group","description":"","parameters":[{"name":"user_group_id","in":"path","description":"id of the user group","required":true,"schema":{"type":"string"},"example":"self"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","examples":["Description of this user group"]},"name":{"type":"string","examples":["demo_group"]},"type":{"type":"string","examples":["no idea what this is"]},"used_as":{"type":"string","examples":["no idea what this is"]}}}}}},"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":{"id":"6e72b386ac44d1414e59188b"}}},"schema":{"type":"object","properties":{"id":{"description":"the updated user group id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["User Group Resource"]}},"/userGroups/{user_group_id}/users":{"delete":{"operationId":"delete-user-groups-user-group-id-users","summary":"Unassign User from User Group","description":"","parameters":[{"name":"user_group_id","in":"path","description":"id of the user group","required":true,"schema":{"type":"string"},"example":"self"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"properties":{"user_id":{"type":"string"}},"required":["userId"],"type":"object"},"examples":[[{"userId":"6f72b386ac43d1414e59188d"},{"userId":"6f72b386ac43d1414e59188e"}]]}}}},"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"6e72b386ac43d1414e59188d"},{"id":"6e72b386ac43d1414e59188e"}]}},"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["User Group Resource"]},"get":{"operationId":"get-user-groups-user-group-id-users","summary":"Retrieve a User Group User Assignment","description":"","parameters":[{"name":"user_group_id","in":"path","description":"id of the user group","required":true,"schema":{"type":"string"},"example":"self"}],"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":{"id":"6e72b386ac43d1414e59188d","username":"demo_user"}}},"schema":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"}},"required":["id","username"]}}}}},"security":[{"oauth2":[]}],"tags":["User Group Resource"]},"post":{"operationId":"post-user-groups-user-group-id-users","summary":"Assign User to User Group","description":"","parameters":[{"name":"user_group_id","in":"path","description":"id of the user group","required":true,"schema":{"type":"string"},"example":"self"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"properties":{"id":{"type":"string"}},"required":["id"],"type":"object"},"examples":[[{"id":"6f72b386ac43d1414e59188d"},{"id":"6f72b386ac43d1414e59188e"}]]}}}},"responses":{"201":{"description":"Created","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"6e72b386ac43d1414e59188d"},{"id":"6e72b386ac43d1414e59188e"}]}},"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["User Group Resource"]}},"/users":{"delete":{"operationId":"delete-users","summary":"Delete a List of Users","description":"","parameters":[{"name":"fields","in":"query","description":"extra information of each user on the list","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"maximum count of the user list","required":false,"schema":{"type":"number"},"example":"100"},{"name":"offset","in":"query","description":"skip that many users before beginning to return","required":false,"schema":{"type":"number"},"example":"0"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","examples":["5e72b386ac43d1414e59188b"]}}}}}},"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"5e72b386ac43d1414e59188b"},{"id":"5e72b386ac43d1414e59188c"}]}},"schema":{"type":"object","properties":{"id":{"description":"the deleted user id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["User Resource"]},"get":{"operationId":"get-users","summary":"Retrieve a List of Users","description":"","parameters":[{"name":"fields","in":"query","description":"extra information of each user on the list","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"maximum count of the user list","required":false,"schema":{"type":"number"},"example":"100"},{"name":"offset","in":"query","description":"skip that many users before beginning to return","required":false,"schema":{"type":"number"},"example":"0"}],"responses":{"200":{"description":"OK","headers":{"Total-Count":{"schema":{"type":"string"}}},"content":{"application/json":{"examples":{"response":{"value":[{"id":"5e72b386ac43d1414e59188b","profileId":171235,"serverId":"demo","username":"demo_user"},{"id":"5e72b386ac43d1414e59188c","profileId":171235,"serverId":"demo","username":"inspector_1"},{"id":"5e72b386ac43d1414e59188d","profileId":171235,"serverId":"demo","username":"inspector_2"}]}},"schema":{"type":"object","properties":{"id":{"type":"string"},"profile_id":{"type":"number"},"server_id":{"type":"string"},"username":{"type":"string"}},"required":["id","username","serverId","profileId"]}}}}},"security":[{"oauth2":[]}],"tags":["User Resource"]},"post":{"operationId":"post-users","summary":"Create New Users","description":"","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","examples":["support@iformbuilder.com"]},"first_name":{"type":"string","examples":["Calvin"]},"last_name":{"type":"string","examples":["Johnson"]},"password":{"type":"string","examples":["testing123"]},"profile_id":{"type":"number","examples":[12345]},"server_id":{"type":"string","examples":["app"]},"username":{"type":"string","examples":["demo_user"]}},"required":["username","password","email","serverId","profileId"]}}}},"responses":{"201":{"description":"Created","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"5e72b386ac43d1414e59188b"},{"id":"5e72b386ac43d1414e59188c"}]}},"schema":{"type":"object","properties":{"id":{"description":"the created user id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["User Resource"]},"put":{"operationId":"put-users","summary":"Update a List of Users","description":"","parameters":[{"name":"fields","in":"query","description":"extra information of each user on the list","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"maximum count of the user list","required":false,"schema":{"type":"number"},"example":"100"},{"name":"offset","in":"query","description":"skip that many users before beginning to return","required":false,"schema":{"type":"number"},"example":"0"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"xxx_status":{"type":"number"},"email":{"type":"string","examples":["support@iformbuilder.com"]},"first_name":{"type":"string","examples":["Calvin"]},"id":{"type":"string","examples":["5e72b386ac43d1414e59188b"]},"last_name":{"type":"string","examples":["Johnson"]}},"required":["id"]}}}},"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":[{"id":"5e72b386ac43d1414e59188b"},{"id":"5e72b386ac43d1414e59188c"}]}},"schema":{"type":"object","properties":{"id":{"description":"the updated user id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["User Resource"]}},"/users/{user_id}":{"delete":{"operationId":"delete-users-user-id","summary":"Delete a User","description":"","parameters":[{"name":"user_id","in":"path","description":"id of the user","required":true,"schema":{"type":"string"},"example":"self"}],"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":{"id":"5e72b386ac44d1414e59188b"}}},"schema":{"type":"object","properties":{"id":{"description":"the deleted user id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["User Resource"]},"get":{"operationId":"get-users-user-id","summary":"Retrieve a user","description":"","parameters":[{"name":"user_id","in":"path","description":"id of the user","required":true,"schema":{"type":"string"},"example":"self"}],"responses":{"200":{"description":"OK","headers":{},"content":{"*/*":{"schema":{"type":"object","properties":{"created_date":{"type":"string"},"email":{"type":"string"},"entity_key_hashes":{"type":"array","items":{}},"failed_login_count":{"type":"number"},"first_name":{"type":"string"},"id":{"type":"string"},"last_login":{"type":"string"},"last_name":{"type":"string"},"modified_date":{"type":"string"},"profile_id":{"type":"number"},"server_id":{"type":"string"},"status":{"type":"number"},"username":{"type":"string"}},"required":["id","username","firstName","lastName","createdDate","modifiedDate","email","lastLogin","failedLoginCount","status","entityKeyHashes","serverId","profileId"]}}}}},"security":[{"oauth2":[]}],"tags":["User Resource"]},"put":{"operationId":"put-users-user-id","summary":"Update a User","description":"","parameters":[{"name":"user_id","in":"path","description":"id of the user","required":true,"schema":{"type":"string"},"example":"self"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"xxx_status":{"type":"number"},"email":{"type":"string","examples":["support@iformbuilder.com"]},"first_name":{"type":"string","examples":["Calvin"]},"last_name":{"type":"string","examples":["Johnson"]}}}}}},"responses":{"200":{"description":"OK","headers":{},"content":{"application/json":{"examples":{"response":{"value":{"id":"5e72b386ac44d1414e59188b"}}},"schema":{"type":"object","properties":{"id":{"description":"the updated user id","type":"string"}},"required":["id"]}}}}},"security":[{"oauth2":[]}],"tags":["User Resource"]}}},"components":{"schemas":{"New_Policy_Creation":{},"New_User_Creation":{},"New_User_Group_Creation":{},"Policy":{},"Policy_Collection":{},"Policy_User_Assignment":{},"Policy_User_Group_Assignment":{},"User":{},"User_Collection":{},"User_Group":{},"User_Group_Collection":{},"User_Group_User_Assignment":{}},"requestBodies":{"Assign_User_to_User_GroupBody":{"content":{"application/json":{"schema":{"type":"array","items":{"properties":{"id":{"type":"string"}},"required":["id"],"type":"object"},"examples":[[{"id":"6f72b386ac43d1414e59188d"},{"id":"6f72b386ac43d1414e59188e"}]]}}}},"Create_New_User_GroupsBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","examples":["Demo group description"]},"name":{"type":"string","examples":["demo_group"]},"type":{"type":"string","examples":["no idea what this is"]},"usedAs":{"type":"string","examples":["no idea what this is"]}},"required":["name","description"]}}}}},"securitySchemes":{"oauth2":{"flows":{"authorizationCode":{"authorizationUrl":"/","scopes":{},"tokenUrl":"/"}},"type":"oauth2"}}},"tags":[{"name":"User Resource"},{"name":"User Group Resource"},{"name":"Policy Resource"}]}