---
title: "Set integration instance provider"
method: PUT
path: "/integration-instances/{integration_instance_id}/providers/{provider_id}"
tags: ["Integration Instance Providers"]
---

# Set integration instance provider

`PUT /integration-instances/{integration_instance_id}/providers/{provider_id}`

## Request

- Base URL: `https://api.metorial.com`
- URL: `https://api.metorial.com/integration-instances/{integration_instance_id}/providers/{provider_id}`
- Auth: HTTP bearer

Creates or updates the effective integration instance provider materialization.

## Path parameters

- `integration_instance_id` string, required
- `provider_id` string, required

## Headers

- `Metorial-Version` string

## Request body

- BodyRequest15
  - `provider_deployment_id` string
  - `provider_config_id` string, nullable
  - `provider_auth_config_id` string, nullable
  - `tool_filters` union
    - object
      - `type` 'tool_keys', required
      - `keys` string[], required
    - object
      - `type` 'tool_categories', required
      - `keys` string[], required
    - object
      - `type` 'tool_regex', required
      - `pattern` string, required
    - object
      - `type` 'resource_regex', required
      - `pattern` string, required
    - object
      - `type` 'resource_uris', required
      - `uris` string[], required
    - object
      - `type` 'prompt_keys', required
      - `keys` string[], required
    - object
      - `type` 'prompt_regex', required
      - `pattern` string, required
    - union[]
      - union
        - object
          - `type` 'tool_keys', required
          - `keys` string[], required
        - object
          - `type` 'tool_categories', required
          - `keys` string[], required
        - object
          - `type` 'tool_regex', required
          - `pattern` string, required
        - object
          - `type` 'resource_regex', required
          - `pattern` string, required
        - object
          - `type` 'resource_uris', required
          - `uris` string[], required
        - object
          - `type` 'prompt_keys', required
          - `keys` string[], required
        - object
          - `type` 'prompt_regex', required
          - `pattern` string, required
  - `is_override_tool_filter` boolean

## Response `200`

Successful response

- IntegrationInstanceProvider
  - `object` 'integration.instance.provider', required
  - `id` string, required
  - `status` 'active' | 'archived' | 'deleted', required
  - `name` string, required
  - `description` string, nullable, required
  - `metadata` object, nullable, required
  - `integration_id` string, required
  - `integration_instance_id` string, required
  - `tool_filter` union, required: Tool filter configuration
    - object
      - `type` 'allow_all', required
      - `ignore_parent_filters` boolean, required
    - ToolFilter
      - `type` 'filter', required
      - `filters` union[], required
        - union
          - object
            - `type` 'tool_keys', required
            - `keys` string[], required
          - object
            - `type` 'tool_categories', required
            - `keys` string[], required
          - object
            - `type` 'tool_regex', required
            - `pattern` string, required
          - object
            - `type` 'resource_regex', required
            - `pattern` string, required
          - object
            - `type` 'resource_uris', required
            - `uris` string[], required
          - object
            - `type` 'prompt_keys', required
            - `keys` string[], required
          - object
            - `type` 'prompt_regex', required
            - `pattern` string, required
      - `ignore_parent_filters` boolean, required
  - `is_override_tool_filter` boolean, required
  - `provider` Provider2, required
    - `object` 'provider#preview', required: String representing the object's type
    - `id` string, required: Unique provider identifier
    - `name` string, required: Display name of the provider
    - `description` string, nullable, required: Brief description of the provider
    - `slug` string, required: URL-friendly identifier
    - `created_at` string, date-time, required: Timestamp when the provider was created
    - `updated_at` string, date-time, required: Timestamp when the provider was last updated
  - `integration_provider` IntegrationProvider2, required
    - `object` 'integration.provider#snapshot', required
    - `id` string, required
    - `provider_version` object, required
      - `object` 'integration.provider.version', required
      - `id` string, required
      - `index` number, required
    - `status` 'active' | 'archived' | 'deleted', required
    - `name` string, required
    - `description` string, nullable, required
    - `metadata` object, nullable, required
    - `tool_filter` union, required: Tool filter configuration
      - object
        - `type` 'allow_all', required
        - `ignore_parent_filters` boolean, required
      - ToolFilter
        - `type` 'filter', required
        - `filters` union[], required
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `ignore_parent_filters` boolean, required
    - `provider_id` string, required
    - `deployment_id` string, required
    - `auth_method_id` string, nullable, required
    - `auth_credentials_id` string, nullable, required
    - `config` object, nullable, required
      - `object` 'provider.config#preview', required: String representing the object's type
      - `id` string, required: Config ID
      - `is_default` boolean, required: Whether this is the default config
      - `name` string, nullable, required: Config name
      - `description` string, nullable, required: Description
      - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
      - `provider_id` string, required: Provider ID
      - `created_at` string, date-time, required: Timestamp when created
      - `updated_at` string, date-time, required: Timestamp when last updated
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `archived_at` string, date-time, nullable, required
  - `config` object, nullable, required
    - `object` 'provider.config#preview', required: String representing the object's type
    - `id` string, required: Config ID
    - `is_default` boolean, required: Whether this is the default config
    - `name` string, nullable, required: Config name
    - `description` string, nullable, required: Description
    - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
    - `provider_id` string, required: Provider ID
    - `created_at` string, date-time, required: Timestamp when created
    - `updated_at` string, date-time, required: Timestamp when last updated
  - `auth_config` object, nullable, required
    - `object` 'provider.auth_config#preview', required: String representing the object's type
    - `id` string, required: Config ID
    - `is_default` boolean, required: Whether this is the default config
    - `name` string, nullable, required: Config name
    - `description` string, nullable, required: Description
    - `metadata` object, nullable, required: Custom key-value pairs for storing additional information
    - `provider_id` string, required: Provider ID
    - `created_at` string, date-time, required: Timestamp when created
    - `updated_at` string, date-time, required: Timestamp when last updated
  - `callback_instance_id` string, nullable, required: The active callback instance registered for this integration instance provider, if its integration provider has callbacks enabled.
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `archived_at` string, date-time, nullable, required

## Other responses

- `400`: Invalid parameters or action
- `401`: Missing or invalid API key
- `403`: The key lacks permission for this resource
- `404`: No such resource
- `422`: Validation failed
- `429`: Rate limit exceeded
- `500`: Unexpected server error

---

[API](https://skmtc.dev/metorial/apis/metorial-api.md) - [All operations](https://skmtc.dev/metorial/apis/metorial-api/llms.txt) - [OpenAPI document](https://skmtc.dev/metorial/apis/metorial-api/revisions/10ccc89f3eac?raw)
