Getting Started

Getting Started

Installation

  1. Download the appropriate installer for your platform from the Download section
  2. Install Resonance:
    • Linux: Make the AppImage executable (chmod +x Resonance*.AppImage) and run it, or extract the ZIP file
    • macOS: Open the DMG file and drag Resonance to your Applications folder
    • Windows: Run the installer or use the portable version
  3. Launch Resonance from your applications menu

Making Your First Request

  1. Create a collection:
    • Right-click in the empty collections area and select New Collection
    • Enter a collection name and click Create
  2. Add a request to your collection:
    • Right-click the collection and select New Request
    • Or right-click in the empty collections area and select New Request
  3. Configure your request:
    • Select the HTTP method (GET, POST, PUT, DELETE, etc.)
    • Enter the API URL (e.g., https://api.example.com/users)
    • Add headers, query parameters, or body data as needed in the tabs below
  4. Click Send Request to execute the request
  5. View the response in the tabbed interface (Body, Headers, Cookies, Performance)

Importing Collections

Resonance supports importing from OpenAPI and Postman:

Import OpenAPI/Swagger Spec
  1. Click the Import button in the collections sidebar header
  2. Select OpenAPI Collection from the menu
  3. Choose your OpenAPI 3.0 YAML or JSON file
  4. Resonance will automatically:
    • Parse all endpoints from the specification
    • Generate example request bodies from schemas
    • Organize endpoints by path structure
    • Extract authentication requirements
Import Postman Collection
  1. Click the Import button in the collections sidebar header
  2. Select Postman Collection from the menu
  3. Choose your Postman Collection v2.0 or v2.1 JSON file
  4. All request examples and authentication settings will be preserved
Import Postman Environment
  1. Click the Import button in the collections sidebar header
  2. Select Postman Environment from the menu
  3. Choose your Postman Environment JSON file
  4. All variables will be imported into a new environment

Using Environments and Variables

Environments help you manage different API configurations (development, staging, production):

Creating and Managing Environments
  1. Click the environment selector dropdown in the collections sidebar
  2. Click Manage Environments... at the bottom of the dropdown
  3. In the Environment Manager dialog:
    • Click Add Environment to create a new environment
    • Give it a name (e.g., "Development", "Staging", "Production")
    • Add variables with key-value pairs:
      • baseUrlhttps://api-dev.example.com
      • apiKeyyour-api-key
    • Save the environment
Switching Environments
  1. Click the environment selector dropdown in the collections sidebar
  2. Select the environment you want to use from the list
  3. The active environment is marked with a checkmark
Using Variables in Requests

Once you have an active environment, use variables with double curly braces:

  • In URLs: {{baseUrl}}/users
  • In headers: X-API-Key: {{apiKey}}
  • In request bodies: {"token": "{{authToken}}"}
  • Variables are substituted automatically when sending requests

Setting Up Authentication

Resonance supports multiple authentication methods:

  1. Open the Authorization tab in the request configuration panel
  2. Select your authentication type:
    • Bearer Token: Enter your JWT or access token
    • Basic Auth: Provide username and password
    • API Key: Configure header/query parameter name and value
    • OAuth 2.0: Configure authorization flow parameters
    • Digest Auth: Provide username and password for digest authentication
  3. Use environment variables for sensitive credentials: {{token}}
  4. Authentication settings are saved per endpoint

Using Workspace Tabs

Work on multiple requests simultaneously:

  1. Click the + button in the workspace tab bar to open a new tab
  2. Each tab maintains independent state (URL, method, headers, body, etc.)
  3. Switch between tabs using keyboard shortcuts (Ctrl/Cmd+1 through Ctrl/Cmd+9)
  4. Close tabs with the x button or middle-click
  5. Tab state persists across application restarts

Working with Scripts

Automate workflows with pre-request and test scripts:

  1. Open the Scripts tab in the request panel
  2. Choose between Pre-request and Test sub-tabs
  3. Write JavaScript code to:
    • Pre-request: Modify headers, calculate signatures, set timestamps
    • Test: Validate responses, extract data, save to environment
  4. Example pre-request script:
    // Set current timestamp
    environment.set('timestamp', Date.now());
    
    // Add custom header
    request.headers['X-Request-Time'] = new Date().toISOString();
  5. Example test script:
    // Validate status code
    expect(response.status).toBe(200);
    
    // Extract token from response
    const data = JSON.parse(response.body);
    environment.set('authToken', data.token);
    
    // Log result
    console.log('Token saved:', data.token);
  6. View script output in the Scripts tab of the response panel

Using the Mock Server

Test API clients without a backend:

  1. Import an OpenAPI specification to enable mock responses
  2. Click the Mock Server icon in the toolbar
  3. Configure the mock server:
    • Set the port (default: 3000)
    • Enable collections you want to mock
    • Add custom response delays per endpoint
    • Override default responses with custom JSON
  4. Click Start Server
  5. Point your API client to http://localhost:3000
  6. View incoming requests in the request log

Keyboard Shortcuts

Speed up your workflow with keyboard shortcuts:

  • Press Ctrl/Cmd+/ to view all available shortcuts
  • Common shortcuts:
    • Ctrl/Cmd+Enter - Send request
    • Ctrl/Cmd+S - Save current endpoint
    • Ctrl/Cmd+1-9 - Switch workspace tabs
    • Ctrl/Cmd+T - New workspace tab
    • Ctrl/Cmd+W - Close current tab
    • Ctrl/Cmd+, - Open settings

Exporting Code

Generate code in your preferred language:

  1. Configure your request (URL, method, headers, body)
  2. Right-click on the endpoint or use the export button
  3. Select Export Code
  4. Choose from 9 languages:
    • cURL
    • Python (requests)
    • JavaScript (Fetch)
    • Node.js (fetch)
    • Go (net/http)
    • PHP (cURL)
    • Ruby (net/http)
    • Java (HttpClient)
  5. Copy the generated code to your clipboard

Next Steps

  • Explore the Features section for advanced capabilities
  • Read the Using Scripts guide for detailed script documentation
  • Check out Screenshots to see the interface in action
  • Join the community on GitHub
  • Report issues or request features in the issue tracker