Menu: Developer pane

Get started

Developer pane

The console's built-in workbench for request logs, real API calls, test data and the JSON behind each page.

Every page inside a project in the console has a developer pane docked at the bottom of the page, like a browser's dev tools. Open it with Developer at the bottom of the sidebar (the terminal button in the top bar on a phone) or press Ctrl + ** (Control and the backtick key). On a Mac, **⌘ + works too when macOS isn't using it to switch windows, so Ctrl + ` is the one to remember.

The pane has four tabs: Logs, Shell, Test data and Inspector.

  • Resize it by dragging its top edge (or focus the edge and use the arrow keys), from 180 px up to 85% of the window. Maximize grows it to that limit; Restore size goes back.
  • The page above it stays scrollable, and nothing hides behind the pane.
  • Whether it's open, its height and the tab you were on are remembered in this browser.
  • Links can open it: add ?dev=logs, ?dev=shell, ?dev=test-data or ?dev=inspector to any project page, for example /app/acme/collections/support?dev=logs.
  • On a phone it opens as a full-height sheet with the same tabs.

Logs

The project's request log, newest first: gateway requests, published endpoint calls, console test runs and endpoint drafting. On a collection or an endpoint, the log shows only that collection's or endpoint's requests, with a chip that says so: remove the chip to see everything. Filter by status (succeeded or failed), kind and key, and page through older requests.

Turn on Live to refresh the log every 5 seconds while the pane shows it. It pauses while the browser tab is in the background.

Select a request to see its details: the request ID (with a copy button), time, kind, key, collection, endpoint and version, the model requested and the model that answered, fallbacks, whether it was cached, tokens, billed cost, latency, time to first byte, status and error code, and whether your own provider key ran it. Request and response bodies aren't stored: these details are all Scalaix keeps for a request. Open in Usage goes to the project's usage report.

Shell

Send real API calls with one of the project's keys, the way your code would:

  1. Paste a key (sx_…). Keys are shown only once, when they're created; make one on the Keys page if you don't have it at hand. The key stays in this browser tab only and is shown masked; Forget removes it.
  2. Pick a request:
    • List models: GET /v1/models, the models this key may use.
    • Chat completion: POST /v1/chat/completions with a JSON body you can edit. Turn on Stream to get the answer as it's written (it sets "stream": true).
    • Call an endpoint: POST /<project>/<collection>/<endpoint> for one of the project's endpoints. The body starts from the endpoint's example inputs; set Version to call a version other than the latest published one.
  3. Send (or Ctrl + Enter in the body).

The response shows the status, the time it took, the Scalaix headers (X-Scalaix-Request-Id, X-Scalaix-Model, X-Scalaix-Cache, X-Scalaix-Fallbacks) and the body. Copy as curl copies the exact request against https://www.scalaix.com, with the key written as $SCALAIX_API_KEY. The last 20 calls are listed under History for this browser tab; select one to load it again.

Shell calls are ordinary API calls: they're billed, count toward the key's budget and rate limit, and show up in Logs and usage.

Test data

Everything for testing endpoints, in three views:

  • Environments: the project's named sets of variables for test inputs ({{env.key}}), with secrets.
  • Test cases: an endpoint's saved test cases (the endpoint on screen, or pick a collection and endpoint). Run one, load it into the endpoint editor's Test panel, edit its checks, duplicate, reorder or delete it.
  • Runs: run every case of the collection, or of one endpoint, against the draft or a published version.

The endpoint editor keeps its quick Test panel: the gear next to its environment picker opens Environments here, and Save as test case opens Test cases with the new case. Run all test cases on a collection's Endpoints tab opens Runs. See Test with environments and saved cases.

Inspector

The JSON behind what's on screen, read-only, with Copy JSON. Hover a value to see its path.

OnInspector shows
An endpoint in the editorThe draft definition as you edit it, and the last test run's response
A collectionThe collection and its endpoints' definitions
A versionThe version with its frozen snapshot
Keys, with a key's rules openThe rules being edited
Any other project pageThe project, with its settings