Chapter navigation
Before You Start (Provided by Your Deployer)
The following values are not fixed by this document. Request them from your OpenJellyfish deployer / service administrator:
| Item | Description | Example placeholder |
|---|---|---|
| Base URL | Public HTTPS address of the instance + /api/v1 prefix | https://<your-deploy-domain>/api/v1 |
| Service API Key | Format sk-svc-..., created under Settings → Service Management → API Keys | sk-svc-<provided-by-deployer> |
| Service ID (optional) | Standalone chat page at /s/<service_id>; used to distinguish multiple services | svc_xxxxxxxx |
One key per service — keep it safe. Contact your deployer admin to rotate or add keys. Never commit keys to public repos or embed them in frontend code.
Examples below use environment variables — replace with your actual values before copying:
export JF_BASE_URL="https://<your-deploy-domain>/api/v1"
export JF_API_KEY="sk-svc-<provided-by-deployer>"v1.3.1: Connecting to a Codex / Cursor plan Service
The deployer can bind an authorized Codex / Cursor connection to a Service. Consumers keep using the same Service Key and endpoints; they need no provider account, CLI, or additional LLM API key. Query GET /api/v1/models first to check the Key mode. Plan Services accept only hosted; the administrator fixes the connection and model.
The model parameter is accepted for SDK compatibility and cannot change a plan Service's model. Do not send provider, api_key, base_url, or region; those credential fields are rejected. Multimedia examples below depend on the engine and enabled capabilities: plan Services do not currently support voice, video, or scheduled tasks. Disconnecting the stream cancels that Service turn. Save conversation_id for continuation; different Keys / channels do not share native sessions.
A Service Key is a shared Service-level credential, not a personal member login. Distribute it only to authorized members. Plan mode currently targets trusted internal members.