---
title: "Register a BYO provider credential for the workspace [admin]"
method: PUT
path: "/universes/{slug}/pod-provider"
---

# Register a BYO provider credential for the workspace \[admin\]

`PUT /universes/{slug}/pod-provider`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/universes/{slug}/pod-provider`
- Auth: HTTP bearer

Stores the encrypted provider credential and elects the provider for the workspace. The credential is write-only and never returned by any API. Setting a new credential replaces the old one. 404 when BYO_POD_PROVIDER is not enabled for this workspace. 503 `not_migrated` before the credential table exists.

## Path parameters

- `slug` string, required

## Request body

- object
  - `provider` 'e2b' | 'sandbox-oss' | 'daytona', required: The provider to elect.
  - `credential` string, required: The provider API key (write-only; never returned).
  - `label` string: Optional human-readable label.

## Response `200`

Credential stored and provider elected.

- object
  - `provider` 'e2b' | 'sandbox-oss' | 'daytona': The elected provider.
  - `label` string, nullable: The admin-supplied label for this credential.
  - `has_credential` boolean: Always true when the response is present.

## Other responses

- `default`: Error — { error: { code, message } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/universes/:slug/pod-provider/put.md)

---

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