Skip to content

Remediations API

The Remediations API allows you to manage guidance and remediation information that is displayed when policies or rules fail.

Endpoints

List Remediations

Retrieve a list of remediations, optionally filtered by labels.

GET /api/remediations

Query Parameters:

Parameter Description
label Filter remediations by label in format "key:value" (e.g., "platform:kubernetes")
curl -X GET "https://<your-instance>.aegis.pegasys.cloud/api/remediations?label=platform:kubernetes" \
  -H "Authorization: Bearer <your_token>"
[
  {
    "name": "service-account-name",
    "description": "validates account name",
    "labels": {
      "platform": "kubernetes",
      "resource": "deployment"
    },
    "remediation": "The serviceAccountName should not be empty or default as per pegasys policy. Contact k8s@pegasys.ai to create custom service account before proceeding to app deployment."
  },
  {
    "name": "spec-replicas",
    "description": "validates spec replicas",
    "labels": {
      "platform": "kubernetes",
      "resource": "deployment"
    },
    "remediation": "Refer to http://doc.pegasys.ai/kubernetes/deployment/spec-replicas for more information"
  }
]

Get Remediation

Retrieve a specific remediation by name.

GET /api/remediations/{remediation_name}

Path Parameters:

Parameter Description
remediation_name The name of the remediation to retrieve

Query Parameters:

Parameter Description
label Filter remediations by label in format "key:value" (e.g., "platform:kubernetes")
curl -X GET "https://<your-instance>.aegis.pegasys.cloud/api/remediations/service-account-name" \
  -H "Authorization: Bearer <your_token>"
{
  "remediations": [
    {
      "name": "service-account-name",
      "description": "validates account name",
      "labels": {
        "platform": "kubernetes",
        "resource": "deployment"
      },
      "remediation": "The serviceAccountName should not be empty or default as per pegasys policy. Contact k8s@pegasys.ai to create custom service account before proceeding to app deployment."
    }
  ]
}

Apply Remediations

Create or update multiple remediation entries.

POST /api/remediations
{
  "remediations": [
    {
      "name": "service-account-name",
      "description": "validates account name",
      "labels": {
        "platform": "kubernetes",
        "resource": "deployment"
      },
      "remediation": "The serviceAccountName should not be empty or default as per pegasys policy. Contact k8s@pegasys.ai to create custom service account before proceeding to app deployment."
    },
    {
      "name": "spec-replicas",
      "description": "validates spec replicas",
      "labels": {
        "platform": "kubernetes",
        "resource": "deployment"
      },
      "remediation": "Refer to http://doc.pegasys.ai/kubernetes/deployment/spec-replicas for more information"
    }
  ]
}

Fields:

Field Description
name Unique identifier for the remediation
description Brief description of what the remediation validates
labels Key-value pairs used for filtering and matching
remediation The remediation text to display when a rule fails
curl -X POST "https://<your-instance>.aegis.pegasys.cloud/api/remediations" \
  -H "Authorization: Bearer <your_token>" \
  -H "Content-Type: application/json" \
  -d @- <<EOF
            {
              "remediations": [
                {
                  "name": "service-account-name",
                  "description": "validates account name",
                  "labels": {
                    "platform": "kubernetes",
                    "resource": "deployment"
                  },
                  "remediation": "The serviceAccountName should not be empty or default as per pegasys policy. Contact k8s@pegasys.ai to create custom service account before proceeding to app deployment."
                },
                {
                  "name": "spec-replicas",
                  "description": "validates spec replicas",
                  "labels": {
                    "platform": "kubernetes",
                    "resource": "deployment"
                  },
                  "remediation": "Refer to http://doc.pegasys.ai/kubernetes/deployment/spec-replicas for more information"
                }
              ]
            }
        EOF
{
  "created": 2,
  "updated": 0
}

Delete Remediation

Delete a specific remediation.

DELETE /api/remediations/{remediation_name}

Path Parameters:

Parameter Description
remediation_name The name of the remediation to delete
curl -X DELETE "https://<your-instance>.aegis.pegasys.cloud/api/remediations/demo" \
  -H "Authorization: Bearer <your_token>"
{
  "message": "Remediation demo deleted successfully"
}