Download

Usage Documentation

Master API Calls with this comprehensive guide.

Goal

API Calls helps you exercise REST services without relying on a browser or external tools. It lets you craft HTTP requests, send them, inspect responses, and organise them into tabs, collections, and workspaces.

Api Calls Interface

Requirements and Installation

  • Official packages: download the latest release for Linux, macOS, or Windows from GitHub Releases.
  • Arch Linux: available through the api-calls-bin package (AUR).
  • Running from source:
    1. npm install
    2. npm run dev to launch the application in development mode.
    3. npm run build:<platform> to generate installers (linux/mac/win).

First Run

  1. On launch, the default workspace opens with the side menu collapsed.
  2. Click New Tab (the + icon or Ctrl/Cmd+T) to prepare a new request.
  3. Choose the HTTP method, enter the URL, and add the required parameters or body.
  4. Press Ctrl/Cmd+Enter or the Send button to execute the request.
  5. Review the response at the bottom: status, duration, size, and body.

Interface at a Glance

  • Optional top menu: quick access to actions, view, tools, and updates (toggle from Settings or Ctrl/Cmd+M).
  • Side menu: tabs for Collections, Environments, History, Cookies, and Settings (switch via shortcuts).
  • Side panel: displays the content of the selected section (collection tree, environments, etc.).
  • Central tabs: request editor, header/body configuration, and response viewer. Tabs support drag-and-drop reordering.
  • Bottom console: log of sent requests and debugging messages.

Building and Sending Requests

  1. Method and URL: use the selectors for GET, POST, PUT, and more. URLs auto-complete with environment variables when selected.
  2. Query parameters: add rows in the Params section.
  3. Headers: add request headers. I will overwrite collection headers.
  4. Body: choose the mode (JSON, YAML, text, form-data, x-www-form-urlencoded, file). The Monaco-based editor offers syntax highlighting.
  5. Authentication: configure Bearer, Basic, or custom tokens from the Auth tab.
  6. Environment: assign variables via Environment (collections can specify a preferred environment).
  7. Send and cancel: Ctrl/Cmd+Enter sends the request, Esc cancels it.

Scripting

You can write JavaScript code to execute before a request is sent (Pre-request Script) or after a response is received (Post-request Script).

Available Resources

  • console: Use console.log(message) or console.error(message).
  • environment: access and modify environment variables.
    • environment.get(key)
    • environment.set(key, value)
    • environment.unset(key)
  • http: Make asynchronous HTTP requests directly from your script.
    • await http.get(url, headers)
    • await http.post(url, body, headers)
  • request: Access the current request details.
  • response (Post-script only): Access the received response.

Managing Tabs

  • Duplicate: right-click a tab and choose Duplicate tab.
  • Restore: Ctrl/Cmd+Shift+T reopens the last closed tab.
  • Move: drag tabs to reorder them.
  • Search: open the tab switcher with Ctrl/Cmd+O to find a tab by name.
  • Close: Ctrl/Cmd+W closes the active tab.
  • Bulk close: right-click for Close others or Close all.
  • Save a request: Ctrl/Cmd+S saves to the linked collection.

Collections

  • Create folders and sub-folders to group related requests.
  • Assigning an environment to a collection propagates default variables to linked tabs.
  • Use Pre-request Script to run JavaScript before sending a request.
  • Import and export from the context menu: supports Postman v2, OpenAPI, and custom YAML/JSON files.
  • Define collection headers that will be sent on requests.

Environments and Variables

  • Define environments (dev, staging, prod) with key/value pairs.
    • Insert variables as {{variable}} in URLs, headers, or bodies.
    • Define environment headers that will be sent on requests.
  • Duplicate, reorder, or export complete environments as needed.
  • Pick the active environment per tab from the request toolbar.

History and Cookies

  • History: stores up to maxHistory requests. Reopen entries as tabs or clear them in bulk.
  • Cookies: when Manage cookies is enabled, stored cookies are listed and can be cleared per domain.

Workspaces

  • Separate collections, environments, tabs, and cookies per project.
  • Access the list and workspace actions from the side menu.
  • Create, duplicate, rename, and remove workspaces. Each workspace is stored in its own file.

Settings

  • Appearance: Theme, Window mode, Request orientation.
  • Behavior: Menu visibility, Auto-scroll, Notifications.
  • Network: Request timeout, Redirect handling, SSL rejection.
  • Default headers: define headers that should be applied automatically.

Auto Updates (Beta)

  • On macOS and Windows, the app checks for updates in the background.
  • On Linux, install new versions manually.

Essential Shortcuts

Tabs

  • Ctrl/Cmd+T - New tab
  • Ctrl/Cmd+W - Close tab
  • Ctrl+Tab - Navigate tabs
  • Ctrl/Cmd+Shift+T - Restore tab

Requests

  • Ctrl/Cmd+Enter - Send request
  • Ctrl/Cmd+S - Save request
  • Esc - Cancel request

Tips and Troubleshooting

  • If an HTTPS call fails, temporarily disable Reject unauthorized in Settings.
  • Check the bottom console for validation messages.
  • Use Restore tab to recover accidentally closed tabs.

Where Data Lives

Collections, environments, tabs, and cookies are stored per workspace under Electron's user data directory.

Additional Resources