# Shared Resources Open API

Manage shared resources (proxies, groups, and tags) through the MoreLogin Open API.

**Base URL**: `https://api.morelogin.com`

Authentication is done via OAuth2 Bearer token. See [Authentication](../Getting%20Started/authentication.md) for details.


Version: 2026-09-05

## Servers

MoreLogin open api endpoint
```
https://api.morelogin.com
```

## Security

### Authorization

[object Object]

Type: http
Scheme: bearer
Bearer Format: JWT

## Download OpenAPI description

 - [Shared Resources Open API](https://guide.morelogin.com/_bundle/API%20Reference/Shared%20Resources/open-api.yaml)

## Proxy Management

 - [POST /proxyInfo/page](https://guide.morelogin.com/api-reference/shared-resources/open-api/proxy-management/queryproxyinfopageusingpost.md): List the team's proxy configurations, page by page. - **Effect**: none. Read-only. Safe to retry with bounded backoff. - **Note**: passwords are withheld from ordinary members and for cloud and dynami
 - [POST /proxyInfo/add](https://guide.morelogin.com/api-reference/shared-resources/open-api/proxy-management/addusingpost.md): Create a proxy configuration in the team. - **Preconditions**: `proxyPort` is required and must be 1–65535, and `proxyProvider` must be a recognised provider. - **Effect**: inserts a proxy record and
 - [POST /proxyInfo/update](https://guide.morelogin.com/api-reference/shared-resources/open-api/proxy-management/updateproxyusingpost.md): Update a proxy configuration. - **Preconditions**: the proxy must exist in the team. **Dynamic proxies cannot be updated** through this endpoint. The provider must be a recognised value. - **Effect**:
 - [POST /proxyInfo/delete](https://guide.morelogin.com/api-reference/shared-resources/open-api/proxy-management/deleteproxyusingpost.md): Delete one or more proxy configurations. - **Preconditions**: at least one id must resolve within the team; ids that do not are ignored silently. **An unexpired cloud-platform proxy cannot be deleted*
## Group Management

 - [POST /envgroup/page](https://guide.morelogin.com/api-reference/shared-resources/open-api/group-management/envgrouppagepost.md): List profile groups, page by page. - **Effect**: none. Read-only. Safe to retry with bounded backoff. - **Note**: when the team authorizes access per group, a member who has no group grants receives a
 - [POST /envgroup/edit](https://guide.morelogin.com/api-reference/shared-resources/open-api/group-management/envgroupeditpost.md): Rename a profile group. - **Preconditions**: the group must exist in the team, the caller must be authorized for it, and the new name must not collide with another group. The uniqueness check only run
 - [POST /envgroup/create](https://guide.morelogin.com/api-reference/shared-resources/open-api/group-management/envgroupcreatepost.md): Create a profile group. - **Preconditions**: the name must be non-empty, at most 100 characters, and not already used by a group in the team. **A team is limited to 1000 groups.** - **Effect**: create
 - [POST /envgroup/delete](https://guide.morelogin.com/api-reference/shared-resources/open-api/group-management/envgroupdeletepost.md): Delete one or more profile groups. - **Preconditions**: at least one id must resolve within the team and the caller must be authorized for it; ids that do not resolve are ignored silently. - **Effect*
## Tag Management

 - [GET /envtag/all](https://guide.morelogin.com/api-reference/shared-resources/open-api/tag-management/envtagallget.md): Return every profile tag in the team. - **Effect**: none. Read-only. Safe to retry with bounded backoff. - **Note**: this endpoint is **not paginated and tags have no server-side limit**, so the respo
 - [POST /envtag/create](https://guide.morelogin.com/api-reference/shared-resources/open-api/tag-management/envtagcreatepost.md): Create a profile tag. - **Preconditions**: the name must be non-empty, at most 100 characters, and not already used by a tag in the team. - **Effect**: creates the tag and returns its id. Unlike group
 - [POST /envtag/edit](https://guide.morelogin.com/api-reference/shared-resources/open-api/tag-management/envtageditpost.md): Rename a profile tag. - **Preconditions**: the tag must exist in the team, and the new name must not collide with another tag. - **Effect**: renames the tag. Existing tag assignments are unaffected an
 - [POST /envtag/delete](https://guide.morelogin.com/api-reference/shared-resources/open-api/tag-management/envtagdeletepost.md): Delete one or more profile tags. - **Preconditions**: at least one id must resolve within the team; ids that do not are ignored silently. - **Effect**: deletes the tags. The tag disappears from every
## Webhook Management

 - [POST /webhook/config](https://guide.morelogin.com/api-reference/shared-resources/open-api/webhook-management/webhookconfigpost.md): Create or replace the team's webhook configuration. - **Preconditions**: `callbackUrl` must be an HTTPS URL of 1 to 1024 characters, with a host, no user info, no fragment and a valid port. Every addr
 - [POST cloud_phone.power_on](https://guide.morelogin.com/api-reference/shared-resources/open-api/webhook-management/webhookcloudphonepoweron.md): Sent once a power-on reached its final result. `success` is `true` only when the provider callback succeeded and the local synchronisation committed. A billing failure, or an asynchronous proxy check
 - [POST cloud_phone.power_off](https://guide.morelogin.com/api-reference/shared-resources/open-api/webhook-management/webhookcloudphonepoweroff.md): Sent when a shutdown succeeded. A failed shutdown does not produce this event, so `result.success` is always `true` here. `data.reason` records why the phone stopped.
 - [POST cloud_phone.restart](https://guide.morelogin.com/api-reference/shared-resources/open-api/webhook-management/webhookcloudphonerestart.md): Sent once a restart reached its final result. `success` is `true` only when the provider callback succeeded and the local synchronisation committed.
 - [POST cloud_phone.reset](https://guide.morelogin.com/api-reference/shared-resources/open-api/webhook-management/webhookcloudphonereset.md): Sent once a reset reached its final result. `success` is `true` only when the provider callback succeeded and the local synchronisation committed.
 - [POST cloud_phone.new_machine](https://guide.morelogin.com/api-reference/shared-resources/open-api/webhook-management/webhookcloudphonenewmachine.md): Sent once a one-click new machine operation reached its final result. `success` is `true` only when the provider callback succeeded and the local synchronisation committed.
 - [POST cloud_browser.start](https://guide.morelogin.com/api-reference/shared-resources/open-api/webhook-management/webhookcloudbrowserstart.md): Sent once a cloud browser start reached its final result.
 - [POST cloud_browser.stop](https://guide.morelogin.com/api-reference/shared-resources/open-api/webhook-management/webhookcloudbrowserstop.md): Sent for every cloud browser stop attempt, successful or not. Reaching the stop-failed state is itself a failed result for that attempt; a later manual retry or forced release counts as a new operatio
