Skip to main content
Docs: ApiGear Core

Scripting

ApiGear provides a powerful JavaScript-based scripting environment that lets you create dynamic behaviors for your APIs without writing compiled code. This is invaluable during development, testing, and demonstration phases.

Why Scripting?​

When developing systems with defined APIs, you often need to:

  • Test client code before the backend is ready
  • Simulate complex behaviors that are hard to reproduce manually
  • Demo features without deploying full infrastructure
  • Prototype interactions between services quickly

ApiGear's scripting capabilities address these needs with two complementary approaches.

Two Sides of Scripting​

┌─────────────────┐ ┌─────────────────┐
│ │ │ │
│ Scripted │◄───── API ────────►│ Scripted │
│ Clients │ Calls │ Backends │
│ │ │ │
│ (Stimulation) │ │ (Simulation) │
│ │ │ │
└─────────────────┘ └─────────────────┘
Calls TO Responds TO
your service your client

Scripted Backends​

Simulate your service — Create mock implementations that respond to API calls from your real client code.

Use scripted backends when you want to:

  • Develop client applications before the backend exists
  • Test edge cases and error conditions
  • Run demos without production dependencies
  • Create reproducible test scenarios

The scripted backend acts as a stand-in for your real service, responding to method calls, maintaining property state, and emitting signals.

Learn more about Scripted Backends →

Scripted Clients​

Stimulate your service — Create automated clients that call your real backend to test its behavior under various conditions.

Use scripted clients when you want to:

  • Load test your service with realistic traffic patterns
  • Automate integration testing
  • Verify service behavior with scripted sequences
  • Monitor how your service responds to specific inputs

The scripted client connects to your running service and executes predefined sequences of API calls.

Learn more about Scripted Clients →

Scripting Environment​

Both scripted backends and clients use the same JavaScript runtime with access to:

  • Full API definitions — Properties, methods, and signals from your ObjectAPI modules
  • Timing controls — Delays, intervals, and scheduled actions
  • State management — Read and modify property values
  • Event handling — React to property changes and signals
  • Console output — Log messages for debugging

Scripts are executed by the ApiGear CLI or Studio, connecting via WebSocket to interact with the system.

Getting Started​

  1. Define your API using ObjectAPI
  2. Generate simulation files (optional) or write scripts manually
  3. Run the script with the CLI: apigear sim run script.js

Choose the approach that fits your development phase: