# Update a firewall exception

Update a firewall exception. Only allowed when status is PENDING.

Endpoint: PUT /har/api/v3/scans/exceptions/{id}
Version: 1.0
Security: x-api-key

## Query parameters:

  - `account_identifier` (string, required)
    Unique identifier for the Harness account.

## Path parameters:

  - `id` (string, required)

## Request fields (application/json):

  - `businessJustification` (string)
    Updated business justification for the exception

  - `expireAfter` (integer,null)
    Number of days after approval when the exception expires. Null means never expires.

  - `remediationPlan` (string,null)
    Updated plan for remediation

  - `versionList` (array)
    Updated list of versions to except. Empty array means all versions.

## Response 200 fields (application/json):

  - `businessJustification` (string, required)
    Business justification for the exception

  - `createdAt` (integer, required)
    Unix timestamp (milliseconds) when created

  - `createdBy` (object, required)
    Structured user information for a principal

  - `createdBy.display_name` (string)
    Human-readable display name

  - `createdBy.email` (string)
    Email address

  - `createdBy.type` (string)
    Principal type (user, service, service_account)

  - `createdBy.uid` (string)
    Principal unique identifier (username)

  - `exceptionId` (string, required)
    Unique identifier for the exception

  - `expirationAt` (integer,null)
    Unix timestamp (milliseconds) when the exception expires. Computed at approval time.

  - `expireAfter` (integer,null)
    Number of days after approval when the exception expires

  - `notes` (string,null)
    Note from approver (if approved/rejected)

  - `packageName` (string, required)
    Name of the package

  - `packageType` (string, required)
    type of the package

  - `registryId` (string, required)
    Registry identifier

  - `registryName` (string)
    Name of the registry

  - `remediationPlan` (string,null)
    Plan for remediation

  - `status` (string, required)
    Status of the firewall exception
    Enum: "PENDING", "APPROVED", "REJECTED", "EXPIRED"

  - `statusChangedAt` (integer,null)
    Unix timestamp (milliseconds) when status was changed

  - `statusChangedBy` (object)
    Structured user information for a principal

  - `updatedAt` (integer, required)
    Unix timestamp (milliseconds) when last updated

  - `updatedBy` (object, required)
    Structured user information for a principal

  - `versionId` (string,null)
    Version identifier

  - `versionList` (array, required)
    List of versions covered by exception

  - `versionScanMap` (object,null)
    Map of version string to scan ID

## Response default fields (application/json):

  - `error` (object, required)

  - `error.code` (string)
    For some errors that could be handled programmatically, a short string indicating the [error code](https://docs.stripe.com/error-codes) reported.

  - `error.message` (string)
    A human-readable message providing more details about the error. These messages can be shown to users.

  - `error.param` (string)
    If the error is parameter-specific, the parameter related to the error. For example, we can use this to display a message near the correct form field.

  - `error.type` (string, required)
    The type of error returned.
    Enum: "INVALID_REQUEST_ERROR", "AUTHENTICATION_ERROR", "PERMISSION_ERROR", "API_ERROR"


