# UpdateVulnerabilityLibraryIssue

## Parameters

The following URL, Headers and Parameters are required for requests to this API endpoint. Where a parameter is optional, it will be indicated. Otherwise treat all parameters as mandatory.

### Headers

```
PUT /api/ss/library/:id HTTP/1.1
Host: demo.attackforge.com
X-SSAPI-KEY: APIKey
Content-Type: application/json
Connection: close
```

### Query

**id (string)**

Identifier for the vulnerability.

Example:

```
PUT /api/ss/library/5d5b27724a83a708c46f3f52 HTTP/1.1
```

**title (string) (optional)**

Title for the vulnerability.

Example:

```
{
   "title": "..."
}
```

**projectId (string) (optional)**

Project Id. Required if creating writeup in Project Vulnerabilities library.

Example:

```
{
   "projectId": "66b46bcc35e410ad5dd5420c"
}
```

**category (string) (optional)**

Category for the vulnerability.

Example:

```
{
   "category": "..."
}
```

**description (string) (optional)**

Description for the vulnerability.

Example:

```
{
   "description": "..."
}
```

**severity (number) (optional)**

Severity for the vulnerability. Must be a number between 1 to 10.

Example:

```
{
   "severity": 10
}
```

**likelihood\_of\_exploitation (number) (optional)**

Likelihood of Exploitation for the vulnerability. Must be a number between 1 to 10.

Example:

```
{
   "likelihood_of_exploitation": 10
}
```

**priority (string) (optional)**

Priority for the vulnerability. Must be one of the following: Critical, High, Medium, Low, Info

Example:

```
{
   "priority": "Critical"
}
```

**attack\_scenario (string) (optional)**

Attack Scenario for the vulnerability.

Example:

```
{
   "attack_scenario": "..."
}
```

**remediation\_recommendation (string) (optional)**

Remediation Recommendation for the vulnerability.

Example:

```
{
   "remediation_recommendation": "..."
}
```

**impact\_on\_confidentiality (string) (optional)**

Impact on Confidentiality for the vulnerability. Must be one of the following: High, Medium, Low, None

Example:

```
{
   "impact_on_confidentiality": "High"
}
```

**impact\_on\_integrity (string) (optional)**

Impact on Integrity for the vulnerability. Must be one of the following: High, Medium, Low, None

Example:

```
{
   "impact_on_integrity": "High"
}
```

**impact\_on\_availability (string) (optional)**

Impact on Availability for the vulnerability. Must be one of the following: High, Medium, Low, None

Example:

```
{
   "impact_on_availability": "High"
}
```

**tags (array of strings) (optional)**

Tags for the vulnerability.

Example:

```
{
   "tags": ["...", "...", "..."]
}
```

**is\_deleted (boolean) (optional)**

Whether vulnerability is deleted or not.

Example:

```
{
   "is_deleted": false
}
```

**import\_to\_library (string) (optional)**

Add writeup to the Imported Vulnerabilities library (default), Project Vulnerabilities library or Main Vulnerabilities library. Must be either "Imported Vulnerabilities", "Project Vulnerabilities" or "Main Vulnerabilities" or key for a custom library (if custom libraries are used).

Example:

```
{
    "import_to_library": "Imported Vulnerabilities"
}
```

**import\_source (string) (optional)**

Vulnerability source e.g. Nessus, BURP, Custom Tool, etc.

Example:

```
{
    "import_source": "Nessus"
}
```

**import\_source\_id (string) (optional)**

Vulnerability source/plugin id. Unique Id from the source/tool vulnerability is imported from.

Example:

```
{
    "import_source_id": "NessusPlugin123"
}
```

**custom\_tags (*****array of objects*****) (*****optional*****)**

Custom tags. Must include a name and value. Name must be unique and letters, numbers and underscores only.

Example:

```
{   
    "custom_tags": [{"name": "...", "value": "..."}]
}
```

**custom\_fields (*****array of objects*****) (*****optional*****)**

Custom fields. Must include a key and value. Key must be unique and letters, numbers and underscores only.

For more information visit <https://support.attackforge.com/attackforge-enterprise/getting-started/custom-fields-and-forms#using-custom-fields-with-apis>

Example:

```
{   
    "custom_fields": [{"key": "...", "value": "..."}]
}
```

## Example

The following example is a cURL request to update a vulnerability in the library by its identifier (Id).

### Request

Include API Token instead of stars in 'X-SSAPI-KEY: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*' parameter.

```
curl -X PUT 'https://demo.attackforge.com/api/ss/library/5d5b27724a83a708c46f3f52' -H 'Host: demo.attackforge.com' -H 'X-SSAPI-KEY: ***************************************' -H 'Content-Type: application/json' -H 'Connection: close' -d '{
    "title": "SQL Injection",
    "category": "Injection",
    "description": "Lorem Ipsum...",
    "severity": 10,
    "likelihood_of_exploitation": 10,
    "priority": "Critical",
    "attack_scenario": "Lorem Ipsum...",
    "remediation_recommendation": "Lorem Ipsum...",
    "impact_on_confidentiality": "High",
    "impact_on_integrity": "High",
    "impact_on_availability": "High",
    "tags": ["CWE-89", "Injection"],
    "is_deleted": false,
    "import_to_library": "Imported Vulnerabilities",
    "import_source": "Nessus",
    "import_source_id": "NessusPlugin123",
    "custom_tags": [{"name": "ext_vuln_score", "value": "123"}],
    "custom_fields": [{"key": "custom_tool", "value": "A77@cKF0rgeParser"}]
}'
```

### Response

Response contains a status.

```
{
   "status": "Vulnerability Updated"
}
```
