# IRPCServerAdmin.JoinSubscriptionTest

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Administration API](https://developer.m-files.com/APIs/gRPC-API/admin/index.md) > [Server administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerAdmin/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerAdmin/JoinSubscriptionTest/

Badges: `Administration API / specialized` `admin` `session` `idempotent`

Checks whether the server could join an M-Files Manage subscription, and lists the vaults that
would prevent it.

- **Service:** [Server administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerAdmin/index.md) `MFiles.IRPCServerAdmin`
- **gRPC method:** `/MFiles.IRPCServerAdmin/JoinSubscriptionTest`
- **HTTP (mf-http-grpc):** `POST /grpc/v1/join-subscription-test`
- **Request:** [`JoinSubscriptionTestRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerAdmin/JoinSubscriptionTest/index.md#request)
- **Response:** [`JoinSubscriptionTestResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerAdmin/JoinSubscriptionTest/index.md#response)
- **Book and level:** Administration API, specialized
- **Kind:** admin
- **Session:** Required: the session ID from LogIn in the mfiles-session-id-bin metadata.
- **Idempotent:** yes
- **Returns metadata structure version:** no
- **Streaming:** none (unary)

<a id="remarks"></a>

## Remarks

- Does not join; use [JoinSubscription](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerAdmin/JoinSubscription/index.md) for that.
- Requires the system administrator server role (server rights `edit_server_properties`,
  `manage_logins` and `shutdown`).
- Fails with "Access denied." if the server already uses M-Files Manage.
- If M-Files Manage does not recognize the test request, the call succeeds with empty lists.

<a id="request"></a>

## Request: JoinSubscriptionTestRequest

A structure that specifies join subscription test request.

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `token` | `string` | The access token from M-Files Manage that authorizes joining. |
| `subscription_id` | `string` | The ID of the subscription to test. |

<a id="response"></a>

## Response: JoinSubscriptionTestResponse

A structure that specifies join subscription test response.

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `preventing_vaults[]` | repeated [`VaultBasic`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.VaultBasic/index.md) | Array of already attached vaults. |
| `preventing_vaults[].guid` | `string` | The vault GUID, in braces and upper case. Use it as `LoginData.vault_guid`. |
| `preventing_vaults[].display_name` | `string` | The vault name shown to users. |
| `preventing_vaults[].tooltip` | `string` | Optional description. Often empty. |
| `preventing_vaults[].icon` | `bytes` | The vault icon in .ico format, or empty. |
| `preventing_vaults[].dns_names` | [`StringArray`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.StringArray/index.md) | Host names configured for the vault, if any. |
| `preventing_vaults[].dns_names.value[]` | repeated `string` | String values. |
| `foreign_vaults[]` | repeated [`VaultBasic`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.VaultBasic/index.md) | Array of vaults with reserved GUID in another subscription. |
| `foreign_vaults[].guid` | `string` | The vault GUID, in braces and upper case. Use it as `LoginData.vault_guid`. |
| `foreign_vaults[].display_name` | `string` | The vault name shown to users. |
| `foreign_vaults[].tooltip` | `string` | Optional description. Often empty. |
| `foreign_vaults[].icon` | `bytes` | The vault icon in .ico format, or empty. |
| `foreign_vaults[].dns_names` | [`StringArray`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.StringArray/index.md) | Host names configured for the vault, if any. |
| `foreign_vaults[].dns_names.value[]` | repeated `string` | String values. |

<a id="related"></a>

## Related methods

- [JoinSubscription](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerAdmin/JoinSubscription/index.md): Joins the server to an M-Files Manage subscription.
