Skip to content

Change a collaborator's role

PATCH
/v1/apps/{appName}/collaborators/{email}
curl --request PATCH \
--url https://api.aetherpush.com/v1/apps/example/collaborators/hello%40example.com \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "permission": "Viewer" }'

Updates the role of an existing collaborator. Requires the collaborators.manage permission (Owner or Admin). The owner’s role cannot be changed here; use an ownership transfer instead.

appName
required
string
email
required
string format: email
Media typeapplication/json
object
permission
required

New role for the collaborator. The owner’s role can only change through an ownership transfer.

string
Allowed values: Admin Developer Viewer
Example
{
"permission": "Viewer"
}

Role updated.

Invalid email parameter or non-assignable role.

Media typeapplication/json
object
error
required

Human-readable error message.

string
requestId

Unique identifier for the request, also exposed as the X-Request-Id response header.

string
Example
{
"error": "The requested resource was not found.",
"requestId": "req_abc123"
}

Insufficient permissions (collaborators.manage required).

Media typeapplication/json
object
error
required

Human-readable error message.

string
requestId

Unique identifier for the request, also exposed as the X-Request-Id response header.

string
Example
{
"error": "The requested resource was not found.",
"requestId": "req_abc123"
}

App not found, or target email is not a collaborator.

Media typeapplication/json
object
error
required

Human-readable error message.

string
requestId

Unique identifier for the request, also exposed as the X-Request-Id response header.

string
Example
{
"error": "The requested resource was not found.",
"requestId": "req_abc123"
}

The target is the owner, whose role can only change through an ownership transfer.

Media typeapplication/json
object
error
required

Human-readable error message.

string
requestId

Unique identifier for the request, also exposed as the X-Request-Id response header.

string
Example
{
"error": "The requested resource was not found.",
"requestId": "req_abc123"
}