> ## Documentation Index
> Fetch the complete documentation index at: https://veryfront.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Link environment to server

> Link a server environment.

`createServerEnvironmentLink(input: ServerEnvironmentLinkInput!): Server!`

Requires project.runtime.manage.

## Arguments

| Argument | Type | Required |
| - | - | - |
| `input` | [`ServerEnvironmentLinkInput!`](https://veryfront.com/docs/cloud/graphql/types/serverenvironmentlinkinput) | Yes |

## Input fields

### input

[`ServerEnvironmentLinkInput`](https://veryfront.com/docs/cloud/graphql/types/serverenvironmentlinkinput)

| Field | Type | Required | Description |
| - | - | - | - |
| `serverId` | [`ID!`](https://veryfront.com/docs/cloud/graphql/types/id) | Yes | ID of a server you own. Linking and unlinking require project.runtime.manage on every project currently linked to the server. If none are linked, no project capability is required. Linking also requires project.runtime.manage on the environment’s project. Unlinking also requires API-key delete scope. |
| `environmentId` | [`ID!`](https://veryfront.com/docs/cloud/graphql/types/id) | Yes | |

## Response

Returns [`Server!`](https://veryfront.com/docs/cloud/graphql/types/server). Open the type for its fields and nested types.

| Field | Type |
| - | - |
| `id` | [`ID!`](https://veryfront.com/docs/cloud/graphql/types/id) |
| `shortId` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) |
| `userId` | [`ID!`](https://veryfront.com/docs/cloud/graphql/types/id) |
| `environmentIds` | [`[ID!]!`](https://veryfront.com/docs/cloud/graphql/types/id) |
| `hostname` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) |
| `status` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) |
| `createdAt` | [`DateTime!`](https://veryfront.com/docs/cloud/graphql/types/datetime) |
| `updatedAt` | [`DateTime!`](https://veryfront.com/docs/cloud/graphql/types/datetime) |

Types marked with `!` cannot be null. Lists use `[Type]` notation. The [type index](https://veryfront.com/docs/cloud/graphql/schema.md) lists all published input and response types.

## Example

```graphql title="query.graphql" theme={null}
mutation CreateServerEnvironmentLink($input: ServerEnvironmentLinkInput!) {
  createServerEnvironmentLink(input: $input) {
    id
    status
    createdAt
    updatedAt
    environmentIds
  }
}
```

```json title="variables.json" theme={null}
{
  "input": {
    "serverId": "00000000-0000-4000-8000-000000000001",
    "environmentId": "00000000-0000-4000-8000-000000000001"
  }
}
```

<details>
  <summary>Try this mutation</summary>

  Calls use `https://api.veryfront.com/graphql`. Replace sample values with resources you can access. See [Authentication](https://veryfront.com/docs/cloud/authentication.md) for credentials and permissions.

  Bearer token or API key

  Stored in this tab's session. Clear credential

  Mutation

  Variables (JSON)
</details>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.