Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/vijil-dome-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Vijil Console API (Combined) Dome API
description: Combined OpenAPI specification for all vijil-console microservices.
version: 0.1.0
tags:
- name: Dome
description: Protection, guardrails, and telemetry
paths:
/v1/webhooks/register-dome:
post:
tags:
- Dome
summary: Register Dome
description: 'Register a Dome instance URL for an agent (called by Dome at runtime).
Idempotent: safe to call on every Dome restart; each call overwrites the
stored dome_url for that agent''s config.'
operationId: register_dome_v1_webhooks_register_dome_post
parameters:
- name: X-Webhook-Api-Key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Webhook-Api-Key
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterDomeRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterDomeResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/detections:
post:
tags:
- Dome
summary: Create Detection
description: 'Create a new detection request.
This endpoint accepts a detection request and starts processing it
asynchronously. The response includes the detection ID which can be
used to poll for results via GET /detections/{id}.
Note: This endpoint does not require authentication to support
the Execution Flow test input feature.'
operationId: create_detection_v1_detections_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DetectionRequest'
required: true
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DetectionResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/detections/{detection_id}:
get:
tags:
- Dome
summary: Get Detection
description: 'Get a detection by ID.
Returns the current status and results of a detection.
Status values:
- CREATED: Detection is queued for processing
- PROCESSING: Detection is being processed
- COMPLETED: Detection finished successfully
- ERROR: Detection failed
Note: This endpoint does not require authentication to support
the Execution Flow test input feature.'
operationId: get_detection_v1_detections__detection_id__get
parameters:
- name: detection_id
in: path
required: true
schema:
type: string
title: Detection Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DetectionResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/dome-configs:
post:
tags:
- Dome
summary: Create Dome Config
description: 'Create a new Dome configuration.
If no config_body is provided, uses the default configuration.
A dome config is standalone and can be assigned to multiple agents via the agent''s dome_config_id.'
operationId: create_dome_config_v1_dome_configs_post
parameters:
- name: team_id
in: query
required: true
schema:
type: string
format: uuid
description: Team ID (required)
title: Team Id
description: Team ID (required)
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DomeConfigCreate'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DomeConfigResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Dome
summary: List Dome Configs
description: List dome configs for the team; optional filter by bound agent_id column.
operationId: list_dome_configs_v1_dome_configs_get
parameters:
- name: team_id
in: query
required: true
schema:
type: string
format: uuid
description: Team ID (required)
title: Team Id
description: Team ID (required)
- name: agent_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
description: If set, only configs whose dome_configs.agent_id matches (paginated).
title: Agent Id
description: If set, only configs whose dome_configs.agent_id matches (paginated).
- name: limit
in: query
required: false
schema:
type: integer
maximum: 1000
minimum: 1
description: Page size
default: 100
title: Limit
description: Page size
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
description: Pagination offset
default: 0
title: Offset
description: Pagination offset
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DomeConfigListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/dome-configs/{config_id}:
get:
tags:
- Dome
summary: Get Dome Config
description: Get a Dome configuration by ID.
operationId: get_dome_config_v1_dome_configs__config_id__get
parameters:
- name: config_id
in: path
required: true
schema:
type: string
format: uuid
title: Config Id
- name: team_id
in: query
required: true
schema:
type: string
format: uuid
description: Team ID (required)
title: Team Id
description: Team ID (required)
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DomeConfigResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
put:
tags:
- Dome
summary: Update Dome Config
description: Update a Dome configuration.
operationId: update_dome_config_v1_dome_configs__config_id__put
parameters:
- name: config_id
in: path
required: true
schema:
type: string
format: uuid
title: Config Id
- name: team_id
in: query
required: true
schema:
type: string
format: uuid
description: Team ID (required)
title: Team Id
description: Team ID (required)
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DomeConfigUpdate'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DomeConfigResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- Dome
summary: Patch Dome Config
description: Partially update a Dome configuration (e.g. set or clear dome instance URL).
operationId: patch_dome_config_v1_dome_configs__config_id__patch
parameters:
- name: config_id
in: path
required: true
schema:
type: string
format: uuid
title: Config Id
- name: team_id
in: query
required: true
schema:
type: string
format: uuid
description: Team ID (required)
title: Team Id
description: Team ID (required)
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DomeConfigPatch'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DomeConfigResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Dome
summary: Delete Dome Config
description: Delete a Dome configuration.
operationId: delete_dome_config_v1_dome_configs__config_id__delete
parameters:
- name: config_id
in: path
required: true
schema:
type: string
format: uuid
title: Config Id
- name: team_id
in: query
required: true
schema:
type: string
format: uuid
description: Team ID (required)
title: Team Id
description: Team ID (required)
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/dome-configs/{config_id}/apply:
post:
tags:
- Dome
summary: Apply Dome Config
description: 'Apply a saved dome config: promotes config_pending.json to config.json and binds it to the agent.
Backs up the existing config.json as {config_id}_config.json, promotes
config_pending.json to config.json, and sets the agent''s dome_config_id
and protection_status to domed.'
operationId: apply_dome_config_v1_dome_configs__config_id__apply_post
parameters:
- name: config_id
in: path
required: true
schema:
type: string
format: uuid
title: Config Id
- name: team_id
in: query
required: true
schema:
type: string
format: uuid
description: Team ID (required)
title: Team Id
description: Team ID (required)
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DomeConfigResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/default-dome-config:
get:
tags:
- Dome
summary: Get Default Dome Config
description: 'Get the default Dome configuration.
Returns the default guard configuration for new agents.
This endpoint does not require authentication.'
operationId: get_default_dome_config_v1_default_dome_config_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
additionalProperties: true
type: object
title: Response Get Default Dome Config V1 Default Dome Config Get
/v1/telemetry/counters/{metric_name}/total:
get:
tags:
- Dome
summary: Get Counter Total
description: Get total counter value.
operationId: get_counter_total_v1_telemetry_counters__metric_name__total_get
parameters:
- name: metric_name
in: path
required: true
schema:
type: string
title: Metric Name
- name: time_range
in: query
required: false
schema:
enum:
- 15m
- 30m
- 1h
- 2h
- 6h
- 1d
- 7d
- 30d
type: string
description: 'Time range: 15m, 30m, 1h, 2h, 6h, 1d, 7d, 30d'
default: 1d
title: Time Range
description: 'Time range: 15m, 30m, 1h, 2h, 6h, 1d, 7d, 30d'
- name: evaluation_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by evaluation ID
title: Evaluation Id
description: Filter by evaluation ID
- name: test_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by test ID
title: Test Id
description: Filter by test ID
- name: probe_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by probe ID
title: Probe Id
description: Filter by probe ID
- name: agent_configuration_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by agent configuration ID
title: Agent Configuration Id
description: Filter by agent configuration ID
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CounterTotalResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/telemetry/counters/{metric_name}/time_series:
get:
tags:
- Dome
summary: Get Counter Time Series
description: Get counter time series.
operationId: get_counter_time_series_v1_telemetry_counters__metric_name__time_series_get
parameters:
- name: metric_name
in: path
required: true
schema:
type: string
title: Metric Name
- name: time_range
in: query
required: false
schema:
enum:
- 15m
- 30m
- 1h
- 2h
- 6h
- 1d
- 7d
- 30d
type: string
description: 'Time range: 15m, 30m, 1h, 2h, 6h, 1d, 7d, 30d'
default: 1d
title: Time Range
description: 'Time range: 15m, 30m, 1h, 2h, 6h, 1d, 7d, 30d'
- name: evaluation_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by evaluation ID
title: Evaluation Id
description: Filter by evaluation ID
- name: agent_configuration_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by agent configuration ID
title: Agent Configuration Id
description: Filter by agent configuration ID
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/MetricQueryResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/telemetry/latency/{metric_name}:
get:
tags:
- Dome
summary: Get Latency Over Time
description: Get latency over time.
operationId: get_latency_over_time_v1_telemetry_latency__metric_name__get
parameters:
- name: metric_name
in: path
required: true
schema:
type: string
title: Metric Name
- name: time_range
in: query
required: false
schema:
enum:
- 15m
- 30m
- 1h
- 2h
- 6h
- 1d
- 7d
- 30d
type: string
description: 'Time range: 15m, 30m, 1h, 2h, 6h, 1d, 7d, 30d'
default: 1h
title: Time Range
description: 'Time range: 15m, 30m, 1h, 2h, 6h, 1d, 7d, 30d'
- name: time_window
in: query
required: false
schema:
type: string
description: Time window for aggregation (e.g., '1m', '5m', '15m')
default: 1m
title: Time Window
description: Time window for aggregation (e.g., '1m', '5m', '15m')
- name: percentiles
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma-separated list of percentiles to query (e.g., '0.5,0.95'). If not specified, defaults to [0.5, 0.9, 0.95, 0.99]
title: Percentiles
description: Comma-separated list of percentiles to query (e.g., '0.5,0.95'). If not specified, defaults to [0.5, 0.9, 0.95, 0.99]
- name: evaluation_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by evaluation ID
title: Evaluation Id
description: Filter by evaluation ID
- name: test_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by test ID
title: Test Id
description: Filter by test ID
- name: probe_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by probe ID
title: Probe Id
description: Filter by probe ID
- name: agent_configuration_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by agent configuration ID
title: Agent Configuration Id
description: Filter by agent configuration ID
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LatencyOverTimeResponse'
title: Response Get Latency Over Time V1 Telemetry Latency Metric Name Get
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/telemetry/logs:
get:
tags:
- Dome
summary: Get Logs
description: Get logs.
operationId: get_logs_v1_telemetry_logs_get
parameters:
- name: time_range
in: query
required: false
schema:
enum:
- 15m
- 30m
- 1h
- 2h
- 6h
- 1d
- 7d
- 30d
type: string
description: Window to pull logs for
default: 1h
title: Time Range
description: Window to pull logs for
- name: service_name
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by service_name label
title: Service Name
description: Filter by service_name label
- name: level
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by level label
title: Level
description: Filter by level label
- name: job
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by job label
title: Job
description: Filter by job label
- name: exporter
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by exporter label
title: Exporter
description: Filter by exporter label
- name: agent_configuration_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Restrict to a specific agent configuration id
title: Agent Configuration Id
description: Restrict to a specific agent configuration id
- name: evaluation_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Restrict logs to an evaluation id
title: Evaluation Id
description: Restrict logs to an evaluation id
- name: test_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Restrict logs to a test id
title: Test Id
description: Restrict logs to a test id
- name: probe_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Restrict logs to a probe id
title: Probe Id
description: Restrict logs to a probe id
- name: search
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Substring search applied via LogQL pipeline
title: Search
description: Substring search applied via LogQL pipeline
- name: logql
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Advanced LogQL expression (overrides generated selector when provided)
title: Logql
description: Advanced LogQL expression (overrides generated selector when provided)
- name: limit
in: query
required: false
schema:
type: integer
maximum: 5000
minimum: 1
description: Maximum log lines to return
default: 200
title: Limit
description: Maximum log lines to return
- name: direction
in: query
required: false
schema:
enum:
- forward
- backward
type: string
description: Return order for log entries
default: backward
title: Direction
description: Return order for log entries
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/LogsQueryResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/telemetry/traces:
get:
tags:
- Dome
summary: Search Traces
description: Search traces.
operationId: search_traces_v1_telemetry_traces_get
parameters:
- name: time_range
in: query
required: false
schema:
enum:
- 15m
- 30m
- 1h
- 2h
- 6h
- 1d
- 7d
- 30d
type: string
description: Window to search for traces
default: 1h
title: Time Range
description: Window to search for traces
- name: limit
in: query
required: false
schema:
type: integer
maximum: 200
minimum: 1
description: Maximum number of traces to return
default: 20
title: Limit
description: Maximum number of traces to return
- name: service_name
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by root service
title: Service Name
description: Filter by root service
- name: agent_configuration_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Filter by agent id
title: Agent Configuration Id
description: Filter by agent id
- name: min_duration_ms
in: query
required: false
schema:
anyOf:
- type: integer
- type: 'null'
description: Lower bound on trace duration (ms)
title: Min Duration Ms
description: Lower bound on trace duration (ms)
- name: max_duration_ms
in: query
required: false
schema:
anyOf:
- type: integer
- type: 'null'
description: Upper bound on trace duration (ms)
title: Max Duration Ms
description: Upper bound on trace duration (ms)
- name: query
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Advanced TraceQL query
title: Query
description: Advanced TraceQL query
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TraceSearchResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/telemetry/traces/{trace_id}:
get:
tags:
- Dome
summary: Get Trace By Id
description: Get trace by ID.
operationId: get_trace_by_id_v1_telemetry_traces__trace_id__get
parameters:
- name: trace_id
in: path
required: true
schema:
type: string
title: Trace Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TraceDetailResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
DetectionOutput:
properties:
score:
type: number
title: Score
default: 0
label:
anyOf:
- type: string
- type: 'null'
title: Label
details:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Details
type: object
title: DetectionOutput
description: Output from a detection.
DetectionParams:
properties:
api_key_proxy:
anyOf:
- type: string
- type: 'null'
title: Api Key Proxy
hub:
anyOf:
- type: string
- type: 'null'
title: Hub
model:
anyOf:
- type: string
- type: 'null'
title: Model
type: object
title: DetectionParams
description: Parameters for a detection request.
MetricQueryResponse:
properties:
metric:
type: string
title: Metric
description: chat_completions_total
series:
items:
$ref: '#/components/schemas/TimeSeries'
type: array
title: Series
description: List of time series data
labels:
$ref: '#/components/schemas/MetricLabels'
description: Structured metric labels
type: object
required:
- metric
- series
title: MetricQueryResponse
DetectionInput:
properties:
response:
anyOf:
- type: string
- type: 'null'
title: Response
question:
anyOf:
- type: string
- type: 'null'
title: Question
prompt:
anyOf:
- type: string
- type: 'null'
title: Prompt
dome_detection_method:
anyOf:
- type: string
- type: 'null'
title: Dome Detection Method
type: object
title: DetectionInput
description: Input for a detection request.
DetectionRequest:
properties:
id:
type: string
title: Id
detector_id:
type: string
title: Detector Id
detector_params:
$ref: '#/components/schemas/DetectionParams'
detector_inputs:
items:
$ref: '#/components/schemas/DetectionInput'
type: array
title: Detector Inputs
type: object
required:
- id
- detector_id
- detector_inputs
title: DetectionRequest
description: Request model for creating a detection.
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
LogsQueryResponse:
properties:
query:
type: string
title: Query
description: Executed LogQL query
direction:
type: string
enum:
- forward
- backward
title: Direction
description: Result ordering
start_ns:
type: integer
title: Start Ns
description: Start window in nanoseconds
end_ns:
type: integer
title: End Ns
description: End window in nanoseconds
streams:
items:
$ref: '#/components/schemas/LogStreamResponse'
type: array
title: Streams
next_timestamp:
anyOf:
- type: integer
- type: 'null'
title: Next Timestamp
description: Bookmark timestamp for pagination
type: object
required:
- query
- direction
- start_ns
- end_ns
title: LogsQueryResponse
DomeConfigListResponse:
properties:
dome_configs:
items:
$ref: '#/components/schemas/DomeConfigResponse'
type: array
title: Dome Configs
count:
type: integer
title: Count
type: object
required:
- dome_configs
- count
title: DomeConfigListResponse
description: Response model for listing Dome configurations.
CounterTotalResponse:
properties:
metri
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vijil/refs/heads/main/openapi/vijil-dome-api-openapi.yml