API virtualization for testing and frontend teams

Test against any API, before it's ready

Record real traffic or import an OpenAPI spec and get a working mock API in minutes. Every call is checked against the contract, and it all runs in your own cloud.

Runs in your own cloud. No changes to your application code.

Runs on Azure Google Cloud AWS Docker
your test suite → APIKlone
$ curl -X POST https://mocks.acme.dev/orders \
    -H "Content-Type: application/json" \
    -d '{"sku":"LAP-15","qty":2}'

HTTP/1.1 201 Created
x-mock-response: true
x-apiklone-oas-validation: Passed

{
  "orderId": "3f787860-8fea-46f8-8035-4ef64c4c63f0",
  "sku": "LAP-15",
  "qty": 2,
  "status": "CONFIRMED"
}
The problem

Delivery moves at the speed of your slowest backend

Blocked testing

Testing and frontend work waits until backend services are deployed and stable.

Unstable environments

Shared staging suffers from corrupted data, downtime and rate limits.

Limited coverage

Live backends rarely produce the errors, slow responses and edge cases you need to test.

How it works

One layer in front of your APIs, three modes

Point your application at APIKlone instead of the backend. For each endpoint and method, choose what happens to the call.

Your consumersTest suites, pipelines, frontends
APIKloneDecides per endpoint and method
Live backendReached only when the mode needs it
Record

Capture real traffic

Forwards each call and saves the request and response as a mock file.

Passthrough

Pass straight through

Forwards each call to the backend untouched. Nothing is saved.

Stubbed response

Bypass the backend

Answers with a saved stubbed response. The backend is never called.

Capabilities

From a spec to a mock API you can trust

Three things make a mock useful: it exists quickly, it stays true to the contract, and it behaves like the real service.

Mocks from your OpenAPI spec, no recording needed

Upload a Swagger 2 or OpenAPI 3 file and every operation becomes a live endpoint with a sample response built from its schema.

  • Path parameters understood: /products/42 finds the mock for /products/{id}
  • Returns the status codes the spec documents
  • Mock files listed by operation, ready to edit
  • The same import is available from a pipeline through the REST API
products.yaml → mock API
# uploaded: products.yaml (OpenAPI 3.0)

GET    /shop/products          200
POST   /shop/products          201
GET    /shop/products/{id}     200
PUT    /shop/products/{id}     200

4 mock endpoints live

Every call checked against the contract

Turn on strict validation and APIKlone enforces the spec on the way in and reports on it on the way out.

  • A request that breaks the contract gets a 400 naming the field at fault
  • Each mock response is labelled Passed or Failed in a header, without stopping your test
  • Mocked answers are marked, so a test can tell them from live ones
  • Every failure is written to the server log with the reason
contract validation
POST /orders   {"sku":"LAP-15"}

HTTP/1.1 400 Bad Request

{
  "error": "OAS Schema Validation Failed",
  "details": [{
    "path": "qty",
    "message": "must have required property 'qty'",
    "location": "body"
  }]
}

Mocks that behave like the real service

A fixed response only gets you so far. Fill a mock from the request that triggered it, and slow it down when you need to test patience.

  • Dynamic responses: echo IDs, body fields and headers, or add a fresh UUID and timestamp
  • Response delay of up to 60 seconds, to exercise timeouts and loading states
  • Edited in the browser, with a picker for the placeholders
orders_POST.json
{
  "statusCode": 201,
  "delayMs": 300,
  "templating": true,
  "headers": { "Content-Type": "application/json" },
  "body": {
    "orderId": "{{uuid}}",
    "sku": "{{request.body.sku}}",
    "qty": "{{request.body.qty}}",
    "createdAt": "{{now}}"
  }
}

Traffic recording

Capture real requests and responses once, then replay them offline as often as you like.

Key-based routing

Up to three request fields choose which response is served: success, not found, declined.

Async callbacks

Acknowledge now, then send the callback to your application after a delay you set.

Portable configs

Export an API's endpoints, mocks and spec as one file and import it into another environment.

Enable or disable

Park a whole config without deleting it, and switch between versions of the same API.

Headless REST API

Create configs, import specs and add mocks from a pipeline, with no clicks in the UI.

Governance

Control over who does what

Built for teams that have to answer "who changed this?" and "where does our data go?"

Single sign-on

Sign in through your identity provider with SAML or OpenID Connect.

Audit trail

Sign-ins, key changes and config edits, each with who, what, when and outcome.

API keys

One labelled key per pipeline, named in the audit trail and revocable on its own.

Your data stays put

APIKlone runs as one non-root container inside your own perimeter.

All of this is part of APIKlone Enterprise. See pricing.

Deployment

Runs in your cloud, on your terms

One container plus permanent storage. Follow a step-by-step guide for your cloud, start with one replica and scale out when your teams depend on it.

Or try it on your laptop first

Pull the image, pass your activation key and mount a folder for its data. The dashboard is on port 3000.

docker quick start
docker run -d \
  --name apiklone \
  -e ACTIVATION_KEY="<your-activation-key>" \
  -p 3000:3000 \
  -v $(pwd)/data:/app/data \
  apiklone/apiklone:latest

Ship faster. Test without waiting.

Bring one of your own OpenAPI specs and have a working mock API before your next stand-up.

Contact sales

Tell us what you're trying to test and we'll help you work out the right setup for your environments.

Enterprise solutions

Single Sign-On (SSO), comprehensive audit logs, and dedicated compliance architectures.

Tailored onboarding

Dedicated technical account managers to align your engineering organization.

Direct access and support

Priority SLA responses, or email us any time at support@apiklone.com.

Send an inquiry