---
title: "Update a custom provider"
method: PATCH
path: "/api/providers/{provider_id}/"
tags: ["Models"]
---

# Update a custom provider

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

## Request

- Base URL: `https://api.respan.ai`
- URL: `https://api.respan.ai/api/providers/{provider_id}/`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Partially update editable fields for a custom provider. The `provider_id` field is read-only.

## Path parameters

- `provider_id` string, required

## Request body

- object
  - `provider_name` string: Human-readable provider name.
  - `extra_kwargs` object: Provider configuration. Put provider credentials under extra_kwargs.api_key.

## Response `200`

Updated provider.

- object
  - `id` string, required: Provider string ID. Same value as `provider_id`.
  - `provider_id` string, required: Unique provider identifier within your organization.
  - `provider_name` string, required: Human-readable provider name.
  - `extra_kwargs` object: Stored provider configuration. The current backend returns this object, including credentials it contains; handle the response as sensitive.
  - `created_at` string, date-time, nullable
  - `updated_at` string, date-time, nullable

## Other responses

- `400`: Bad Request
- `403`: The API key is missing, invalid or expired, or it doesn't have permission for this action.
- `404`: Not Found

## Changes

- **2026-10-21** `c30bcb383ee8`: 2 breaking, 4 info
  - the response property `created_at` became nullable for the status `200`
  - the response property `updated_at` became nullable for the status `200`
  - api operation id `models_updateCustomProvider` removed and replaced with `updateCustomProvider`
  - the endpoint scheme security `DashboardJwt` was added to the API
  - …2 more
- **2026-10-02** `b830b79cfd52`: 1 warning, 2 info
  - removed the optional property `error` from the response with the `403` status
  - removed the non-success response with the status `401`
  - the response property `detail` became required for the status `403`
- **2026-09-17** `6fa8242da8c2`: 1 warning, 1 info
  - deleted the `header` request parameter `Authorization`
  - the endpoint scheme security `RespanApiKey` was added to the API
- **2026-09-12** `22b868ef3f22`: 1 info
  - api operation id `update-custom-provider` removed and replaced with `models_updateCustomProvider`
- **2026-08-13** `4e064cf81dae`: 5 breaking, 4 warning, 4 info
  - the `extra_kwargs` request property type changed from no type to `object`
  - the response property `created_at` became optional for the status `200`
  - the response property `updated_at` became optional for the status `200`
  - the `extra_kwargs` response's property type changed from no type to `object` for status `200`
  - …9 more

[Operation history](https://skmtc.dev/keywordsai/apis/respan-api/changes/api/providers/:provider_id/patch.md)

---

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