---
title: "Test Provider Draft Route"
method: POST
path: "/api/v1/providers/test"
tags: ["providers"]
---

# Test Provider Draft Route

`POST /api/v1/providers/test`

## Headers

- `Authorization` string, nullable

## Request body

- ProviderTestDraft — An unsaved provider form, tested through the runtime. With provider_id (the edit dialog) the stored key and secret params fill in where the draft omits them or sends the redaction marker.
  - `provider` string, required
  - `model` string, required
  - `params` object, nullable
  - `api_token` string, nullable
  - `provider_id` string, uuid, nullable

## Response `200`

Successful Response

- ProviderTestResult
  - `ok` boolean, required
  - `latency_ms` integer, required
  - `status_code` integer, nullable, required
  - `error` string, nullable, required
  - `tested_at` string, date-time, required

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-27** `b20a3bdd6219` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/xenovia/apis/controlplane/changes/api/v1/providers/test/post.md)

---

[API](https://skmtc.dev/xenovia/apis/controlplane.md) · [All operations](https://skmtc.dev/xenovia/apis/controlplane/llms.txt) · [OpenAPI document](https://skmtc.dev/xenovia/apis/controlplane/revisions/b20a3bdd6219?raw)
