> ## 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.

# Update project integration

> Change the scope, allowed tools, configuration or execution mode of a project integration by sending only the fields to change, so that an omitted field keeps its stored value; returns the updated project integration.

`updateProjectIntegration(projectReference: String!, name: String!, input: UpdateProjectIntegrationInput!): ManagedProjectIntegration!`

Requires project.integrations.configure.

## Arguments

| Argument | Type | Required |
| - | - | - |
| `projectReference` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) | Yes |
| `name` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) | Yes |
| `input` | [`UpdateProjectIntegrationInput!`](https://veryfront.com/docs/cloud/graphql/types/updateprojectintegrationinput) | Yes |

## Input fields

### input

[`UpdateProjectIntegrationInput`](https://veryfront.com/docs/cloud/graphql/types/updateprojectintegrationinput)

| Field | Type | Required | Description |
| - | - | - | - |
| `scope` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | Credential scope the integration uses: project or user. The legacy end\_user and endUser inputs are aliases of user. |
| `allowedTools` | [`[String!]`](https://veryfront.com/docs/cloud/graphql/types/string) | No | Unprefixed tool IDs the project allows. Null allows all tools. Each entry must exist in the catalog of the effective execution mode. |
| `config` | [`JSON`](https://veryfront.com/docs/cloud/graphql/types/json) | No | Integration-specific configuration that must match configSchema. |
| `executionMode` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | Execution mode: real or mock. |

## Response

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

| Field | Type |
| - | - |
| `name` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) |
| `configured` | [`Boolean!`](https://veryfront.com/docs/cloud/graphql/types/boolean) |
| `createdAt` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) |
| `updatedAt` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) |
| `displayName` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) |
| `icon` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) |
| `description` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) |
| `authType` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) |

[All fields of `ManagedProjectIntegration`](https://veryfront.com/docs/cloud/graphql/types/managedprojectintegration).

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 UpdateProjectIntegration($projectReference: String!, $name: String!, $input: UpdateProjectIntegrationInput!) {
  updateProjectIntegration(projectReference: $projectReference, name: $name, input: $input) {
    name
    createdAt
    updatedAt
    allowedTools
    authType
  }
}
```

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

<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.