dashboard.docs.overview

dashboard.docs.intro

dashboard.docs.base_url_intro

dashboard.docs.engine_intro

dashboard.docs.tip_openai_sdk

dashboard.docs.authentication

dashboard.docs.auth_intro

dashboard.docs.bearer_token_header

curl
curl -H "Authorization: Bearer octra_YOUR_API_KEY" https://octra.env.pm/v1/chat/completions

dashboard.docs.api_key_in_body

curl
curl -X POST https://octra.env.pm/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"api_key": "octra_YOUR_API_KEY", "model": "...", "messages": [...]}'

dashboard.docs.email_code_intro

curl
curl -X POST https://octra.env.pm/auth/email/request-code \
  -H "Content-Type: application/json" \
  -d '{"purpose": "login", "email": "me@example.com"}'

curl -X POST https://octra.env.pm/auth/email/verify-code \
  -H "Content-Type: application/json" \
  -d '{"purpose": "login", "email": "me@example.com", "code": "123456"}'

dashboard.docs.openai_compatible_api

dashboard.docs.openai_intro

dashboard.docs.parameterdashboard.docs.typecommon.requiredcommon.description
POST /v1/chat/completionscommon.nodashboard.docs.param_chat_completions
POST /api/chat/openai/environments/{id}common.nodashboard.docs.param_env_chat
POST /api/chat/openai/environments/{id}/chat/completionscommon.nodashboard.docs.param_env_chat_alt
POST /api/openai/environments/chat/completionscommon.nodashboard.docs.param_model_workflow
POST /api/chatcommon.nodashboard.docs.param_simple_chat

dashboard.docs.basic_chat_completion

curl
curl -X POST https://octra.env.pm/v1/chat/completions \
  -H "Authorization: Bearer octra_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ],
    "temperature": 0.7,
    "max_tokens": 1024
  }'

dashboard.docs.streaming_sse

curl
curl -N -X POST https://octra.env.pm/v1/chat/completions \
  -H "Authorization: Bearer octra_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [{"role": "user", "content": "Hello!"}],
    "stream": true
  }'

dashboard.docs.env_based_routing

dashboard.docs.env_routing_intro

curl
curl -X POST https://octra.env.pm/api/openai/environments/chat/completions \
  -H "Authorization: Bearer octra_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "workflow/octra/YOUR_ENV_ID",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

dashboard.docs.parameters_flags

dashboard.docs.params_intro

dashboard.docs.standard_params

dashboard.docs.parameterdashboard.docs.typecommon.requiredcommon.description
messagesarraycommon.yesdashboard.docs.p_messages
modelstringcommon.nodashboard.docs.p_model
streambooleancommon.nodashboard.docs.p_stream
temperaturenumbercommon.nodashboard.docs.p_temperature
max_tokensintegercommon.nodashboard.docs.p_max_tokens
top_pnumbercommon.nodashboard.docs.p_top_p
frequency_penaltynumbercommon.nodashboard.docs.p_frequency_penalty
presence_penaltynumbercommon.nodashboard.docs.p_presence_penalty
stopstring/arraycommon.nodashboard.docs.p_stop
toolsarraycommon.nodashboard.docs.p_tools
tool_choicestringcommon.nodashboard.docs.p_tool_choice

dashboard.docs.octra_params

dashboard.docs.parameterdashboard.docs.typecommon.requiredcommon.description
api_keystringcommon.yesdashboard.docs.o_api_key
sessionstringcommon.nodashboard.docs.o_session
runtimebooleancommon.nodashboard.docs.o_runtime
base_urlstringcommon.nodashboard.docs.o_base_url
repositoriesarraycommon.nodashboard.docs.o_repositories
gitobjectcommon.nodashboard.docs.o_git
metadataobjectcommon.nodashboard.docs.o_metadata
env_idstringcommon.nodashboard.docs.o_env_id

dashboard.docs.git_integration_options

dashboard.docs.parameterdashboard.docs.typecommon.requiredcommon.description
git.branchstringcommon.nodashboard.docs.g_branch
git.pr.createbooleancommon.nodashboard.docs.g_pr_create
git.pr.base-branchstringcommon.nodashboard.docs.g_pr_base

dashboard.docs.repository_context_object

dashboard.docs.parameterdashboard.docs.typecommon.requiredcommon.description
idstringcommon.nodashboard.docs.r_id
namestringcommon.nodashboard.docs.r_name
clone_urlstringcommon.nodashboard.docs.r_clone_url
branchstringcommon.nodashboard.docs.r_branch
visibilitystringcommon.nodashboard.docs.r_visibility

dashboard.docs.sync_streaming_async_modes

dashboard.docs.modes_intro

dashboard.docs.parameterdashboard.docs.typecommon.requiredcommon.description
Syncdefaultcommon.nodashboard.docs.m_sync
Streamingstream: truecommon.nodashboard.docs.m_streaming
Asyncruntime: truecommon.nodashboard.docs.m_async

dashboard.docs.sync_mode

dashboard.docs.sync_intro

curl
curl -X POST https://octra.env.pm/api/openai/environments/chat/completions \
  -H "Authorization: Bearer octra_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --max-time 900 \
  -d '{
    "model": "workflow/octra/YOUR_ENV_ID",
    "messages": [{"role": "user", "content": "Summarise the README."}]
  }'
dashboard.docs.tip_session

dashboard.docs.async_mode

dashboard.docs.async_intro

curl
# 1. Queue the work
curl -X POST https://octra.env.pm/v1/chat/completions \
  -H "Authorization: Bearer octra_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "workflow/octra/YOUR_ENV_ID",
    "messages": [{"role": "user", "content": "Refactor the auth module."}],
    "runtime": true
  }'
# -> {"status_code": "sc_1a2b3c", "session": "..."}

# 2. Poll it
curl https://octra.env.pm/api/chat/environments/YOUR_ENV_ID/status/sc_1a2b3c/check/chat \
  -H "Authorization: Bearer octra_YOUR_API_KEY"

dashboard.docs.tasks_intro

dashboard.docs.parameterdashboard.docs.typecommon.requiredcommon.description
GET /api/chat/environments/{id}/taskscommon.nodashboard.docs.t_list
POST /api/chat/environments/{id}/taskscommon.nodashboard.docs.t_start
GET /api/chat/environments/{id}/tasks/{task_id}common.nodashboard.docs.t_status
GET /api/chat/environments/{id}/tasks/{task_id}/streamcommon.nodashboard.docs.t_stream
POST /api/chat/environments/{id}/tasks/{task_id}/cancelcommon.nodashboard.docs.t_cancel

dashboard.docs.adapters

dashboard.docs.adapters_intro

dashboard.docs.warning_adapter

dashboard.docs.grpc

dashboard.docs.grpc_intro

protobuf
service ChatService {
  rpc Chat(stream ChatRequest) returns (stream ChatResponse);
  rpc SubmitChat(ChatSubmitRequest) returns (ChatSubmitResponse);
  rpc GetChatStatus(ChatStatusRequest) returns (ChatStatusResponse);
}

message ChatRequest { string prompt = 1; }
message ChatResponse {
  oneof payload { string token = 1; string error = 2; }
  bool done = 3;
}
bash
grpcurl -plaintext \
  -H "x-api-key: octra_YOUR_API_KEY" \
  -H "x-environment-id: YOUR_ENV_ID" \
  -d '{"prompt": "Hello, agent!"}' \
  YOUR_HOST:9090 chat.ChatService/Chat

dashboard.docs.graphql

dashboard.docs.graphql_intro

graphql
type Mutation {
  chat(environmentId: String!, prompt: String!, apiKey: String!): String
  submitChat(environmentId: String!, prompt: String!, apiKey: String!): ChatSubmitResult
}

type Query {
  ping: String
  chatStatus(environmentId: String!, statusCode: String!, apiKey: String!): ChatStatusResult
}
curl
curl -X POST https://octra.env.pm/graphql \
  -H "Content-Type: application/json" \
  -d '{"query": "mutation { chat(environmentId: \"YOUR_ENV_ID\", prompt: \"Hello!\", apiKey: \"octra_YOUR_API_KEY\") }"}'

dashboard.docs.websocket

dashboard.docs.websocket_intro

typescript
const socket = new WebSocket(
  'wss://octra.env.pm/ws/chat/YOUR_ENV_ID?token=octra_YOUR_API_KEY',
);

socket.onopen = () => socket.send(JSON.stringify({ prompt: 'Hello, agent!' }));
socket.onmessage = (event) => {
  const frame = JSON.parse(event.data);
  if (frame.type === 'token') process.stdout.write(frame.token);
  if (frame.type === 'error') console.error(frame.error);
  if (frame.type === 'done') socket.close();
};

dashboard.docs.code_examples

dashboard.docs.examples_intro

bash
# Non-streaming chat
curl -X POST https://octra.env.pm/api/openai/environments/chat/completions \
  -H "Authorization: Bearer octra_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "workflow/octra/YOUR_ENV_ID",
    "messages": [{"role": "user", "content": "Hello!"}],
    "temperature": 0.7
  }'

# Streaming chat
curl -N -X POST https://octra.env.pm/api/openai/environments/chat/completions \
  -H "Authorization: Bearer octra_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "workflow/octra/YOUR_ENV_ID",
    "messages": [{"role": "user", "content": "Hello!"}],
    "stream": true
  }'

# Async (background task)
curl -X POST https://octra.env.pm/api/openai/environments/chat/completions \
  -H "Authorization: Bearer octra_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "workflow/octra/YOUR_ENV_ID",
    "messages": [{"role": "user", "content": "Create a REST API"}],
    "runtime": true
  }'

dashboard.docs.error_handling

dashboard.docs.errors_intro

dashboard.docs.parameterdashboard.docs.typecommon.requiredcommon.description
400dashboard.docs.http_bad_requestcommon.nodashboard.docs.e_400
401dashboard.docs.http_unauthorizedcommon.nodashboard.docs.e_401
404dashboard.docs.http_not_foundcommon.nodashboard.docs.e_404
429dashboard.docs.http_too_many_requestscommon.nodashboard.docs.e_429
500dashboard.docs.http_internal_errorcommon.nodashboard.docs.e_500
502dashboard.docs.http_bad_gatewaycommon.nodashboard.docs.e_502
json
// Error response format
{
  "error": {
    "message": "Environment not found",
    "type": "not_found_error",
    "code": 404
  }
}