---
title: "Provider passthrough"
method: PATCH
path: "/p/{provider}/{endpoint}"
tags: ["passthrough"]
---

# Provider passthrough

`PATCH /p/{provider}/{endpoint}`

Runtime-configurable passthrough endpoint under /p/{provider}/{endpoint}; enabled by default via server.enable_passthrough_routes. The endpoint path is opaque and may proxy JSON, binary, or SSE responses with upstream status codes preserved. For multi-segment provider endpoints, clients that rely on OpenAPI-generated path handling should URL-encode embedded slashes in the endpoint parameter. A leading v1/ segment is normalized away by default so /p/{provider}/v1/... and /p/{provider}/... map to the same upstream path relative to the provider base URL.

## Path parameters

- `provider` string, required
- `endpoint` string, required

## Response `200`

Opaque upstream response body

- string, binary

## Other responses

- `201` — Opaque upstream response body
- `202` — Opaque upstream response body
- `204` — No Content passthrough response
- `400` — Bad Request
- `401` — Unauthorized
- `502` — Bad Gateway

## Changes

> 53 revisions in range; 10 could not be searched.

- **2026-04-19** `1a90f5d80e5a` — 54 warning, 9 info
  - removed the optional property `code` from the response with the `400` status (media type: application/json)
  - removed the optional property `code` from the response with the `400` status (media type: application/octet-stream)
  - removed the optional property `code` from the response with the `400` status (media type: text/event-stream)
  - removed the optional property `code` from the response with the `401` status (media type: application/json)
  - …59 more

[Change history](https://skmtc.dev/enterpilot/apis/gomodel-api/changes/p/:provider/:endpoint/patch.md)

---

[API](https://skmtc.dev/enterpilot/apis/gomodel-api.md) · [All operations](https://skmtc.dev/enterpilot/apis/gomodel-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/enterpilot/gomodel-api/revisions/7b5727a74f59/schema)
