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

# Replace a custom provider

`PUT /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

Replace editable fields for a custom provider. The `provider_id` path value remains the identifier.

## Path parameters

- `provider_id` string, required

## Request body

- object
  - `provider_name` string, required: 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`: 3 breaking, 4 info
  - request body became required
  - 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_replaceCustomProvider` removed and replaced with `replaceCustomProvider`
  - …3 more
- **2026-10-02** `b830b79cfd52`: 1 breaking, 1 warning, 2 info
  - the request property `provider_name` became required
  - 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 `replace-custom-provider` removed and replaced with `models_replaceCustomProvider`

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

---

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