PolyApiIDE Quick Start

Step by step: from installing the extension to your first request, variables, collection import and a folder run. No heavy desktop app — everything in Chrome.

PolyApiIDE is an HTTP client and API IDE in the browser. Collections, environments and responses stay local in Chrome. A license key is only needed for paid features; Free works without registration.

1. Install the extension

Google Chrome, Microsoft Edge and other Chromium browsers are supported.

  1. Recommended: install from the Chrome Web Store — the extension is published, no site account required.
  2. Alternative for a Lifetime zip or development: chrome://extensions/ → Developer mode → Load unpacked and select the PolyApiIDE folder.
  3. Pin the icon. After file updates click ↻ Reload on the extension card.

No site account is required. Collection data does not leave the browser unless you turn on cloud backup or AI yourself.

2. Open the IDE

Click the icon → Open client. You get:

  • left — workspaces, collections and the request tree;
  • center — method, URL, tabs Params / Headers / Cookies / Variables / Body / Auth / Scripts / Settings / QA / Load;
  • right — environment, curl preview, integrations; Action log link (Free);
  • bottom — response: Body, Headers, Console. Fullscreen response is Free. Console Clear shows only on the Console tab.

Under the URL bar, after variable substitution, you see a decoded URL — easier to read queries like fields=id,title.

3. Create a workspace

“+” in the sidebar creates a space. The API type switches the editor:

  • REST — method, URL, params, headers, body (raw / urlencoded / form-data / file);
  • GraphQL — endpoint, Query and Variables;
  • WebSocket — Connect / Send message;
  • SOAP — URL, SOAPAction, XML envelope;
  • gRPC — service/method and JSON (transcoding / gateway).

Multiple spaces open as top tabs. Unsaved edits prompt before switching.

4. Send the first request

Create a collection (“+” next to Collections) and a request.

  1. Set method and URL. You can write {{baseUrl}}/v1/users — the value comes from the environment.
  2. Params are query string; Headers are headers. Empty disabled rows are not sent.
  3. Body: none / raw (JSON) / x-www-form-urlencoded / form-data / file. GET and HEAD never send a body (Chrome fetch limitation).
  4. Auth: for Bearer leave {{token}} — it resolves from the token variable.
  5. Click Send.

Response: JSON tree, headers, session console. Status, time and size sit in badges above the body.

5. Variables and environments

Postman-style substitution: {{name}} and {identifier}. Built-in dynamics: {{$guid}}, {{$timestamp}}, {{$randomInt}} and other presets.

Hierarchy (highest → lowest): request → collection → space (globals) → environment.

  • An empty value is not applied and does not wipe a lower layer. An empty Postman collection token will not hide the environment token.
  • In the UI an empty variable starts disabled; typing a value enables it. You may still enable an empty row manually — it still will not substitute.
  • Active environment is the select on the right; ⚙ opens the editor.
  • The request Variables tab and “Applied variables” show the effective key, value and source.

In a collection run, a non-empty data file (CSV/JSON) cell wins over the request variable. An empty cell falls back to the default hierarchy.

6. Authorization

Request Auth types: inherit (Postman-like), bearer, basic, API key, OAuth2, JWT and others.

  • An empty inherit request uses folder auth, then collection auth.
  • A Public folder with noauth strips Authorization even if the collection has bearer.
  • Empty bearer/JWT/API key falls back to {{token}}.

If you see 401, open Applied variables and check that token is not empty on a higher layer and that an environment is selected.

7. Import collections

The ↓ button next to Collections. On Free: OpenAPI/Swagger, WSDL, GraphQL SDL, .proto, AsyncAPI, Postman Collection / Environment, curl, Insomnia, Hoppscotch, Thunder. Sample files: https://polyapiclient.ru/examples/.

Files are validated before import: the button stays disabled on error. Drag-and-drop onto the window opens the same dialog.

Collection or folder patches (↗ export / ↙ apply) share targeted edits with the team without a full IDE snapshot; patches are on paid plans. You can save the patch file into a local repo directory and commit / push.

8. Collection Runner and load

▶ on a collection or folder opens the runner.

  • Functional — iterations, delay, data file, stop on error, scripts. Report: run profile, decoded URLs, per-request result and conclusion.
  • Performance — Fixed / Ramp up / Spike / Peak, VU, RPS, p95 and error budgets.

The Load tab on a single request uses the same performance profiles. After a run: Ask AI, PDF, metric export (JSON, CSV, OpenMetrics, Influx, Grafana, Pushgateway).

Functional runner and Load are paid features (Month / Year / Lifetime).

9. Per-request QA and scenarios

The QA tab: expected status, latency, body contains, JSON path, auth / PII / 5xx checks. Results appear right after Send.

Workspace QA scenarios are step chains, status branches and negative cases (⋯ menu on a request). Reports export to PDF.

Per-request QA and scenarios are on paid plans.

10. Proxy, AI, backup and license

  • Proxy — at space, collection or request (narrower wins). Each AI provider has its own proxy list.
  • AI — Ask / Explain on a request and load; multiple providers; design a collection. Server chat history is truncated text after secrets and personal data are stripped; no attachment bytes. Do not put live secrets in prompts.
  • Backup — local snapshot, manual cloud backup, email. The cloud never pulls data by itself — only when you click.
  • License — Settings → License. Free needs no key (up to 2 active sessions). The POLY-… key is bound to email. 14-day demo is once per email via the website form; when it expires IDE data is reset — back up first. Device limits are explained in section 11.

11. Active IDE sessions

To prevent one key from being shared across a whole office, PolyApiIDE tracks active sessions — an open IDE window in a specific browser profile on a device. While the IDE is open, the extension sends a short heartbeat to the server; when you close it, the session is released (with a small delay).

Limits per key / Free:

  • Free — up to 2 active sessions;
  • 14-day demo — 1 active session;
  • Month, Year and Lifetime — up to 5 concurrent sessions per key.

That covers laptop + desktop with headroom — not “one key for the entire company”. The key is bound to the purchaser’s email.

If you open the IDE on a new device and the limit is full: a dialog appears. Choose “Stay here” to claim the slot on this profile and end the other session, or close the IDE on the other device and try again.

What the server stores for a session (not your collections or requests): a hashed device identifier, extension instance id, hashed IP, country from IP (for anomaly scoring), email and plan. See the License Agreement and Privacy Policy.

If you legitimately work from two machines, Month / Year / Lifetime are meant for that. Suspected key sharing may lead to restrictions under the agreement.

Common first-run issues

  • 401 while the environment token is set — usually an empty token on the collection or request. Empty values should no longer wipe env; reload the extension if you are on an old build.
  • GET Network Error “cannot have body” — the request still had a body. Current builds omit body on GET/HEAD.
  • A URL without https:// will not send. Check baseUrl in the environment.
  • {{token}} not replaced — select an environment on the right and open Applied variables.