- [Resource: User](https://developers.google.com/android-publisher/api-ref/rest/v3/users#User)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/users#User.SCHEMA_REPRESENTATION)
- [AccessState](https://developers.google.com/android-publisher/api-ref/rest/v3/users#AccessState)
- [DeveloperLevelPermission](https://developers.google.com/android-publisher/api-ref/rest/v3/users#DeveloperLevelPermission)
- [Methods](https://developers.google.com/android-publisher/api-ref/rest/v3/users#METHODS_SUMMARY)

## Resource: User

A user resource.

| JSON representation |
|---|
| ``` { "name": string, "email": string, "accessState": enum (`https://developers.google.com/android-publisher/api-ref/rest/v3/users#AccessState`), "expirationTime": string, "partial": boolean, "developerAccountPermissions": [ enum (`https://developers.google.com/android-publisher/api-ref/rest/v3/users#DeveloperLevelPermission`) ], "grants": [ { object (`https://developers.google.com/android-publisher/api-ref/rest/v3/grants#Grant`) } ] } ``` |

| Fields ||
|---|---|
| `name` | `string` Required. Resource name for this user, following the pattern "developers/{developer}/users/{email}". |
| `email` | `string` Immutable. The user's email address. |
| `accessState` | ``enum (`https://developers.google.com/android-publisher/api-ref/rest/v3/users#AccessState`)`` Output only. The state of the user's access to the Play Console. |
| `expirationTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` The time at which the user's access expires, if set. When setting this value, it must always be in the future. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| `partial` | `boolean` Output only. Whether there are more permissions for the user that are not represented here. This can happen if the caller does not have permission to manage all apps in the account. This is also `true` if this user is the account owner. If this field is `true`, it should be taken as a signal that this user cannot be fully managed via the API. That is, the API caller is not be able to manage all of the permissions this user holds, either because it doesn't know about them or because the user is the account owner. |
| `developerAccountPermissions[]` | ``enum (`https://developers.google.com/android-publisher/api-ref/rest/v3/users#DeveloperLevelPermission`)`` Permissions for the user which apply across the developer account. |
| `grants[]` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/grants#Grant`)`` Output only. Per-app permissions for the user. |

## AccessState

The status of a user's access to a developer account.

| Enums ||
|---|---|
| `ACCESS_STATE_UNSPECIFIED` | Unknown or unspecified access state. |
| `INVITED` | User is invited but has not yet accepted the invitation. |
| `INVITATION_EXPIRED` | Invitation has expired. |
| `ACCESS_GRANTED` | User has accepted an invitation and has access to the Play Console. |
| `ACCESS_EXPIRED` | Account access has expired. |

## DeveloperLevelPermission

A permission granted at the developer account level. Note: Permission changes may take up to 48 hours to propagate.

| Enums ||
|---|---|
| `DEVELOPER_LEVEL_PERMISSION_UNSPECIFIED` | Unknown or unspecified permission. |
| `CAN_SEE_ALL_APPS` | View app information and download bulk reports (read-only). Deprecated: Check CAN_VIEW_NON_FINANCIAL_DATA_GLOBAL. > [!WARNING] > This item is deprecated! |
| `CAN_VIEW_FINANCIAL_DATA_GLOBAL` | View financial data, orders, and cancellation survey responses. |
| `CAN_MANAGE_PERMISSIONS_GLOBAL` | Admin (all permissions). |
| `CAN_EDIT_GAMES_GLOBAL` | Edit Play Games Services projects. |
| `CAN_PUBLISH_GAMES_GLOBAL` | Publish Play Games Services projects. |
| `CAN_REPLY_TO_REVIEWS_GLOBAL` | reviews.reply to reviews. |
| `CAN_MANAGE_PUBLIC_APKS_GLOBAL` | Release to production, exclude devices, and use app signing by Google Play. |
| `CAN_MANAGE_TRACK_APKS_GLOBAL` | Release to testing tracks. |
| `CAN_MANAGE_TRACK_USERS_GLOBAL` | Manage testing tracks and edit tester lists. |
| `CAN_MANAGE_PUBLIC_LISTING_GLOBAL` | Manage store presence. |
| `CAN_MANAGE_DRAFT_APPS_GLOBAL` | Create, edit, and delete draft apps. |
| `CAN_CREATE_MANAGED_PLAY_APPS_GLOBAL` | Create and publish private apps to your organization. |
| `CAN_CHANGE_MANAGED_PLAY_SETTING_GLOBAL` | Choose whether apps are public, or only available to your organization. |
| `CAN_MANAGE_ORDERS_GLOBAL` | Manage orders and subscriptions. |
| `CAN_MANAGE_APP_CONTENT_GLOBAL` | Manage policy related pages on all apps for the developer. |
| `CAN_VIEW_NON_FINANCIAL_DATA_GLOBAL` | View app information and download bulk reports (read-only). |
| `CAN_VIEW_APP_QUALITY_GLOBAL` | View app quality information for all apps for the developer. |
| `CAN_MANAGE_DEEPLINKS_GLOBAL` | Manage the deep links setup for all apps for the developer. |
| `CAN_VIEW_CONNECTED_APPS_GLOBAL` | Allows viewing connected apps in the Google Play Console. |
| `CAN_EDIT_CONNECTED_APPS_GLOBAL` | Allows editing connected apps in the Google Play Console. |

| ## Methods ||
|---|---|
| ### `https://developers.google.com/android-publisher/api-ref/rest/v3/users/create` | Grant access for a user to the given developer account. |
| ### `https://developers.google.com/android-publisher/api-ref/rest/v3/users/delete` | Removes all access for the user to the given developer account. |
| ### `https://developers.google.com/android-publisher/api-ref/rest/v3/users/list` | Lists all users with access to a developer account. |
| ### `https://developers.google.com/android-publisher/api-ref/rest/v3/users/patch` | Updates access for the user to the developer account. |

## Error codes

The operations of this resource, return the following HTTP error codes:

| Error code | Reason | Description | Resolution |
|---|---|---|---|