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

# LLM integration mutations

> Configure LLM integrations, provider keys, custom endpoints and Google Cloud. Arguments, return types and a validated example for each of the 12 mutations.

Configure LLM integrations, provider keys, custom endpoints and Google Cloud.

For task-oriented walkthroughs of these operations, see the [LLM integration guide](/docs/ax/graphql-reference/guides/llm-integrations). Every mutation below is sent as a `POST` to `https://app.arize.com/graphql` with an `x-api-key` header; see [Forming calls](/docs/ax/graphql-reference/overview/how-to-use-graphql/forming-calls).

## Mutations in this page

* [`createLlmIntegration`](#createllmintegration): Create llm integration.
* [`updateLlmIntegration`](#updatellmintegration): Update llm integration.
* [`deleteLlmIntegration`](#deletellmintegration): Delete llm integration.
* [`createExternalLlmApiKey`](#createexternalllmapikey): Create external llm api key.
* [`updateExternalLlmApiKey`](#updateexternalllmapikey): Update external llm api key.
* [`deleteExternalLlmApiKey`](#deleteexternalllmapikey): Delete external llm api key.
* [`createCustomLlmEndpoint`](#createcustomllmendpoint): Create custom llm endpoint.
* [`updateCustomLlmEndpoint`](#updatecustomllmendpoint): Update custom llm endpoint.
* [`deleteCustomLlmEndpoint`](#deletecustomllmendpoint): Delete custom llm endpoint.
* [`createGoogleCloudIntegration`](#creategooglecloudintegration): Create google cloud integration.
* [`updateGoogleCloudIntegration`](#updategooglecloudintegration): Update google cloud integration.
* [`deleteGoogleCloudIntegration`](#deletegooglecloudintegration): Delete google cloud integration.

## Reference

### createLlmIntegration

`createLlmIntegration(input: CreateLlmIntegrationInput!): CreateLlmIntegrationPayload`

#### Arguments

<ParamField body="input" type="CreateLlmIntegrationInput!" required>
  <Expandable title="CreateLlmIntegrationInput fields">
    <ParamField body="accountId" type="ID!" required>
      The global relay ID of the account
    </ParamField>

    <ParamField body="provider" type="LlmProvider!" required>
      The name of the LLM provider One of: `azureopenai`, `openai`, `anthropic`, `nvidiaNim`, `gemini`, `litellm`, `fireworks`, `togetherAi`, `googleCloud`, `aws`, `custom`, `cursor`, `typeSafeAi`.
    </ParamField>

    <ParamField body="name" type="String!" required>
      The name of the integration
    </ParamField>

    <ParamField body="apiKey" type="String">
      API key (will be encrypted)
    </ParamField>

    <ParamField body="baseUrl" type="String">
      Custom base URL for compatible providers
    </ParamField>

    <ParamField body="modelNames" type="[String!]">
      Supported model names
    </ParamField>

    <ParamField body="enableDefaultModels" type="Boolean">
      Enable default models for the provider
    </ParamField>

    <ParamField body="compatibleFormat" type="String">
      API compatibility format (e.g., 'openai')
    </ParamField>

    <ParamField body="headers" type="JSON">
      Custom headers for requests
    </ParamField>

    <ParamField body="scopings" type="[LlmIntegrationScopingInput!]">
      Organization/Space scoping (defaults to account-wide if not provided)

      <Expandable title="LlmIntegrationScopingInput fields">
        <ParamField body="accountOrganizationId" type="ID">
          The global relay organization ID if this integration is scoped to an organization
        </ParamField>

        <ParamField body="spaceId" type="ID">
          The global relay space ID if this integration is scoped to a specific space
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="providerMetadata" type="JSON">
      Provider-specific configuration (AWS: roleArn/externalId/guardrailIdentifier/guardrailVersion, GCP: projectId/location/projectAccessLabel)
    </ParamField>

    <ParamField body="functionCallingEnabled" type="Boolean">
      Whether function calling is enabled for the integration
    </ParamField>

    <ParamField body="authType" type="LlmIntegrationAuthType">
      Authentication method One of: `default`, `proxy_with_headers`, `bearer_token`, `oauth2_client_credentials`.
    </ParamField>

    <ParamField body="oauthConfig" type="LlmIntegrationOauthConfigInput">
      OAuth 2.0 client-credentials configuration. Required when authType is oauth2\_client\_credentials, rejected otherwise.

      <Expandable title="LlmIntegrationOauthConfigInput fields">
        <ParamField body="tokenUrl" type="String">
          Token endpoint used for the client-credentials exchange. Required when enabling OAuth.
        </ParamField>

        <ParamField body="clientId" type="String">
          OAuth client ID. Required when enabling OAuth.
        </ParamField>

        <ParamField body="clientSecret" type="String">
          OAuth client secret (will be encrypted). Required when enabling OAuth; omit to keep the stored value.
        </ParamField>

        <ParamField body="scopes" type="String">
          Space-separated scopes. Pass null or empty string to clear, omit to keep.
        </ParamField>

        <ParamField body="audience" type="String">
          Audience for identity providers that require one. Pass null or empty string to clear, omit to keep.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="allowUseInAgents" type="Boolean">
      Allow this provider to be reused for agent execution (Agent Integrations). Separate from playground/eval use.
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="llmIntegration" type="LlmIntegration!">
  The created LLM integration

  <Expandable title="LlmIntegration fields">
    Scalar fields: `id`, `name`, `provider`, `apiKey`, `hasApiKey`, `baseUrl`, `modelNames`, `modelsError`, `compatibleFormat`, `headers`, `createdAt`, `updatedAt`, `hasUnauthorizedScopings`, `enableDefaultModels`, `functionCallingEnabled`, `authType`, `allowUseInAgents`, `providerMetadata`.

    Object fields (select subfields): `models`, `creator`, `scopings`, `oauthConfig`.
  </Expandable>
</ResponseField>

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation CreateLlmIntegration($input: CreateLlmIntegrationInput!) {
    createLlmIntegration(input: $input) {
      llmIntegration { id name }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "accountId": "<ID>",
      "provider": "azureopenai",
      "name": "<string>"
    }
  }
  ```
</CodeGroup>

### updateLlmIntegration

`updateLlmIntegration(input: UpdateLlmIntegrationInput!): UpdateLlmIntegrationPayload`

#### Arguments

<ParamField body="input" type="UpdateLlmIntegrationInput!" required>
  <Expandable title="UpdateLlmIntegrationInput fields">
    <ParamField body="integrationId" type="ID!" required>
      The global relay ID of the LLM integration to update
    </ParamField>

    <ParamField body="provider" type="LlmProvider">
      The name of the LLM provider One of: `azureopenai`, `openai`, `anthropic`, `nvidiaNim`, `gemini`, `litellm`, `fireworks`, `togetherAi`, `googleCloud`, `aws`, `custom`, `cursor`, `typeSafeAi`.
    </ParamField>

    <ParamField body="name" type="String">
      The name of the integration
    </ParamField>

    <ParamField body="apiKey" type="String">
      API key (will be encrypted). Pass null or empty string to remove. Omit to keep existing value.
    </ParamField>

    <ParamField body="baseUrl" type="String">
      Custom base URL for compatible providers
    </ParamField>

    <ParamField body="modelNames" type="[String!]">
      Supported model names
    </ParamField>

    <ParamField body="enableDefaultModels" type="Boolean">
      Enable Arize default models. Omit to keep the existing value.
    </ParamField>

    <ParamField body="functionCallingEnabled" type="Boolean">
      Whether function calling is enabled for the integration
    </ParamField>

    <ParamField body="compatibleFormat" type="String">
      API compatibility format (e.g., 'openai')
    </ParamField>

    <ParamField body="headers" type="JSON">
      Custom headers for requests
    </ParamField>

    <ParamField body="scopings" type="[LlmIntegrationScopingInput!]">
      Organization/space scoping. If provided, replaces all existing scoping.

      <Expandable title="LlmIntegrationScopingInput fields">
        <ParamField body="accountOrganizationId" type="ID">
          The global relay organization ID if this integration is scoped to an organization
        </ParamField>

        <ParamField body="spaceId" type="ID">
          The global relay space ID if this integration is scoped to a specific space
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="providerMetadata" type="JSON">
      Provider-specific configuration (AWS: roleArn/externalId/guardrailIdentifier/guardrailVersion, GCP: projectId/location/projectAccessLabel)
    </ParamField>

    <ParamField body="authType" type="LlmIntegrationAuthType">
      Authentication method One of: `default`, `proxy_with_headers`, `bearer_token`, `oauth2_client_credentials`.
    </ParamField>

    <ParamField body="oauthConfig" type="LlmIntegrationOauthConfigInput">
      OAuth 2.0 client-credentials configuration. Omit to keep the stored config; switching authType away from OAuth deletes it.

      <Expandable title="LlmIntegrationOauthConfigInput fields">
        <ParamField body="tokenUrl" type="String">
          Token endpoint used for the client-credentials exchange. Required when enabling OAuth.
        </ParamField>

        <ParamField body="clientId" type="String">
          OAuth client ID. Required when enabling OAuth.
        </ParamField>

        <ParamField body="clientSecret" type="String">
          OAuth client secret (will be encrypted). Required when enabling OAuth; omit to keep the stored value.
        </ParamField>

        <ParamField body="scopes" type="String">
          Space-separated scopes. Pass null or empty string to clear, omit to keep.
        </ParamField>

        <ParamField body="audience" type="String">
          Audience for identity providers that require one. Pass null or empty string to clear, omit to keep.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="allowUseInAgents" type="Boolean">
      Allow this provider to be reused for agent execution. Omit to keep the existing value.
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="llmIntegration" type="LlmIntegration!">
  The updated LLM integration

  <Expandable title="LlmIntegration fields">
    Scalar fields: `id`, `name`, `provider`, `apiKey`, `hasApiKey`, `baseUrl`, `modelNames`, `modelsError`, `compatibleFormat`, `headers`, `createdAt`, `updatedAt`, `hasUnauthorizedScopings`, `enableDefaultModels`, `functionCallingEnabled`, `authType`, `allowUseInAgents`, `providerMetadata`.

    Object fields (select subfields): `models`, `creator`, `scopings`, `oauthConfig`.
  </Expandable>
</ResponseField>

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation UpdateLlmIntegration($input: UpdateLlmIntegrationInput!) {
    updateLlmIntegration(input: $input) {
      llmIntegration { id name }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "integrationId": "<ID>"
    }
  }
  ```
</CodeGroup>

### deleteLlmIntegration

`deleteLlmIntegration(input: DeleteLlmIntegrationInput!): DeleteLlmIntegrationPayload`

#### Arguments

<ParamField body="input" type="DeleteLlmIntegrationInput!" required>
  <Expandable title="DeleteLlmIntegrationInput fields">
    <ParamField body="integrationId" type="ID!" required>
      The global relay ID of the LLM integration to delete
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="success" type="Boolean!">
  Whether the deletion was successful
</ResponseField>

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation DeleteLlmIntegration($input: DeleteLlmIntegrationInput!) {
    deleteLlmIntegration(input: $input) {
      success
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "integrationId": "<ID>"
    }
  }
  ```
</CodeGroup>

### createExternalLlmApiKey

`createExternalLlmApiKey(input: CreateExternalLlmApiKeyInput!): CreateExternalLlmApiKeyPayload`

#### Arguments

<ParamField body="input" type="CreateExternalLlmApiKeyInput!" required>
  <Expandable title="CreateExternalLlmApiKeyInput fields">
    <ParamField body="accountOrganizationId" type="ID!" required>
      The global relay id of the organization to create the external llm api key in
    </ParamField>

    <ParamField body="apiKey" type="String!" required>
      The API key to use for the external llm, will be encrypted before saving
    </ParamField>

    <ParamField body="provider" type="ExternalLlmApiKeyProvider!" required>
      The LLM provider One of: `openai`, `azureopenai`, `anthropic`, `nvidiaNim`, `gemini`, `litellm`, `fireworks`, `togetherAi`.
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="externalLlmApiKey" type="ExternalLlmApiKey!">
  The created llm api key

  <Expandable title="ExternalLlmApiKey fields">
    Scalar fields: `id`, `createdAt`, `provider`.

    Object fields (select subfields): `creator`.
  </Expandable>
</ResponseField>

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation CreateExternalLlmApiKey($input: CreateExternalLlmApiKeyInput!) {
    createExternalLlmApiKey(input: $input) {
      externalLlmApiKey { id }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "accountOrganizationId": "<ID>",
      "apiKey": "<string>",
      "provider": "openai"
    }
  }
  ```
</CodeGroup>

### updateExternalLlmApiKey

`updateExternalLlmApiKey(input: UpdateExternalLlmApiKeyInput!): UpdateExternalLlmApiKeyPayload`

#### Arguments

<ParamField body="input" type="UpdateExternalLlmApiKeyInput!" required>
  <Expandable title="UpdateExternalLlmApiKeyInput fields">
    <ParamField body="externalLlmApiKeyId" type="ID!" required>
      The global relay id for the llm api key to update
    </ParamField>

    <ParamField body="apiKey" type="String!" required>
      The new llm api key
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="externalLlmApiKey" type="ExternalLlmApiKey!">
  The updated llm api key

  <Expandable title="ExternalLlmApiKey fields">
    Scalar fields: `id`, `createdAt`, `provider`.

    Object fields (select subfields): `creator`.
  </Expandable>
</ResponseField>

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation UpdateExternalLlmApiKey($input: UpdateExternalLlmApiKeyInput!) {
    updateExternalLlmApiKey(input: $input) {
      externalLlmApiKey { id }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "externalLlmApiKeyId": "<ID>",
      "apiKey": "<string>"
    }
  }
  ```
</CodeGroup>

### deleteExternalLlmApiKey

`deleteExternalLlmApiKey(input: DeleteExternalLlmApiKeyInput!): DeleteExternalLlmApiKeyPayload`

#### Arguments

<ParamField body="input" type="DeleteExternalLlmApiKeyInput!" required>
  <Expandable title="DeleteExternalLlmApiKeyInput fields">
    <ParamField body="externalLlmApiKeyId" type="ID!" required>
      The global relay id for the llm api key to delete
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="externalLlmApiKey" type="ExternalLlmApiKey!">
  The deleted llm api key

  <Expandable title="ExternalLlmApiKey fields">
    Scalar fields: `id`, `createdAt`, `provider`.

    Object fields (select subfields): `creator`.
  </Expandable>
</ResponseField>

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation DeleteExternalLlmApiKey($input: DeleteExternalLlmApiKeyInput!) {
    deleteExternalLlmApiKey(input: $input) {
      externalLlmApiKey { id }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "externalLlmApiKeyId": "<ID>"
    }
  }
  ```
</CodeGroup>

### createCustomLlmEndpoint

`createCustomLlmEndpoint(input: CreateCustomLlmEndpointInput!): CreateCustomLlmEndpointPayload`

#### Arguments

<ParamField body="input" type="CreateCustomLlmEndpointInput!" required>
  <Expandable title="CreateCustomLlmEndpointInput fields">
    <ParamField body="accountOrganizationId" type="ID!" required>
      The global relay id of the organization in which to create the custom llm endpoint
    </ParamField>

    <ParamField body="name" type="String!" required>
      The name of the custom llm endpoint
    </ParamField>

    <ParamField body="modelName" type="String!" required>
      The exact name of the provider's model or of the model you are hosting
    </ParamField>

    <ParamField body="baseUrl" type="String!" required>
      The base url of your custom llm endpoint
    </ParamField>

    <ParamField body="apiKey" type="String">
      An optional api key used to access your openai compatible endpoint
    </ParamField>

    <ParamField body="headers" type="[CustomLlmEndpointHeadersInput]">
      A list of key value pairs representing HTTP headers that should be sent when making an HTTP request to the custom llm endpoint

      <Expandable title="CustomLlmEndpointHeadersInput fields">
        <ParamField body="key" type="String!" required>
          The name of the header
        </ParamField>

        <ParamField body="value" type="String!" required>
          The value of the header
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="compatibleFormat" type="ExternalLlmApiKeyProvider!" required>
      The selected compatible format dictates the API that the custom endpoint gets used with. Currently only OpenAI chat completion or an Azure OpenAI request are supported. Defaults to OpenAI. One of: `openai`, `azureopenai`, `anthropic`, `nvidiaNim`, `gemini`, `litellm`, `fireworks`, `togetherAi`.
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="customLlmEndpoint" type="CustomLlmEndpoint!">
  The created custom llm endpoint

  <Expandable title="CustomLlmEndpoint fields">
    Scalar fields: `id`, `accountOrganizationId`, `name`, `modelName`, `baseUrl`, `hasApiKey`, `createdAt`, `updatedAt`, `deletedAt`, `compatibleFormat`.

    Object fields (select subfields): `headers`, `creator`.
  </Expandable>
</ResponseField>

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation CreateCustomLlmEndpoint($input: CreateCustomLlmEndpointInput!) {
    createCustomLlmEndpoint(input: $input) {
      customLlmEndpoint { id name }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "accountOrganizationId": "<ID>",
      "name": "<string>",
      "modelName": "<string>",
      "baseUrl": "<string>"
    }
  }
  ```
</CodeGroup>

### updateCustomLlmEndpoint

`updateCustomLlmEndpoint(input: UpdateCustomLlmEndpointInput!): UpdateCustomLlmEndpointPayload`

#### Arguments

<ParamField body="input" type="UpdateCustomLlmEndpointInput!" required>
  <Expandable title="UpdateCustomLlmEndpointInput fields">
    <ParamField body="customLlmEndpointId" type="ID!" required>
      The global relay id of the custom llm endpoint to update
    </ParamField>

    <ParamField body="name" type="String">
      The name of the custom llm endpoint
    </ParamField>

    <ParamField body="modelName" type="String">
      The exact name of the provider's model or of the model you are hosting
    </ParamField>

    <ParamField body="baseUrl" type="String">
      The base url of your custom llm endpoint
    </ParamField>

    <ParamField body="apiKey" type="String">
      An optional api key used to access your openai compatible endpoint
    </ParamField>

    <ParamField body="headers" type="[CustomLlmEndpointHeadersInput]">
      A list of key value pairs representing HTTP headers that should be sent when making an HTTP request to the custom llm endpoint

      <Expandable title="CustomLlmEndpointHeadersInput fields">
        <ParamField body="key" type="String!" required>
          The name of the header
        </ParamField>

        <ParamField body="value" type="String!" required>
          The value of the header
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="compatibleFormat" type="ExternalLlmApiKeyProvider">
      The selected compatible format dictates the API that the custom endpoint gets used with. Currently only OpenAI chat completion or an Azure OpenAI request are supported. Defaults to OpenAI. One of: `openai`, `azureopenai`, `anthropic`, `nvidiaNim`, `gemini`, `litellm`, `fireworks`, `togetherAi`.
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="customLlmEndpoint" type="CustomLlmEndpoint!">
  The updated custom llm endpoint

  <Expandable title="CustomLlmEndpoint fields">
    Scalar fields: `id`, `accountOrganizationId`, `name`, `modelName`, `baseUrl`, `hasApiKey`, `createdAt`, `updatedAt`, `deletedAt`, `compatibleFormat`.

    Object fields (select subfields): `headers`, `creator`.
  </Expandable>
</ResponseField>

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation UpdateCustomLlmEndpoint($input: UpdateCustomLlmEndpointInput!) {
    updateCustomLlmEndpoint(input: $input) {
      customLlmEndpoint { id name }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "customLlmEndpointId": "<ID>"
    }
  }
  ```
</CodeGroup>

### deleteCustomLlmEndpoint

`deleteCustomLlmEndpoint(input: DeleteCustomLlmEndpointInput!): DeleteCustomLlmEndpointPayload`

#### Arguments

<ParamField body="input" type="DeleteCustomLlmEndpointInput!" required>
  <Expandable title="DeleteCustomLlmEndpointInput fields">
    <ParamField body="customLlmEndpointId" type="ID!" required>
      The global relay id of the custom llm endpoint to delete
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="customLlmEndpoint" type="CustomLlmEndpoint!">
  The deleted custom llm endpoint

  <Expandable title="CustomLlmEndpoint fields">
    Scalar fields: `id`, `accountOrganizationId`, `name`, `modelName`, `baseUrl`, `hasApiKey`, `createdAt`, `updatedAt`, `deletedAt`, `compatibleFormat`.

    Object fields (select subfields): `headers`, `creator`.
  </Expandable>
</ResponseField>

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation DeleteCustomLlmEndpoint($input: DeleteCustomLlmEndpointInput!) {
    deleteCustomLlmEndpoint(input: $input) {
      customLlmEndpoint { id name }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "customLlmEndpointId": "<ID>"
    }
  }
  ```
</CodeGroup>

### createGoogleCloudIntegration

`createGoogleCloudIntegration(input: CreateGoogleCloudIntegrationInput!): CreateGoogleCloudIntegrationPayload`

#### Arguments

<ParamField body="input" type="CreateGoogleCloudIntegrationInput!" required>
  <Expandable title="CreateGoogleCloudIntegrationInput fields">
    <ParamField body="accountOrganizationId" type="ID!" required>
      The global relay id of the organization to create the integration in
    </ParamField>

    <ParamField body="projectId" type="String!" required>
      The ID of the Google Cloud project to integrate with
    </ParamField>

    <ParamField body="location" type="String!" required>
      The Google Cloud location to use for the integration
    </ParamField>

    <ParamField body="projectAccessLabel" type="String!" required>
      The value of the arize-integration-key label set on the project to use to verify access to the project. Set the key to arize-integration-key and the value to this value in GCP.
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="googleCloudIntegration" type="GoogleCloudIntegration!">
  The created integration

  <Expandable title="GoogleCloudIntegration fields">
    Scalar fields: `id`, `projectId`, `location`, `projectAccessLabel`, `createdAt`, `updatedAt`.

    Object fields (select subfields): `creator`.
  </Expandable>
</ResponseField>

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation CreateGoogleCloudIntegration($input: CreateGoogleCloudIntegrationInput!) {
    createGoogleCloudIntegration(input: $input) {
      googleCloudIntegration { id }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "accountOrganizationId": "<ID>",
      "projectId": "<string>",
      "location": "<string>",
      "projectAccessLabel": "<string>"
    }
  }
  ```
</CodeGroup>

### updateGoogleCloudIntegration

`updateGoogleCloudIntegration(input: UpdateGoogleCloudIntegrationInput!): UpdateGoogleCloudIntegrationPayload`

#### Arguments

<ParamField body="input" type="UpdateGoogleCloudIntegrationInput!" required>
  <Expandable title="UpdateGoogleCloudIntegrationInput fields">
    <ParamField body="googleCloudIntegrationId" type="ID!" required>
      The global relay id for the llm api key to update
    </ParamField>

    <ParamField body="projectId" type="String">
      The new ID of the Google Cloud project to integrate with
    </ParamField>

    <ParamField body="location" type="String">
      The new Google Cloud location to use for the integration
    </ParamField>

    <ParamField body="projectAccessLabel" type="String">
      The value of the arize-integration-key label set on the project to use to verify access to the project.Set the key to arize-integration-key and the value to this value in GCP.
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="googleCloudIntegration" type="GoogleCloudIntegration!">
  The updated llm api key

  <Expandable title="GoogleCloudIntegration fields">
    Scalar fields: `id`, `projectId`, `location`, `projectAccessLabel`, `createdAt`, `updatedAt`.

    Object fields (select subfields): `creator`.
  </Expandable>
</ResponseField>

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation UpdateGoogleCloudIntegration($input: UpdateGoogleCloudIntegrationInput!) {
    updateGoogleCloudIntegration(input: $input) {
      googleCloudIntegration { id }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "googleCloudIntegrationId": "<ID>"
    }
  }
  ```
</CodeGroup>

### deleteGoogleCloudIntegration

`deleteGoogleCloudIntegration(input: DeleteGoogleCloudIntegrationInput!): DeleteGoogleCloudIntegrationPayload`

#### Arguments

<ParamField body="input" type="DeleteGoogleCloudIntegrationInput!" required>
  <Expandable title="DeleteGoogleCloudIntegrationInput fields">
    <ParamField body="googleCloudIntegrationId" type="ID!" required>
      The global relay id for the google cloud integration to delete
    </ParamField>

    <ParamField body="clientMutationId" type="String" />
  </Expandable>
</ParamField>

#### Returns

<ResponseField name="googleCloudIntegration" type="GoogleCloudIntegration!">
  The google cloud integration

  <Expandable title="GoogleCloudIntegration fields">
    Scalar fields: `id`, `projectId`, `location`, `projectAccessLabel`, `createdAt`, `updatedAt`.

    Object fields (select subfields): `creator`.
  </Expandable>
</ResponseField>

#### Example

Only required input fields are shown. Replace `<ID>` and `<string>` placeholders with real values; the [object graph](/docs/ax/graphql-reference/queries/object-graph) page shows how to look IDs up.

<CodeGroup>
  ```graphql Mutation theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  mutation DeleteGoogleCloudIntegration($input: DeleteGoogleCloudIntegrationInput!) {
    deleteGoogleCloudIntegration(input: $input) {
      googleCloudIntegration { id }
    }
  }
  ```

  ```json Variables theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  {
    "input": {
      "googleCloudIntegrationId": "<ID>"
    }
  }
  ```
</CodeGroup>
