Get an installed app's spend this month against its budget, by usage source, its most recent audit entries, and the app's versions. Requires admin access and app building. Workspace API keys return 403; use a personal API key or scoped OAuth token.
OAuth scope: api:read.
GET
/api/v2/apps/installs/{installId}/activityX-API-Key<token>
Your Agent Serve API key, personal or workspace-scoped. Generate one under Settings, then API Keys. Operations that reject workspace keys say so in their own description.
In: header
Path Parameters
installId*string
Install identifier.
Length
1 <= length <= 64Query Parameters
workspaceId*string
Workspace the request is authorized against.
Length
1 <= length <= 128Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://agentserve.valnoraelric.com/api/v2/apps/installs/string/activity?workspaceId=string" \ -H "X-API-Key: YOUR_API_KEY"{
"data": {
"windowStart": "2019-08-24T14:15:22Z",
"spendUsd": 0,
"budgetMonthlyUsd": 0,
"bySource": [
{
"source": "string",
"costUsd": 0,
"count": -9007199254740991
}
],
"audit": [
{
"id": "string",
"action": "string",
"actorName": "string",
"description": "string",
"createdAt": "2019-08-24T14:15:22Z"
}
],
"versions": [
{
"id": "string",
"appId": "string",
"version": "string",
"title": "string",
"status": "draft",
"artifactSha256": "string",
"artifactSize": -9007199254740991,
"fileCount": -9007199254740991,
"source": {
"kind": "upload",
"fileName": "string"
},
"permissions": {
"tables": [
"string"
],
"model": "read",
"workflows": [
"string"
],
"relays": [
"string"
],
"chat": "ask",
"files": "read",
"ai": {
"models": [
"string"
],
"media": [
"image"
]
},
"knowledge": [
"string"
],
"integrations": [
"string"
]
},
"budgetMonthlyUsd": 0,
"tools": [
{
"name": "string",
"description": "string",
"effect": "read",
"language": "javascript"
}
],
"allowVulnerable": true,
"createdAt": "2019-08-24T14:15:22Z",
"publishedAt": "2019-08-24T14:15:22Z",
"retiredAt": "2019-08-24T14:15:22Z"
}
]
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "Invalid request"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication required"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient workspace permissions",
"details": {
"code": "INSUFFICIENT_WORKSPACE_ROLE"
}
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Not found"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "API rate limit exceeded",
"details": {
"retryAfter": "2026-01-01T00:00:30.000Z"
}
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service temporarily unavailable"
}
}