BETA
Synqly Mock Providers are currently under development and may undergo breaking changes before
declared generally available.

# Mock Providers

Mock providers allow you to quickly test integrations and build proof-of-concepts without needing
access to real security tool services or environments. They're perfect for creating
proof-of-concepts, CI/CD pipelines, and customer demonstrations.

## Overview

Mock providers are simulated versions of real security tool integrations that return realistic
sample data. They use the exact same Synqly APIs and endpoints as production providers, making it
seamless to switch between mock and real providers.

## Current Limitations

- **Dataset size**: Limited to 50 total records per mock provider
- **Operations**: Currently supports query/get operations only
- **Data persistence**: Create operations don't persist data


## Features

### Static Datasets

Mock providers use curated datasets pulled from real provider data, ensuring realistic responses for
testing and development. Each mock provider includes a dataset version (currently `basic_v0` for
most providers).

### Query Filtering

Mock providers support the same filtering capabilities as their real counterparts.

Supported filters and operators are defined for each provider in the [Synqly
Documention](https://docs.synqly.com/guides/getting-started/overview) connector guides. Here is an
example of a filter and supported field guide:

- [Assets Query Filters](https://docs.synqly.com/guides/connectors/assets/query-filters#assets-query-filters)
- [Assets Supported Fields](https://docs.synqly.com/guides/connectors/assets/supported-fields#assets-supported-fields)


For general filtering syntax, see the [Management API Filtering
Guide](https://docs.synqly.com/guides/getting-started/management-api-filtering).

## Key Concepts

### Test Mode vs Production

- Mock providers are only available in test mode
- Test mode resources are isolated from production
- In the UI: Use the test mode toggle
- In the API: Set `environment: "test"` when creating accounts


## FAQ

### What is the primary purpose of mock providers?

Mock providers enable customers to quickly engage in proof-of-concepts and can be integrated into
CI/CD automated testing pipelines without requiring access to real security tool accounts.

### What are the current limitations of mock providers?

- Maximum of 50 total records per mock dataset
- Only query/get operations are supported (create operations don't persist data)


### How do I enable test mode?

- **UI**: Use the test mode toggle switch
- **API**: Set `environment: "test"` when creating accounts


### Are mock providers available in production environments?

No, mock providers are only available in test mode/test environment to ensure proper separation from
production data.

### Do timestamps in mock data update?

Some mock providers (currently cloud security and vulnerabilities) rewrite event
timestamps so they fall within the time range you query. If your request includes
GTE/LTE bounds on the timestamp field, returned events are spread across that range;
otherwise, they fall within a rolling current-time window. Mocks that don't opt into
this behavior still return the static timestamps baked into their fixtures.

### Where can I find which mock providers are available?

Available mock providers are documented at [Synqly Connector
Guides](https://docs.synqly.com/guides/getting-started/overview).

### What makes mock providers different from real providers?

Mock providers use the same Synqly APIs and endpoints as real providers. The only difference is the
provider configuration, which specifies a mock provider type and dataset version (e.g., `basic_v0`).