# Update an Adverse Action Notice

`PUT https://api.agilitycredit.net/v3/credit-reports/{id}/adverse-action`

Docs page: https://apidocs.agilitycredit.com/api/update-adverse-action · Tag: Credit Reports

Regenerates the Adverse Action notice of a credit report with your decline reasons, which replace the reason codes the notice lists. The new notice replaces the applicant's Adverse Action document in Applicant Documents (or creates it if the applicant has none), and a link to download the PDF is returned.

Authentication: `Authorization: Bearer <api key>`.

## Parameters

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `id` | path | yes | ID of the report the notice belongs to. |
| `applicant_type` | query |  | Applicant whose notice is updated, for joint reports. Defaults to the main applicant, or to the co-applicant on a co-applicant-only report. |
| `Agc-Tenant-Id` | header | yes | The tenant ID provided by Agility Credit. |
| `Agc-User-Id` | header | yes | The requestor user ID. |

## Request body (`application/json`), required

Schema: `UpdateAdverseAction`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `decline_reasons` | array of object | yes |  |
| `decline_reasons[].order` | integer |  | Position of the reason on the notice. Reasons are listed by ascending order; reasons without one go last, in the order they were sent. |
| `decline_reasons[].code` | string |  | Optional reason code. When present, it is shown in parentheses before the reason. |
| `decline_reasons[].reason` | string | yes | The reason text shown on the notice. |

Example:

```json
{
  "decline_reasons": [
    {
      "order": 1,
      "code": "D1",
      "reason": "Debt to income ratio too high"
    },
    {
      "order": 2,
      "reason": "Insufficient length of employment"
    }
  ]
}
```

## Responses

| Status | Description | Body |
| --- | --- | --- |
| 200 | Adverse Action notice updated | AdverseActionResponse |
| 400 | Bad Request | BadRequestResponse |
| 401 | Unauthorized | UnauthorizedResponse |
| 404 | The report does not exist, or it has no report for the requested `applicant_type`. | ReportErrorResponse |
| 422 | The report is not linked to an applicant, so there is nowhere to store the notice. | ReportErrorResponse |
| 429 | Too Many Requests | TooManyRequestsResponse |
| 500 | Internal Server Error | AgilityServerErrorResponse |
Top-level 200 fields: `report_id`, `applicant_type`, `decline_reasons`, `download_url`.

### Error bodies

400:

```json
{
  "status": "Bad Request - Invalid Parameters",
  "error": "Failed schema validation. Error: data.pull_type must be one of ['prequal', 'hard'], Path: ['data', 'pull_type'], Data: prequalification"
}
```

401:

```json
{
  "message": "Unauthorized"
}
```

404:

```json
{
  "message": "Report Not Found"
}
```

422:

```json
{
  "message": "Report is not linked to an applicant"
}
```

429:

```json
{
  "error": "Too Many Requests"
}
```

500:

```json
{
  "message": "Agility Server Error"
}
```
