Vertesia · Schema
AuditAggregationQuery
Safe audit aggregation query. The server always applies the authenticated account scope and, for project-scoped principals, replaces projectId with the authenticated project.
CompanyDigital ExperiencePerformance MonitoringAnalyticsContent Delivery
Properties
| Name | Type | Description |
|---|---|---|
| projectId | string | Optional account-admin project filter. Ignored for project-scoped principals. |
| from | string | Start time; defaults to 30 days before to. The server caps the range at 366 days. |
| to | string | End time; defaults to the current time. |
| filter | object | |
| groupBy | array | |
| metrics | array | |
| limit | number | Maximum groups returned (default 50, max 200). |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/vertesiahq/json-schema/vertesiahq-audit-aggregation-query-schema.json",
"title": "AuditAggregationQuery",
"description": "Safe audit aggregation query. The server always applies the authenticated account scope and, for project-scoped principals, replaces projectId with the authenticated project.",
"x-generated": "2026-11-10",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/vertesiahq-audit-trail-api-openapi.yml#/components/schemas/AuditAggregationQuery",
"type": "object",
"properties": {
"projectId": {
"type": "string",
"description": "Optional account-admin project filter. Ignored for project-scoped principals."
},
"from": {
"type": "string",
"description": "Start time; defaults to 30 days before to. The server caps the range at 366 days."
},
"to": {
"type": "string",
"description": "End time; defaults to the current time."
},
"filter": {
"$ref": "#/$defs/AuditAggregationFilter"
},
"groupBy": {
"type": "array",
"items": {
"$ref": "#/$defs/AuditAggregationGroup"
}
},
"metrics": {
"type": "array",
"items": {
"$ref": "#/$defs/AuditAggregationMetric"
}
},
"limit": {
"type": "number",
"description": "Maximum groups returned (default 50, max 200)."
}
},
"required": [
"metrics"
],
"additionalProperties": false,
"$defs": {
"AuditAction": {
"anyOf": [
{
"$ref": "#/$defs/KnownAuditAction"
},
{
"type": "string"
}
]
},
"AuditAggregationDetailField": {
"type": "string",
"enum": [
"pipeline",
"verdict",
"workflow_type",
"rule_id"
]
},
"AuditAggregationDetailFilter": {
"type": "object",
"properties": {
"field": {
"$ref": "#/$defs/AuditAggregationDetailField"
},
"values": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"field",
"values"
],
"additionalProperties": false
},
"AuditAggregationDimension": {
"type": "string",
"enum": [
"time",
"action",
"resource_type",
"event_category",
"provider",
"project_id",
"principal_id",
"actor_id",
"user_id",
"details.pipeline",
"details.verdict",
"details.workflow_type",
"details.rule_id",
"model"
]
},
"AuditAggregationDistinctField": {
"type": "string",
"enum": [
"resource_id",
"request_id",
"principal_id",
"actor_id",
"user_id"
]
},
"AuditAggregationFilter": {
"type": "object",
"properties": {
"actions": {
"type": "array",
"items": {
"$ref": "#/$defs/AuditAction"
}
},
"resourceTypes": {
"type": "array",
"items": {
"type": "string"
}
},
"eventCategories": {
"type": "array",
"items": {
"$ref": "#/$defs/EventCategory"
}
},
"providers": {
"type": "array",
"items": {
"type": "string"
}
},
"principalTypes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Restrict events to top-level actor categories such as user or apikey."
},
"success": {
"type": "boolean"
},
"details": {
"type": "array",
"items": {
"$ref": "#/$defs/AuditAggregationDetailFilter"
}
}
},
"additionalProperties": false
},
"AuditAggregationGroup": {
"type": "object",
"properties": {
"dimension": {
"$ref": "#/$defs/AuditAggregationDimension"
},
"resolution": {
"$ref": "#/$defs/AuditAggregationResolution",
"description": "Required for the time dimension; defaults to day."
}
},
"required": [
"dimension"
],
"additionalProperties": false
},
"AuditAggregationMetric": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable key used in response rows. Must contain only letters, numbers, underscores, or hyphens."
},
"operation": {
"$ref": "#/$defs/AuditAggregationOperation"
},
"field": {
"$ref": "#/$defs/AuditAggregationDistinctField",
"description": "Required for count_distinct."
},
"meterCategory": {
"type": "string",
"description": "Required for meter operations."
},
"meterType": {
"type": "string",
"description": "Required for meter operations."
}
},
"required": [
"id",
"operation"
],
"additionalProperties": false
},
"AuditAggregationOperation": {
"type": "string",
"enum": [
"count",
"count_distinct",
"sum_meter",
"average_meter"
]
},
"AuditAggregationResolution": {
"type": "string",
"enum": [
"hour",
"day",
"week",
"month"
]
},
"EventCategory": {
"type": "string",
"enum": [
"content",
"workflow",
"security",
"billing",
"system",
"external"
]
},
"KnownAuditAction": {
"type": "string",
"enum": [
"create",
"update",
"delete",
"bulk_create",
"bulk_change_type",
"bulk_update",
"bulk_delete",
"attach",
"detach",
"credentials_fill",
"credentials_totp_generation",
"publish",
"unpublish",
"search",
"read",
"inference",
"embedding",
"image_generation",
"document_processed"
]
}
}
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/vertesiahq-audit-aggregation-query"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.