Beyond Cortex
Cortex References

Sessions

Sessions

Manage training session templates via the Cloud API. All session commands require a VOLTRA API key. No device connection required.

Cortex only supports managing session templates — it does not execute session training. To follow a template's exercise sequence for actual training, use the Beyond+ App (iOS only).

Session Management

CommandOptionsNotes
voltra session list[--api-key <key>] [--json]List all session templates for the account.
voltra session detail <id>[--api-key <key>] [--json]Show full details of a single session template by numeric ID.
voltra session validate--from <path> [--json]Validate an Agent v1 create payload locally without an API key or upload.
voltra session create--from <path> [--api-key <key>] [--json]Create through the Agent v1 endpoint. Fields: title, accountRole, label, sessionConfig, blockList, connectionMode; optional originSessionId. Do not include response-only IDs or groupIdList.
voltra session update <id>--from <path> [--api-key <key>] [--json]Update a session from a JSON file (SessionUpdateRequest). Only four fields: title, sessionConfig, blockList, connectionMode. Other fields (accountRole, label, originSessionId, blockId, itemId, groupIdList) are rejected.
voltra session delete <id>[--delete-records] --yes [--api-key <key>] [--json]Delete a session. Requires --yes. --delete-records also removes related training records.
voltra session list --json
voltra session detail 12 --json
voltra session validate --from ./plan.json
voltra session create --from ./plan.json
voltra session update 12 --from ./plan.json
voltra session delete 12 --yes
voltra session delete 12 --yes --delete-records

Update is a replace-style rebuild: the backend deletes the old record and creates a new one, returning a new ID. When returned ID ≠ input ID, Cortex outputs Replaced session <oldId> → new id <newId>.

Agent v1 create contract:

  • blockType is 1 Normal or 2 Circuit; workoutMode is limited to 1..4.
  • Blocks, Items, Sets, sessionConfig, actionModeConfig, and modeConfig are required.
  • Item and Set positions are consecutive, unique, and 1-based.
  • Weight is 5..230 lb, Resistance Band 15..230 lb, Damper 1..10, and Isokinetic 10..200 lb.
  • Reps are 1..99; rest is 0..290 seconds in 10-second steps.
  • chainsValue and inverseChainsValue can never both be positive. At Set level, all-null inherits Item defaults while 0 / null explicitly disables the atomic override group.
  • Direction must match Hand Mode. Drop Set, Twin, and Isokinetic configurations must satisfy their cross-field rules.
  • The backend remains the final validator. Validation errors may include machine-readable path, rule, and detail fields.

session validate reports all semantic failures with path, rule, and detail; session create runs the same validator before upload. The strict create-only mode subset must not be blindly imposed on the existing update endpoint.

Utilities

CommandOptionsNotes
voltra session rename <id> <title>[--api-key <key>] [--json]Rename a session template.
voltra session touch <id>[--time <unix_seconds>] [--api-key <key>] [--json]Update active timestamp. Default: current time. --time accepts Unix seconds (milliseconds rejected).
voltra session rename 12 "Push Day A"
voltra session touch 12
voltra session touch 12 --time 1719900000