UserResource Resource

Resource to get Users. The list of users returned will always be filtered by user permission: A user may only see users that are members of the same groups or subgroups of the groups, the user is member of

GET /user/me

Get the current user (me) By default, the user's groups are not returned.

Request Parameters
name type description default constraints
groups query Whether to list the user's groups false boolean
Response Body
media type data type description
application/json UserLoadResponse (JSON) current user

Example

Request
GET /user/me
Accept: application/json

              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "user" : {
    "id" : 12345,
    "firstName" : "...",
    "lastName" : "...",
    "description" : "...",
    "email" : "...",
    "groups" : [ {
      "id" : 12345,
      "name" : "...",
      "description" : "...",
      "children" : [ { }, { } ]
    }, {
      "id" : 12345,
      "name" : "...",
      "description" : "...",
      "children" : [ { }, { } ]
    } ],
    "login" : "...",
    "password" : "..."
  },
  "messages" : [ {
    "fieldName" : "...",
    "message" : "...",
    "type" : "INFO",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  }, {
    "fieldName" : "...",
    "message" : "...",
    "type" : "INFO",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  } ],
  "responseInfo" : {
    "responseCode" : "FAILURE",
    "responseMessage" : "...",
    "property" : "..."
  }
}
                
              

GET /user/list

Get a list of users, optionally filtered, sorted and paged

Request Parameters
name type description default constraints multivalued
email query email string(s) for filtering     yes
firstname query firstname string(s) for filtering     yes
group query group id(s) for filtering   int yes
groups query true to add groups to the users, false (default) otherwise false boolean no
id query id(s) for filtering   int yes
lastname query lastname string(s) for filtering     yes
login query login string(s) for filtering     yes
maxItems query maximum number of elements returned (paging) -1 int no
search query additionally search in users logins, firstNames, lastNames and emails     no
skipCount query number of elements to be skipped (paging) 0 int no
sortby query name of an attribute to sort   "email" or "firstname" or "id" or "lastname" or "login" no
sortorder query sort order asc "ASC" or "DESC" or "NONE" or "asc" or "desc" or "none" no
Response Body
media type data type description
application/json UserListResponse (JSON) list of users

Example

Request
GET /user/list
Accept: application/json

              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "users" : [ {
    "id" : 12345,
    "firstName" : "...",
    "lastName" : "...",
    "description" : "...",
    "email" : "...",
    "groups" : [ {
      "id" : 12345,
      "name" : "...",
      "description" : "...",
      "children" : [ { }, { } ]
    }, {
      "id" : 12345,
      "name" : "...",
      "description" : "...",
      "children" : [ { }, { } ]
    } ],
    "login" : "...",
    "password" : "..."
  }, {
    "id" : 12345,
    "firstName" : "...",
    "lastName" : "...",
    "description" : "...",
    "email" : "...",
    "groups" : [ {
      "id" : 12345,
      "name" : "...",
      "description" : "...",
      "children" : [ { }, { } ]
    }, {
      "id" : 12345,
      "name" : "...",
      "description" : "...",
      "children" : [ { }, { } ]
    } ],
    "login" : "...",
    "password" : "..."
  } ],
  "messages" : [ {
    "fieldName" : "...",
    "message" : "...",
    "type" : "SUCCESS",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  }, {
    "fieldName" : "...",
    "message" : "...",
    "type" : "SUCCESS",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  } ],
  "responseInfo" : {
    "responseCode" : "NOTLICENSED",
    "responseMessage" : "...",
    "property" : "..."
  }
}
                
              

POST /user/save/{id}

Saves the user into GCN.

Request Parameters
name type description constraints
id path Id of the user to save. int
Request Body
media type data type description
application/json UserSaveRequest (JSON) user save request
Response Body
media type data type description
application/json GenericResponse (JSON) GenericResponse

Example

Request
POST /user/save/{id}
Content-Type: application/json
Accept: application/json

                
{
  "user" : {
    "id" : 12345,
    "firstName" : "...",
    "lastName" : "...",
    "description" : "...",
    "email" : "...",
    "groups" : [ {
      "id" : 12345,
      "name" : "...",
      "description" : "...",
      "children" : [ { }, { } ]
    }, {
      "id" : 12345,
      "name" : "...",
      "description" : "...",
      "children" : [ { }, { } ]
    } ],
    "login" : "...",
    "password" : "..."
  }
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "messages" : [ {
    "fieldName" : "...",
    "message" : "...",
    "type" : "NEUTRAL",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  }, {
    "fieldName" : "...",
    "message" : "...",
    "type" : "NEUTRAL",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  } ],
  "responseInfo" : {
    "responseCode" : "AUTHREQUIRED",
    "responseMessage" : "...",
    "property" : "..."
  }
}
                
              

POST /user/me/data/{key}

Save user data for the given key

Request Parameters
name type description
key path key of the user data to save
Request Body
media type data type description
application/json object (JSON) user data in JSON format
Response Body
media type data type description
application/json GenericResponse (JSON) Generic response

Example

Request
POST /user/me/data/{key}
Content-Type: application/json
Accept: application/json

                
...
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "messages" : [ {
    "fieldName" : "...",
    "message" : "...",
    "type" : "SUCCESS",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  }, {
    "fieldName" : "...",
    "message" : "...",
    "type" : "WARNING",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  } ],
  "responseInfo" : {
    "responseCode" : "OK",
    "responseMessage" : "...",
    "property" : "..."
  }
}
                
              

GET /user/me/data/{key}

Get user data for the given key

Request Parameters
name type description
key path key of the user data
Response Body
media type data type description
application/json UserDataResponse (JSON) Response containing the value

Example

Request
GET /user/me/data/{key}
Accept: application/json

              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "data" : { },
  "messages" : [ {
    "fieldName" : "...",
    "message" : "...",
    "type" : "SUCCESS",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  }, {
    "fieldName" : "...",
    "message" : "...",
    "type" : "SUCCESS",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  } ],
  "responseInfo" : {
    "responseCode" : "NOTFOUND",
    "responseMessage" : "...",
    "property" : "..."
  }
}
                
              

DELETE /user/me/data/{key}

Delete the user data for the given key

Request Parameters
name type description
key path key of the user data
Response Body
media type data type description
application/json GenericResponse (JSON) Generic response

Example

Request
DELETE /user/me/data/{key}
Accept: application/json

              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "messages" : [ {
    "fieldName" : "...",
    "message" : "...",
    "type" : "SUCCESS",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  }, {
    "fieldName" : "...",
    "message" : "...",
    "type" : "SUCCESS",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  } ],
  "responseInfo" : {
    "responseCode" : "OK",
    "responseMessage" : "...",
    "property" : "..."
  }
}
                
              

GET /user/me/data

Get complete user data

Response Body
media type data type description
application/json UserDataResponse (JSON) Response containing the complete user data

Example

Request
GET /user/me/data
Accept: application/json

              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "data" : { },
  "messages" : [ {
    "fieldName" : "...",
    "message" : "...",
    "type" : "CRITICAL",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  }, {
    "fieldName" : "...",
    "message" : "...",
    "type" : "WARNING",
    "timestamp" : 12345,
    "image" : "...",
    "sender" : {
      "id" : 12345,
      "firstName" : "...",
      "lastName" : "...",
      "description" : "...",
      "email" : "...",
      "groups" : [ { }, { } ],
      "login" : "...",
      "password" : "..."
    },
    "id" : 12345
  } ],
  "responseInfo" : {
    "responseCode" : "OK",
    "responseMessage" : "...",
    "property" : "..."
  }
}