Users

Roles

There are 4 roles for any given project:owner, editor, viewer, developer and client. The following table describes the actions that can be performed by each role for a particular project:

owner editor viewer developer client
Assign Project Roles X
Revoke Project Roles X
Update Project Roles X
View Project Roles X X X X
Update Project X X
Delete Project X
View Project X X X X
Create Locales X X
Update Locales X X
Delete Locales X X
View Locales X X X X
Manage API Clients X X
Export Locales X X X X X

Registration

Don't forget that all endpoints on this document do not include the API prefix for simplicity. In other words, if your endpoint is /users then the full URL should be: https://host:port/api/v1/users

POST /users/register

Parameters (JSON)

Name Type Description
name string The user's name.
email string The user's email.
password string The user's password, must be at least 8 characters long.

Example

{
    "name": "Mr. Example",
    "email": "example@domain.com",
    "password": "myterriblepassword"
}

Response

{
  "meta": {
    "status": 201
  },
  "payload": {
    "id": "c77853d5-88c9-4bbd-96cc-42b7f6cad6ab",
    "name": "Mr. Example",
    "email": "example@domain.com"
  }
}

Get details

Get the details for the user enclosed in the current token:

GET /users/self

Parameters (query string)

Name Type Description
include string Include more user related information. Available values are projectRoles and projectGrants.

Example

GET /users/self?include=projectGrants

Response

{
  "meta": {
    "status": 200
  },
  "payload": {
    "id": "c77853d5-88c9-4bbd-96cc-42b7f6cad6ab",
    "name": "Mr. Example",
    "email": "example@domain.com",
    "projectGrants": {
      "100c03f8-d4ef-4a82-86a0-2543edf0fd64": [
        "CanAssignProjectRoles",
        "CanRevokeProjectRoles",
        "CanUpdateProjectRoles",
        "CanViewProjectRoles",
        "CanUpdateProject",
        "CanDeleteProject",
        "CanViewProject",
        "CanCreateLocales",
        "CanUpdateLocales",
        "CanDeleteLocales",
        "CanViewLocales",
        "CanManageAPIClients",
        "CanExportLocales"
      ]
    }
  }
}

Update a user's name

PATCH /users/self/name

Parameters (JSON)

Name Type Description
userId string The user's UUID.
name string The new name.

Example

{
    "userId": "c77853d5-88c9-4bbd-96cc-42b7f6cad6ab",
    "name": "Max"
}

Response

{
  "meta": {
    "status": 200
  },
  "payload": {
    "id": "c77853d5-88c9-4bbd-96cc-42b7f6cad6ab",
    "name": "Max",
    "email": "example@domain.com"
  }
}

Update a user's email

PATCH /users/self/email

Parameters (JSON)

Name Type Description
userId string The user's UUID.
email string The new email.

Example

{
    "userId": "c77853d5-88c9-4bbd-96cc-42b7f6cad6ab",
    "email": "max@example.com"
}

Response

{
  "meta": {
    "status": 200
  },
  "payload": {
    "id": "c77853d5-88c9-4bbd-96cc-42b7f6cad6ab",
    "name": "Max",
    "email": "max@example.com"
  }
}

Update a user's password

PATCH /users/self/password

Parameters (JSON)

Name Type Description
userId string The user's UUID.
oldPassword string The old password.
newPassword string The new password.

Example

{
    "userId": "c77853d5-88c9-4bbd-96cc-42b7f6cad6ab",
    "oldPassword": "myterriblepassword",
    "newPassword": "mystillterriblepassword"
}

Response

{
  "meta": {
    "status": 200
  },
  "payload": {
    "id": "c77853d5-88c9-4bbd-96cc-42b7f6cad6ab",
    "name": "Max",
    "email": "max@example.com"
  }
}

results matching ""

    No results matching ""