Manage developer account users, permissions, and grants.
gpc users <subcommand> [options]Permission Propagation
Permission changes can take up to 48 hours to propagate across Google Play systems. All mutation commands display this warning.
Commands
| Command | Description |
|---|---|
users list | List all users in the developer account |
users get | Get user details |
users invite | Invite a user to the developer account |
users update | Update user permissions |
users remove | Remove a user from the developer account |
Developer Account ID
All user commands require a developer account ID. Provide it via:
--developer-id <id>flag on theusersparent commandGPC_DEVELOPER_IDenvironment variabledeveloperIdin.gpcrc.jsonconfig file
# Flag
gpc users list --developer-id 1234567890
# Environment variable
export GPC_DEVELOPER_ID=1234567890
gpc users list
# Config file
gpc config set developerId 1234567890
gpc users list2
3
4
5
6
7
8
9
10
users list
List all users in the developer account.
Synopsis
gpc users list [options]Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--developer-id | string | Developer account ID (on parent users command) | ||
--limit | number | Maximum total results | ||
--next-page | string | Unused: Google returns all users in one page |
Google Play does not paginate the users list: it returns every user in one response, so --limit trims that response and nextPageToken is always null. Versions before v0.9.98 did not ask Google for the full list, and users list and users get failed with Pagination is not currently available.
Example
gpc users list --developer-id 1234567890{
"users": [
{
"email": "admin@example.com",
"developerAccountPermissions": ["ADMIN"],
"name": "Admin User"
},
{
"email": "reviewer@example.com",
"developerAccountPermissions": ["CAN_REPLY_TO_REVIEWS"],
"grants": [
{
"packageName": "com.example.myapp",
"appLevelPermissions": ["CAN_MANAGE_PUBLIC_LISTING", "CAN_REPLY_TO_REVIEWS"]
}
]
}
],
"nextPageToken": null,
"meta": { "count": 2 }
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
List output shape (v0.9.83+)
list commands return a JSON envelope: items under their named key, a nextPageToken (null when there are no more pages), a meta.count, and a message when empty. Earlier versions returned a bare array — switch jq '.[]' to jq '.users[]'.
users get
Get detailed information about a specific user.
Synopsis
gpc users get <email>Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--developer-id | string | Developer account ID (on parent users command) |
Example
gpc users get reviewer@example.com --developer-id 1234567890users invite
Invite a new user to the developer account with specified permissions.
Synopsis
gpc users invite <email> [options]Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--developer-id | string | Developer account ID (on parent users command) | ||
--role | string[] | Developer-level permissions (space-separated) | ||
--grant | string[] | Per-app grants (format: com.example.app:PERM1,PERM2) |
Available developer-level permissions: ADMIN, CAN_VIEW_FINANCIAL_DATA, CAN_MANAGE_PERMISSIONS, CAN_REPLY_TO_REVIEWS, CAN_MANAGE_PUBLIC_LISTING, CAN_MANAGE_TRACK_USERS, CAN_MANAGE_TRACK_CONFIGURATION, CAN_VIEW_NON_FINANCIAL_DATA.
Example
Invite with developer-level roles:
gpc users invite user@example.com \
--developer-id 1234567890 \
--role ADMIN CAN_VIEW_FINANCIAL_DATA2
3
Invite with per-app grants:
gpc users invite user@example.com \
--developer-id 1234567890 \
--grant "com.example.myapp:CAN_MANAGE_PUBLIC_LISTING,CAN_REPLY_TO_REVIEWS"2
3
Invite with both roles and grants:
gpc users invite user@example.com \
--developer-id 1234567890 \
--role CAN_VIEW_FINANCIAL_DATA \
--grant "com.example.app1:CAN_MANAGE_PUBLIC_LISTING" \
--grant "com.example.app2:CAN_REPLY_TO_REVIEWS"2
3
4
5
Preview without sending:
gpc users invite user@example.com \
--developer-id 1234567890 \
--role ADMIN \
--dry-run2
3
4
users update
Update permissions for an existing user.
Synopsis
gpc users update <email> [options]Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--developer-id | string | Developer account ID (on parent users command) | ||
--role | string[] | Developer-level permissions (space-separated) | ||
--grant | string[] | Per-app grants (format: com.example.app:PERM1,PERM2) |
Example
Update developer-level permissions:
gpc users update user@example.com \
--developer-id 1234567890 \
--role CAN_VIEW_FINANCIAL_DATA CAN_REPLY_TO_REVIEWS2
3
Update per-app grants:
gpc users update user@example.com \
--developer-id 1234567890 \
--grant "com.example.myapp:CAN_MANAGE_PUBLIC_LISTING,CAN_MANAGE_TRACK_USERS"2
3
users remove
Remove a user from the developer account.
Synopsis
gpc users remove <email>Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--developer-id | string | Developer account ID (on parent users command) |
Example
gpc users remove user@example.com --developer-id 1234567890Preview without removing:
gpc users remove user@example.com --developer-id 1234567890 --dry-run