For documentation on the current version, please check Knowledge Base.
3DM Publisher Admin API - User Management
This page describes the user management API's for 3DM Publisher.
Please familiarize yourself with the basics first before continuing.
Model: User
A User models a well-known user of the server.
Properties:
| Property | Required | Type | Description |
|---|---|---|---|
| id | * | number | Unique identifier. |
| username | * | number | Unique name of the user. |
| number | E-mail address of the user. | ||
| first_name | number | First name of the user. | |
| last_name | number | Last name of the user. | |
| description | number | Description of the user. | |
| passwordForceChange | boolean | User is required to set a new password on first login? | |
| passwordLastModified | number | Unix timestamp that was updated on the last password update of the user. |
Model: Usergroup
A Usergroup is a list of users.
Properties:
| Property | Required | Type | Description |
|---|---|---|---|
| id | * | number | Unique identifier. |
| name | * | number | Name of the group. |
| type | team (default) | Type of the group. | |
| user | User[] | The list of users that are in this group. Defines a user reference only (an object with only the id field set) |
Operation: List Users
Discussion
This operation retrieves all users.
Request
GET /api/3/user
Response (http 200)
[ { "id": 28, "username": "test", "email": "test@company.com", "first_name": "Test", "last_name": "User", "password": "test123", "description": "Test user" "language": "english", "preferences": "{}", "description": "Supportl", "passwordLastModified": 1651217754682 }, ... ]
Operation: Create User
Discussion
This operation creates a new user account.
The password can be provided in plain text using the password field.
Fields: Model: User
Request
POST /api/3/user
{ "username": "test", "email": "test@company.com", "first_name": "Test", "last_name": "User", "password": "test123", "passwordForceChange": true, "description": "Test user" }
Response (http 200)
{ "id": 28, "email": "test@company.com", "username": "test", "first_name": "Test", "last_name": "User", "language": "english", "preferences": "{}", "password": "ecd71870d1963316a97e3ac3408c9835ad8cf0f3c1bc703527c30265534f75ae", "description": "Test user", "passwordForceChange": true, "passwordLastModified": 1753874442231 }
Response (http 400)
{ "code": "field_not_unique", "message": "Uniqueness check failed: Another item with this name value 'test' already exists.", }
Operation: Update User
Discussion
The following fields can be updated:
- username
- email
- first_name
- last_name
- description
- password
- passwordForceChange
Fields: see Model: User
Request
POST /api/3/user/123
{ "first_name": "John" }
Response (http 204)
No content
Operation: Delete User
Discussion
This operation deletes an existing user account.
- Usergroup memberships of the user are removed.
- Publication permissions for the user are removed.
- Publication user bookmarks for the user are removed.
Request
DELETE /api/3/user/123
Response (http 204)
No content
Response (http 404)
{ "code": "not_found", "message": "Delete failed: An item with this id does not exist." }
Operation: List Usergroups
Discussion
This operation retrieves all usergroups.
- Users in each group are also returned, but only with the
idfield filled in.
Request
GET /api/3/usergroup
Response (http 200)
[ { "id": 4, "name": "TestGroup", "description": "description", "type": "team", "user": [ { "id": 20 } ] }, ... ]
Operation: Create Usergroup
Discussion
This operation creates a new usergroup.
Fields: Model: User Group Fields: Model: User
Request
POST /api/3/usergroup
{ "name": "TestGroup", "description": "description", "type": "team", "user": [ { "id": 20 } ] }
Response (http 200)
{ "id": 4, "name": "TestGroup", "description": "description", "type": "team", "user": [ { "id": 20 } ] }
Response (http 400)
{ "code": "field_not_unique", "message": "Uniqueness check failed: Another item with this name value 'TestGroup' already exists.", }
Operation: Update Usergroup
Discussion
The following fields can be updated:
- name
- description
- user
Fields: Model: Usergroup
Fields: Model: User
Request
POST /api/3/usergroup/123
{ "name": "Users2", "user": [ { "id": 22 } ] }
Response (http 204)
No content
Operation: Delete Usergroup
Discussion
This operation deletes an existing usergroup.
- Only the usergroup is deleted, not the users in it.
- Publication permissions for the usergroup are removed.
Request
DELETE /api/3/usergroup/123
Response (http 204)
No content
Response (http 404)
{ "code": "not_found", "message": "Delete failed: An item with this id does not exist." }