Ceptor Docs

Page tree
Skip to end of metadata
Go to start of metadata

The following is the OpenAPI specification of the UserAdmin / Identity REST API:

--- openapi: "3.0.0" info: version: "1.0.0" title: "Ceptor UserAdmin" paths: /user: get: summary: "Get User" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "id" in: "query" description: "User ID (integer)" required: true schema: type: "integer" responses: 200: description: "User Record" content: application/json: schema: $ref: "#/components/schemas/User" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Deletes a User" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "id" in: "query" description: "User ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" put: summary: "Create User" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "logonid" in: "query" description: "Logon ID" required: true schema: type: "string" - name: "method" in: "query" description: "Method ID" required: true schema: type: "integer" - name: "authlevel" in: "query" description: "Authentication Level" required: false schema: type: "integer" - name: "credentials" in: "query" description: "Credentials" required: true schema: type: "string" format: "byte" responses: 200: description: "User ID of the newly created record" content: application/json: schema: type: "integer" description: "User ID" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /userByKey: get: summary: "Get User by key / attribute / column" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "key" in: "query" description: "Key / attribute / column to use for lookup" required: true schema: $ref: "#/components/schemas/Key" - name: "value" in: "query" description: "Value to search for" required: true schema: type: "string" responses: 200: description: "User Record" content: application/json: schema: $ref: "#/components/schemas/User" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /usersByACL: get: summary: "Retrieves the users linked to an ACL" tags: - "acl" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "aclname" in: "query" description: "Name of ACL" required: true schema: type: "string" responses: 200: description: "User Records" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/QuickUser" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /userByLogonID: get: summary: "Get User by LogonID and Authentication Method" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "logonid" in: "query" description: "LogonID" required: true schema: type: "string" - name: "method" in: "query" description: "Method ID" required: true schema: type: "integer" responses: 200: description: "User Record" content: application/json: schema: $ref: "#/components/schemas/User" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /allGroups: get: summary: "Get all user groups" tags: - "group" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" responses: 200: description: "Groups" content: application/json: schema: type: "array" description: "List of available Groups" items: $ref: "#/components/schemas/Group" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /group: put: summary: "Create a new group" tags: - "group" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "name" in: "query" description: "Group name" required: true schema: type: "string" - name: "description" in: "query" description: "Description" required: true schema: type: "string" - name: "authlvl" in: "query" description: "Minimum authentication level" required: true schema: type: "integer" responses: 200: description: "OK" content: application/json: schema: type: "integer" description: "ID of the new group" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" patch: summary: "Updates a group" tags: - "group" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "id" in: "query" description: "Group ID" required: true schema: type: "integer" - name: "name" in: "query" description: "Group name" required: true schema: type: "string" - name: "description" in: "query" description: "Description" required: true schema: type: "string" - name: "authlvl" in: "query" description: "Minimum authentication level" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Deletes a Group" tags: - "group" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "id" in: "query" description: "Group ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /allProfiles: get: summary: "Get all user profiles" tags: - "profile" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" responses: 200: description: "Profiles" content: application/json: schema: type: "array" description: "List of available Profiles" items: $ref: "#/components/schemas/Profile" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /profile: put: summary: "Create a new profile" tags: - "profile" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "name" in: "query" description: "Group name" required: true schema: type: "string" - name: "description" in: "query" description: "Description" required: true schema: type: "string" responses: 200: description: "OK" content: application/json: schema: type: "integer" description: "ID of the new profile" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" patch: summary: "Updates a profile" tags: - "profile" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "id" in: "query" description: "Profile ID" required: true schema: type: "integer" - name: "name" in: "query" description: "Group name" required: true schema: type: "string" - name: "description" in: "query" description: "Description" required: true schema: type: "string" responses: 200: description: "OK" content: application/json: schema: type: "integer" description: "ID of the new profile" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /profile/attachGroup: put: summary: "Attach a group to a Profile" tags: - "profile" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "id" in: "query" description: "Profile ID" required: true schema: type: "integer" - name: "groupID" in: "query" description: "Group ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /profile/detachGroup: put: summary: "Detach a group from a profile" tags: - "profile" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "id" in: "query" description: "Profile ID" required: true schema: type: "integer" - name: "groupID" in: "query" description: "Group ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /assignableProfiles: get: summary: "Get a list of assignable profiles for the currently authenticated\ \ user" tags: - "profile" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" responses: 200: description: "OK" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/Profile" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /allACLs: get: summary: "Get all ACL entries" tags: - "acl" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" responses: 200: description: "ACLs" content: application/json: schema: type: "array" description: "List of available ACLs" items: $ref: "#/components/schemas/ACL" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /acl: put: summary: "Create a new ACL" tags: - "acl" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "name" in: "query" description: "Group name" required: true schema: type: "string" - name: "description" in: "query" description: "Description" required: true schema: type: "string" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Deletes an ACL" tags: - "acl" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "name" in: "query" description: "ACL Name" required: true schema: type: "string" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" patch: summary: "Updates an ACL" tags: - "acl" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "name" in: "query" description: "Group name" required: true schema: type: "string" - name: "description" in: "query" description: "Description" required: true schema: type: "string" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /acl/attachGroup: put: summary: "Attach a group to an ACL" tags: - "acl" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "name" in: "query" description: "ACL name" required: true schema: type: "string" - name: "groupID" in: "query" description: "Group ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /acl/detachGroup: put: summary: "Detach a group from an ACL" tags: - "acl" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "name" in: "query" description: "ACL name" required: true schema: type: "string" - name: "groupID" in: "query" description: "Group ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /acl/attachUser: put: summary: "Attach a user to an ACL" tags: - "acl" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "name" in: "query" description: "ACL name" required: true schema: type: "string" - name: "userID" in: "query" description: "User ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /acl/detachUser: put: summary: "Detach a user from an ACL" tags: - "acl" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "name" in: "query" description: "ACL name" required: true schema: type: "string" - name: "userID" in: "query" description: "User ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /allOrganisations: get: summary: "Get all Organisation records" tags: - "organisation" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" responses: 200: description: "Organisations" content: application/json: schema: type: "array" description: "List of available Organisations" items: $ref: "#/components/schemas/Organisation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /organisationsByParent: get: summary: "Get all Organisation records for a given parent" tags: - "organisation" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "parent" in: "query" description: "Parent Organisation ID" required: true schema: type: "integer" responses: 200: description: "Organisations" content: application/json: schema: type: "array" description: "List of available Organisations" items: $ref: "#/components/schemas/Organisation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /organisationProfiles: get: summary: "Get all Profiles attached to a particular organisation" tags: - "organisation" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "orgid" in: "query" description: "Organisation ID" required: true schema: type: "integer" responses: 200: description: "Profiles" content: application/json: schema: type: "array" description: "List of Profiles for this organisation" items: $ref: "#/components/schemas/Profile" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /organisation: get: summary: "Gets organisation" tags: - "organisation" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "orgid" in: "query" description: "Organisation ID" required: true schema: type: "integer" responses: 200: description: "OK" content: application/json: schema: $ref: "#/components/schemas/Organisation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" put: summary: "Create a new organisation" tags: - "organisation" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "name" in: "query" description: "Organisation Name" required: true schema: type: "string" - name: "description" in: "query" description: "Description" required: true schema: type: "string" - name: "parent" in: "query" description: "Parent ID" required: true schema: type: "integer" - name: "status" in: "query" description: "Status ID" required: true schema: type: "integer" - name: "statusinfo" in: "query" description: "StatusInfo ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" patch: summary: "Updates an organisation" tags: - "organisation" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "orgid" in: "query" description: "Organisation ID" required: true schema: type: "integer" - name: "name" in: "query" description: "Organisation Name" required: true schema: type: "string" - name: "description" in: "query" description: "Description" required: true schema: type: "string" - name: "parent" in: "query" description: "Parent ID" required: true schema: type: "integer" - name: "status" in: "query" description: "Status ID" required: true schema: type: "integer" - name: "statusinfo" in: "query" description: "StatusInfo ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Deletes an organisation" tags: - "organisation" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "orgid" in: "query" description: "Organisation ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /organisationAttribute: put: summary: "Create/update organisation attributes" tags: - "organisation" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "orgid" in: "query" description: "Organisation ID" required: true schema: type: "integer" - name: "keys" in: "query" description: "Attribute Keys" required: true schema: type: "array" items: type: "string" - name: "values" in: "query" description: "Attribute Values" required: true schema: type: "array" items: type: "string" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /organisation/attachProfile: put: summary: "Attach a profile to an organisation" tags: - "organisation" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "orgid" in: "query" description: "Organisation ID" required: true schema: type: "integer" - name: "profileID" in: "query" description: "Profile ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /organisation/detachProfile: put: summary: "Detaches a profile from an organisation" tags: - "organisation" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "orgid" in: "query" description: "Organisation ID" required: true schema: type: "integer" - name: "profileID" in: "query" description: "Profile ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /allDeliveryMethods: get: summary: "Get all delivery methods" tags: - "misc" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" responses: 200: description: "Delivery Methods" content: application/json: schema: type: "array" description: "List of available Delivery Methods" items: $ref: "#/components/schemas/DeliveryMethod" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /userAttributes: get: summary: "Get a list of all user attributes" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" responses: 200: description: "User Attribute names" content: application/json: schema: type: "array" description: "List of available User Attributes" items: type: "string" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /allAuthenticationMethods: get: summary: "Get all authentication methods" tags: - "misc" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" responses: 200: description: "Authentication Methods" content: application/json: schema: type: "array" description: "List of available Authentication Methods" items: $ref: "#/components/schemas/AuthenticationMethod" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /allStatus: get: summary: "Get all status records" tags: - "misc" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" responses: 200: description: "Status" content: application/json: schema: type: "array" description: "List of available Status records" items: $ref: "#/components/schemas/Status" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /allStatusInfo: get: summary: "Get all statusinfo records" tags: - "misc" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" responses: 200: description: "Status Info" content: application/json: schema: type: "array" description: "List of available Status Info records" items: $ref: "#/components/schemas/StatusInfo" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /groupsByUser: get: summary: "Retrieves the groups a specific user is member of" tags: - "user" - "group" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "userid" in: "query" description: "UserID" required: true schema: type: "integer" responses: 200: description: "List of groups" content: application/json: schema: type: "array" description: "List of available Groups" items: $ref: "#/components/schemas/Group" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /profilesByUser: get: summary: "Retrieves the profiles a specific user is member of" tags: - "profile" - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "userid" in: "query" description: "UserID" required: true schema: type: "integer" responses: 200: description: "Profiles" content: application/json: schema: type: "array" description: "List of available Profiles" items: $ref: "#/components/schemas/Profile" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /groupsByProfile: get: summary: "Retrieves the groups attached to a specific profile" tags: - "group" - "profile" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "profileid" in: "query" description: "Profile ID" required: true schema: type: "integer" responses: 200: description: "List of groups" content: application/json: schema: type: "array" description: "List of available Groups" items: $ref: "#/components/schemas/Group" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /profilesByGroup: get: summary: "Retrieves the list of profiles that a group is attached to" tags: - "group" - "profile" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "groupid" in: "query" description: "Group ID" required: true schema: type: "integer" responses: 200: description: "List of profiles" content: application/json: schema: type: "array" description: "List of Profiles" items: $ref: "#/components/schemas/Profile" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /login/succeeded: post: summary: "Login succeeded, increases successful login counter" tags: - "misc" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "logonid" in: "query" description: "Logon ID" required: true schema: type: "string" - name: "method" in: "query" description: "Method ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /login/failed: post: summary: "Login failed, increases failed login counter" tags: - "misc" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "logonid" in: "query" description: "Logon ID" required: true schema: type: "string" - name: "method" in: "query" description: "Method ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /login/reset: post: summary: "Resets the number of invalid password attempts" tags: - "misc" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "logonid" in: "query" description: "Logon ID" required: true schema: type: "string" - name: "method" in: "query" description: "Method ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /user/status: patch: summary: "Updates user status" description: "Updates a users status and statusinfo - note that the status values\ \ are dynamic and the possible values are stored in the database." tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "userid" in: "query" description: "User ID" required: true schema: type: "integer" - name: "status" in: "query" description: "New User Status" required: true schema: type: "integer" - name: "statusinfo" in: "query" description: "Status info" required: true schema: type: "integer" responses: 200: description: "List of profiles" content: application/json: schema: type: "array" description: "List of Profiles" items: $ref: "#/components/schemas/Profile" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /challenge/status: patch: summary: "Updates challenge status" description: "Updates a challenge status and statusinfo - note that the status\ \ values are dynamic and the possible values are stored in the database." tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "logonid" in: "query" description: "Logon ID" required: true schema: type: "string" - name: "method" in: "query" description: "Method ID" required: true schema: type: "integer" - name: "status" in: "query" description: "New Challenge Status" required: true schema: type: "integer" responses: 200: description: "List of profiles" content: application/json: schema: type: "array" description: "List of Profiles" items: $ref: "#/components/schemas/Profile" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /challenge/authlevel: patch: summary: "Updates challenge authentication level" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "logonid" in: "query" description: "Logon ID" required: true schema: type: "string" - name: "method" in: "query" description: "Method ID" required: true schema: type: "integer" - name: "authlevel" in: "query" description: "New Authentication level" required: true schema: type: "integer" - name: "statusinfo" in: "query" description: "Status info ID" required: true schema: type: "integer" responses: 200: description: "List of profiles" content: application/json: schema: type: "array" description: "List of Profiles" items: $ref: "#/components/schemas/Profile" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /challenge: get: summary: "Gets a challenge for a user, using eitehr userid or logonid as key\ \ along with the method" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "userid" in: "query" description: "User ID" required: true schema: type: "integer" - name: "logonid" in: "query" description: "Logon ID" required: false schema: type: "string" - name: "method" in: "query" description: "Method ID" required: true schema: type: "integer" responses: 200: description: "Challenge" content: application/json: schema: $ref: "#/components/schemas/Challenge" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" put: summary: "Creates a new challenge" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "userid" in: "query" description: "User ID" required: true schema: type: "integer" - name: "logonid" in: "query" description: "Logon ID" required: true schema: type: "string" - name: "method" in: "query" description: "Method ID" required: true schema: type: "integer" - name: "credentials" in: "query" description: "Credentials" required: true schema: type: "string" format: "byte" - name: "authlevel" in: "query" description: "Authentication Level" required: false schema: type: "integer" - name: "deliverymethod" in: "query" description: "Delivery method ID - if specified, plugin for the delivery method\ \ is called to deliver the credentials - e.g. my mail, email or otherwise" required: false schema: type: "integer" responses: 201: description: "Created" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Deletes a challenge" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "logonid" in: "query" description: "Logon ID" required: true schema: type: "string" - name: "method" in: "query" description: "Method ID" required: true schema: type: "integer" responses: 201: description: "Deleted" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" patch: summary: "Updates a challenge" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "logonid" in: "query" description: "Logon ID" required: true schema: type: "string" - name: "method" in: "query" description: "Method ID" required: true schema: type: "integer" - name: "credentials" in: "query" description: "Credentials - either credentials and/or newlogonid must be provided" required: false schema: type: "string" format: "byte" - name: "newlogonid" in: "query" description: "New Logon ID - can be used to 'rename' a challenge logonid,\ \ fails if it already exists" required: false schema: type: "string" responses: 201: description: "Created" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /user/attribute: put: summary: "Updates user attributes" description: "Updates a users status and statusinfo - note that the status values\ \ are dynamic and the possible values are stored in the database." tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "userid" in: "query" description: "User ID" required: true schema: type: "integer" - name: "name" in: "query" description: "Attribute name" required: true schema: type: "string" - name: "value" in: "query" description: "Value of attribute" required: false schema: type: "string" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /user/profile: put: summary: "Attach a profile to a user" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "userid" in: "query" description: "User ID" required: true schema: type: "integer" - name: "profileid" in: "query" description: "Profile ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" delete: summary: "Detach a profile from a user" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "userid" in: "query" description: "User ID" required: true schema: type: "integer" - name: "profileid" in: "query" description: "Profile ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /user/organisation: put: summary: "Updates a users organisation ID" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "userid" in: "query" description: "User ID" required: true schema: type: "integer" - name: "orgid" in: "query" description: "Organisation ID" required: true schema: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /user/organisations: put: summary: "Updates a users organisation IDs" tags: - "user" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "userid" in: "query" description: "User ID" required: true schema: type: "integer" - name: "orgids" in: "query" description: "Organisation IDs" required: true schema: type: "array" items: type: "integer" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /user/organisation/profile/attach: put: summary: "Updates all users attached to an organisation to be attached to the\ \ given profile" tags: - "user" - "organisation" - "profile" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "orgid" in: "query" description: "Organisation ID" required: true schema: type: "integer" - name: "profile" in: "query" description: "Profile ID" required: true schema: type: "integer" - name: "existingprofile" in: "query" description: "Existing Profile ID - if specified, users must have this profile\ \ already in order to get the new profile attached to them" required: false schema: type: "integer" responses: 200: description: "OK" content: application/json: schema: description: "Number of profiles actually attached to users" type: "integer" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /user/organisation/profile/detach: put: summary: "Updates all users attached to an organisation to be detached from\ \ the given profile" tags: - "user" - "organisation" - "profile" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "orgid" in: "query" description: "Organisation ID" required: true schema: type: "integer" - name: "profile" in: "query" description: "Profile ID" required: true schema: type: "integer" - name: "timestamp" in: "query" description: "Only profiles attached after this timestamp will be detached" required: true schema: type: "string" format: "date-time" responses: 200: description: "OK" content: application/json: schema: description: "Number of profiles actually attached to users" type: "integer" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /revisionlog: post: summary: "Logs an entry in the revision log" tags: - "misc" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "text" in: "query" description: "Text to log" required: true schema: type: "string" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /auditlog: post: summary: "Logs an entry in the audit log for a user" tags: - "misc" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "userid" in: "query" description: "User ID" required: true schema: type: "integer" - name: "text" in: "query" description: "Text to log" required: true schema: type: "string" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /auditlog/wssecurity: post: summary: "Logs an entry in the WS-Security audit log" tags: - "misc" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "userid" in: "query" description: "User ID" required: true schema: type: "string" - name: "errortext" in: "query" description: "ErrorText to log" required: true schema: type: "string" - name: "errorcode" in: "query" description: "Error code" required: true schema: type: "string" - name: "xmltype" in: "query" description: "Type of XML being logged, e.g. 'Outgoing SOAP', 'Incoming SOAP',\ \ 'Outgoing XMLDSIG', 'Incoming XMLDSIG'" required: true schema: type: "string" - name: "xml" in: "query" description: "Actual XML to log" required: true schema: type: "string" responses: 201: description: "OK" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /search/initialChallenges: get: summary: "Searches for challenges with a specific authentication level which\ \ was created and never used" tags: - "search" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "authlevel" in: "query" description: "Authentication level" required: true schema: type: "integer" - name: "timestamp" in: "query" description: "Date / time" required: true schema: type: "string" format: "date-time" - name: "before" in: "query" description: "Before or after - set to true to search for dates before the\ \ timestamp, false to search for dates after" required: true schema: type: "boolean" responses: 200: description: "Challenges matching the criteria" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/Challenge" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /search/inactiveChallenges: get: summary: "Searches for challenges with a specific authentication level which\ \ have not logged on since a specific date" tags: - "search" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "authlevel" in: "query" description: "Authentication level" required: true schema: type: "integer" - name: "timestamp" in: "query" description: "Date / time" required: true schema: type: "string" format: "date-time" - name: "before" in: "query" description: "Before or after - set to true to search for dates before the\ \ timestamp, false to search for dates after" required: true schema: type: "boolean" responses: 200: description: "Challenges matching the criteria" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/Challenge" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /search/challenges: get: summary: "Searches for challenges with the specified logon ID pattern, and who\ \ is (optionally) member of the given group" tags: - "search" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "logonidPattern" in: "query" description: "Logon ID Pattern" required: true schema: type: "string" - name: "group" in: "query" description: "Group name" required: false schema: type: "string" - name: "maxresults" in: "query" description: "Maximum results to return" required: true schema: type: "integer" responses: 200: description: "Challenges matching the criteria" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/Challenge" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /search/userByAttribute: get: summary: "Searches for users by looking through the attribute table for the\ \ value of a single attribute" tags: - "search" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "key" in: "query" description: "Attribute key/name to lookup" required: true schema: type: "string" - name: "value" in: "query" description: "Value - wildcards are allowed (use % as wildcard)" required: false schema: type: "string" - name: "orgid" in: "query" description: "Organisation ID to search in, if not specified, all allowed\ \ organisations for the caller is searched" required: false schema: type: "integer" responses: 200: description: "Users matching the criteria" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/QuickUser" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /search/userByAttributes: get: summary: "Searches for users by a list of attributes and values" tags: - "search" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "keys" in: "query" description: "Attribute key/name to lookup" required: true schema: type: "array" items: $ref: "#/components/schemas/Key" - name: "values" in: "query" description: "Values" required: true schema: type: "array" items: type: "string" - name: "sortrow" in: "query" description: "Row to sort results after" required: false schema: type: "string" responses: 200: description: "Users matching the criteria" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/QuickUser" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /search/userByLogonid: get: summary: "Searches for users by logon ID" tags: - "search" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "logonid" in: "query" description: "Logon ID" required: true schema: type: "string" - name: "orgid" in: "query" description: "Organisation ID to search in, if not specified, all allowed\ \ organisations for the caller is searched" required: false schema: type: "integer" responses: 200: description: "Users matching the criteria" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/QuickUser" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" /search/organisations: get: summary: "Searches for organisations by their attached attributes" tags: - "search" parameters: - name: "session" in: "query" description: "Session ID" required: true schema: type: "string" - name: "keys" in: "query" description: "Attribute Keys" required: true schema: type: "array" items: type: "string" - name: "values" in: "query" description: "Attribute Values" required: true schema: type: "array" items: type: "string" - name: "sortrow" in: "query" description: "Row to sort results after" required: false schema: type: "string" responses: 200: description: "Organisations matching the criteria" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/Organisation" default: description: "unexpected error" content: application/json: schema: $ref: "#/components/schemas/Error" components: schemas: Key: type: "string" enum: - "organisation_id" - "organisation_ids" - "status" - "statusinfo" - "segmentid" - "firstname" - "lastname" - "title" - "coaddress" - "address1" - "address2" - "address3" - "address4" - "zipcode" - "city" - "country" - "email1" - "email2" - "phoneprivate" - "phonework" - "phonemobile" - "bestcontact" - "custid1" - "custid2" - "custid3" - "custid4" - "custid5" - "custid6" Group: properties: ID: type: "integer" description: "Group ID" name: type: "string" description: "Group Name" description: type: "string" description: "Description of group" minimumAuthenticationLevel: type: "integer" description: "Minimum authentication level required for this group" changedBy: type: "string" description: "Who changed this record" changedAt: type: "string" description: "When was this record last changed" createdBy: type: "string" description: "Who created this record" createdAt: type: "string" description: "When was this record last changed" Profile: properties: ID: type: "integer" description: "Profile ID" name: type: "string" description: "Profile Name" description: type: "string" description: "Description of profile" QuickUser: description: "A user record containing only basic attributes, not extends attributes,\ \ challenges etc." properties: id: type: "string" description: "User ID" organisation_id: type: "integer" description: "ID of organisation user belongs to, or 0 if no organisation" status: type: "integer" description: "User status" statusinfo: type: "integer" description: "More info about user status - e.g. if locked, it can contain\ \ the reason." successfulLogons: type: "integer" description: "Number of successful logons for this user" failedLogons: type: "integer" description: "Number of failed logons for this user" failedSinceLastSuccess: type: "integer" description: "Number of failed logons since last successful logon" locked: type: "boolean" description: "true if user is locked - note that locked users might be able\ \ to login depending on their status and the authentication plugins interpretation\ \ of it - e.g. the status might indicate a user is initial, in which case\ \ he can still login, but the locked flag will be set to true if status\ \ is > 0." custid1: type: "string" description: "Custom attribute 1" custid2: type: "string" description: "Custom attribute 2" custid3: type: "string" description: "Custom attribute 3" custid4: type: "string" description: "Custom attribute 4" custid5: type: "string" description: "Custom attribute 5" custid6: type: "string" description: "Custom attribute 6" bestcontact: type: "string" description: "Best time of contact" phonemobile: type: "string" description: "Mobile phone number" phonework: type: "string" description: "Work phone number" phoneprivate: type: "string" description: "Private phone number" email1: type: "string" description: "Primary email address" email2: type: "string" description: "Secondary email address" country: type: "string" description: "Country" User: properties: id: type: "string" description: "User ID" organisation_id: type: "integer" description: "ID of organisation user belongs to, or 0 if no organisation" status: type: "integer" description: "User status" statusinfo: type: "integer" description: "More info about user status - e.g. if locked, it can contain\ \ the reason." successfulLogons: type: "integer" description: "Number of successful logons for this user" failedLogons: type: "integer" description: "Number of failed logons for this user" failedSinceLastSuccess: type: "integer" description: "Number of failed logons since last successful logon" locked: type: "boolean" description: "true if user is locked - note that locked users might be able\ \ to login depending on their status and the authentication plugins interpretation\ \ of it - e.g. the status might indicate a user is initial, in which case\ \ he can still login, but the locked flag will be set to true if status\ \ is > 0." custid1: type: "string" description: "Custom attribute 1" custid2: type: "string" description: "Custom attribute 2" custid3: type: "string" description: "Custom attribute 3" custid4: type: "string" description: "Custom attribute 4" custid5: type: "string" description: "Custom attribute 5" custid6: type: "string" description: "Custom attribute 6" bestcontact: type: "string" description: "Best time of contact" phonemobile: type: "string" description: "Mobile phone number" phonework: type: "string" description: "Work phone number" phoneprivate: type: "string" description: "Private phone number" email1: type: "string" description: "Primary email address" email2: type: "string" description: "Secondary email address" country: type: "string" description: "Country" challenges: description: "Challenges which a user can identify herself with, this can\ \ be userid, password, OTP codes, TOTP secrets etc." type: "array" items: $ref: "#/components/schemas/Challenge" Challenge: description: "A Challenge describes how a user can identify herself, it can\ \ be e.g. userid and password, where the credentials is then often a hash\ \ of the real password" properties: authenticationMethodID: type: "integer" description: "ID of the authentication method this challenge is for" userID: type: "integer" description: "ID of the user record this challenge is attached to" isLocked: type: "boolean" description: "true if locked" firstLogin: type: "string" description: "The timestamp of the users first login using this challenge" lastLogin: type: "string" description: "The timestamp of the users last login using this challenge" creationDate: type: "string" description: "The timestamp of creation" logonID: type: "string" description: "LogonID, userid or username" credentials: type: "array" items: type: "number" format: "byte" description: "A byte array containing the credentials" status: type: "integer" description: "Status of challenge - or 0 for no status" failedAttempts: type: "integer" description: "Number of failed attempts to use this challenge" failedAttemptsSinceLastLogin: type: "integer" description: "Number of failed attempts to use this challenge since last\ \ successful login" successFullAttempts: type: "integer" description: "Number of completed logon attempts to use this challenge" authenticationLevel: type: "integer" description: "Normal authentication level for this challenge" customAuthenticationLevel: type: "integer" description: "Authentication level customized for this individual challenge/user" authenticationMethod: $ref: "#/components/schemas/AuthenticationMethod" changedBy: type: "string" description: "Who changed this record" changedAt: type: "string" description: "When was this record last changed" createdBy: type: "string" description: "Who created this record" createdAt: type: "string" description: "When was this record last changed" ACL: description: "Access Control List (ACL) Entry" properties: name: type: "string" description: "ACL Name" description: type: "string" description: "A description of the ACL" group: type: "array" description: "Groups attached to this ACL" items: $ref: "#/components/schemas/Group" users: type: "array" description: "Users attached directly to this ACL" items: $ref: "#/components/schemas/QuickUser" changedBy: type: "string" description: "Who changed this record" changedAt: type: "string" description: "When was this record last changed" createdBy: type: "string" description: "Who created this record" createdAt: type: "string" description: "When was this record last changed" Organisation: description: "Organisation Entry" properties: ID: type: "integer" parentID: type: "integer" description: "Parent Organisation ID" name: type: "string" description: "Organisation Name" description: type: "string" description: "Organisation Description" status: type: "integer" description: "Status ID" statusinfo: type: "integer" description: "Statusinfo ID" attributes: type: "array" description: "Optional attributes" items: $ref: "#/components/schemas/Attribute" changedBy: type: "string" description: "Who changed this record" changedAt: type: "string" description: "When was this record last changed" createdBy: type: "string" description: "Who created this record" createdAt: type: "string" description: "When was this record last changed" Attribute: description: "Organisation Entry" properties: key: type: "string" description: "Attribute key" value: type: "string" description: "Attribute value" changedBy: type: "string" description: "Who changed this record" changedAt: type: "string" description: "When was this record last changed" createdBy: type: "string" description: "Who created this record" createdAt: type: "string" description: "When was this record last changed" DeliveryMethod: description: "Delivery Method - identifies a type of credentials delivery" properties: deliveryID: description: "Delivery Method ID" type: "integer" methodID: type: "integer" description: "Authentication method ID" description: type: "string" description: "Description" authenticationLevel: type: "integer" description: "This returns the level that tied to this delivery method.\ \ If this method returns -1 the standard delivery method for. the tied\ \ authentication method applies." changedBy: type: "string" description: "Who changed this record" changedAt: type: "string" description: "When was this record last changed" createdBy: type: "string" description: "Who created this record" createdAt: type: "string" description: "When was this record last changed" AuthenticationMethod: description: "Authentication Method - identifies a type of authentication" properties: methodID: type: "integer" description: "Authentication method ID" name: type: "string" description: "Name" description: type: "string" description: "Description" authenticationLevel: type: "integer" description: "This returns the level that tied to this delivery method.\ \ If this method returns -1 the standard delivery method for. the tied\ \ authentication method applies." changedBy: type: "string" description: "Who changed this record" changedAt: type: "string" description: "When was this record last changed" createdBy: type: "string" description: "Who created this record" createdAt: type: "string" description: "When was this record last changed" Status: description: "Status record" properties: ID: type: "integer" description: "Status ID" name: type: "string" description: "Status Name" description: type: "string" description: "Status Description" changedBy: type: "string" description: "Who changed this record" changedAt: type: "string" description: "When was this record last changed" createdBy: type: "string" description: "Who created this record" createdAt: type: "string" description: "When was this record last changed" StatusInfo: description: "Status Info record" properties: ID: type: "integer" description: "StatusInfo ID" statusInfo: type: "string" description: "Status Info text" changedBy: type: "string" description: "Who changed this record" changedAt: type: "string" description: "When was this record last changed" createdBy: type: "string" description: "Who created this record" createdAt: type: "string" description: "When was this record last changed" Error: required: - "code" - "message" properties: code: type: "integer" format: "int32" message: type: "string"


  • No labels