Skip to main content

List historical configuration summaries

GET /api/v1/agents/{id}/configuration-history

Newest first, scoped to the tenant and agent. Cursor is an exclusive revision number. Summaries omit configured paths and targets. Use the revision endpoint for settings. Available after agent revocation for audit; restoration is not allowed for revoked agents.

Allowed roles: admin, analyst, viewer.

Authentication​

The following OpenAPI alternatives describe accepted authentication. Browser mutations also require the canonical Origin header.

[
{
"organizationCredential": []
},
{
"browserSession": []
}
]

Parameters​

[
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "before",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1
}
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20
}
}
]

Request body​

No request body is defined.

Responses​

{
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"revision": {
"type": "integer"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"updatedBy": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"pollSeconds": {
"type": "integer"
},
"tlsTargets": {
"type": "integer"
},
"sshTargets": {
"type": "integer"
},
"repositoryRoots": {
"type": "integer"
},
"captureRoots": {
"type": "integer"
}
},
"required": [
"revision",
"updatedAt",
"updatedBy",
"enabled",
"pollSeconds",
"tlsTargets",
"sshTargets",
"repositoryRoots"
]
}
},
"nextBefore": {
"type": [
"integer",
"null"
]
}
},
"required": [
"items",
"nextBefore"
]
}
}
}
},
"400": {
"description": "Validation error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Missing/expired/revoked credential",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"403": {
"description": "Insufficient role",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"409": {
"description": "State or idempotency conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"413": {
"description": "Body too large",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"415": {
"description": "Unsupported media type",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Request budget exhausted; respect Retry-After",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"headers": {
"Retry-After": {
"schema": {
"type": "integer",
"minimum": 1
},
"description": "Seconds until sufficient budget is expected; concurrent traffic may consume replenished capacity."
}
}
},
"500": {
"description": "Internal error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "Not configured",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}

References such as #/components/schemas/Asset resolve in shared schemas. Download the OpenAPI contract for client generation. This page is generated; it describes the implemented development API, not planned endpoints.