curl --request POST \
--url https://api.coval.dev/v1/reports \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "Accent sweep",
"run_ids": [
"8EktrIgaVxn9LfxkIynagX",
"9FltuJhbWyoAMgymJzobhY"
],
"compare_by": "persona",
"permissions": "PRIVATE"
}
'{
"report": {
"id": "01JABCDEFGHJKMNPQRSTVWXYZ0",
"created_at": null,
"created_by": null,
"updated_at": null,
"updated_by": null,
"name": "Plan comparison",
"run_ids": [
"8EktrIgaVxn9LfxkIynagX",
"9FltuJhbWyoAMgymJzobhY"
],
"compare_by": "metadata",
"metadata_key": "customer.plan",
"permissions": "PUBLIC"
}
}Create report
Create a saved report from existing run IDs. All runs must belong to the authenticated organization. Public reports are shareable without login and mark their included runs public.
curl --request POST \
--url https://api.coval.dev/v1/reports \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "Accent sweep",
"run_ids": [
"8EktrIgaVxn9LfxkIynagX",
"9FltuJhbWyoAMgymJzobhY"
],
"compare_by": "persona",
"permissions": "PRIVATE"
}
'{
"report": {
"id": "01JABCDEFGHJKMNPQRSTVWXYZ0",
"created_at": null,
"created_by": null,
"updated_at": null,
"updated_by": null,
"name": "Plan comparison",
"run_ids": [
"8EktrIgaVxn9LfxkIynagX",
"9FltuJhbWyoAMgymJzobhY"
],
"compare_by": "metadata",
"metadata_key": "customer.plan",
"permissions": "PUBLIC"
}
}Authorizations
API key for authentication
Headers
Workspace that scopes this operation. When omitted, the organization's active default workspace is used when one can be resolved.
1 - 26Body
Report name, trimmed to 1–200 characters. Whitespace-only names are rejected.
1 - 200"Accent sweep"
Run IDs to include in the report. All must belong to the authenticated organization.
1 - 2000 elements[
"8EktrIgaVxn9LfxkIynagX",
"9FltuJhbWyoAMgymJzobhY"
]
Optional simulation IDs pinning the report to a subset of simulations. When set, this is the report's authoritative scope. All must belong to the authenticated organization.
10000["AGktrIgaVxn9LfxkIynagX"]
Optional human review project the simulations were sourced from; simulation_output_ids must belong to it.
26"01JABCDEFGHJKMNPQRSTVWXYZ0"
Dimension to group and compare runs by in the report view. custom groups by a
caller-defined dimension and requires custom_dimensions.
none, run, agent, mutation, persona, test_case, metadata, custom "persona"
Metadata key to group by. Required when compare_by is metadata;
otherwise omit it.
1 - 200"customer.plan"
Caller-defined groupings of the report's simulations. Required when
compare_by is custom; otherwise omit it. This is how the app's
"Merge reports" action builds one grouped report out of several.
1 - 10 elementsShow child attributes
Show child attributes
Which of custom_dimensions to group by. Only valid when compare_by
is custom; defaults to the first dimension.
1 - 200"g8FtruIga1xn"
Report layout. grouped aggregates each compare_by group; defaults to rows.
rows, grouped "grouped"
PUBLIC creates a login-free shareable report; PRIVATE keeps it organization-only.
PUBLIC, PRIVATE "PRIVATE"
Response
Report created successfully
Show child attributes
Show child attributes
Was this page helpful?