List metrics
Returns every metric in the project (not paginated) — name, folder, source event, the typed queryIr, and the rendered query.
Returns every metric in the project (not paginated) — name, folder, source event, the typed queryIr, and the rendered query.
Audit every metric defined in the project — for example to find the metric id to attach as an experiment's success metric.
Authorization
bearerSdkKey Pass an admin SDK key as Authorization: Bearer sdk_admin_…. Mint via POST /api/admin/keys with type: "admin".
In: header
Query Parameters
Case-insensitive substring filter across the resource's human-readable text columns (e.g. name, title, description). OR-matched across those columns; omit to return everything.
length <= 100Header Parameters
Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://shipeasy.ai/api/admin/metrics"[
{
"id": "met_01j7w8a1b2c3d4e5f6g7h8i9j0",
"name": "checkouts",
"folder": null,
"eventName": "checkout_completed",
"query": "count_users(checkout_completed)",
"queryIr": {
"agg": {
"kind": "count_users"
},
"metric": "checkout_completed",
"filters": []
},
"direction": "higher_better"
}
]{
"error": "Malformed request (bad JSON, missing project scope).",
"code": "BAD_REQUEST"
}{
"error": "Missing or invalid admin SDK key.",
"code": "UNAUTHORIZED"
}{
"error": "Key is valid but not allowed to act on this project.",
"code": "FORBIDDEN"
}{
"error": "The resource does not exist or is not visible to the caller.",
"code": "NOT_FOUND"
}{
"error": "A resource with this name already exists in the project.",
"code": "ALREADY_EXISTS"
}{
"error": "The request body failed structural (schema) validation.",
"code": "VALIDATION"
}