---
title: "Update Custom Provider"
method: PATCH
path: "/api/providers/{provider_id}/"
tags: ["models"]
---

# Update Custom Provider

`PATCH /api/providers/{provider_id}/`

PATCH handler with superadmin lock and field protection.

Checks:
1. Object lock (is_managed=True -> non-superadmins can't modify)
2. Field protection (non-superadmins can't modify specific fields)

## Path parameters

- `provider_id` string, required

## Headers

- `Authorization` string, required

## Request body

- PatchedPublicCustomProviderUpdateRequest — Public API serializer for updating custom providers - hides internal fields, validates managed providers, uses provider_id as id
  - `provider_name` string
  - `extra_kwargs` unknown
  - `respan_discount_rate` number, double
  - `models_sync_config` unknown

## Response `200`

- PublicCustomProviderUpdate — Public API serializer for updating custom providers - hides internal fields, validates managed providers, uses provider_id as id
  - `project` string, nullable, required
  - `provider_name` string, required
  - `provider_id` string, required
  - `extra_kwargs` unknown
  - `created_at` string, date-time, nullable, required
  - `updated_at` string, date-time, nullable, required
  - `respan_discount_rate` number, double
  - `models_sync_config` unknown
  - `id` string, required

---

[API](https://skmtc.net/keywordsai/apis/api-reference.md) · [All operations](https://skmtc.net/keywordsai/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/keywordsai/api-reference/versions/c26d550029f8/schema)
