# Accept or reject savings

> Records user decision to accept or reject a savings recommendation

Source: https://docs.levelfour.ai/api-reference/recommendations/post-recommendations-by-id-decision


## POST /api/v1/recommendations/{recommendation_id}/decision

Records user decision to accept or reject a savings recommendation

### Authentication

Send `Authorization: Bearer <token>`.

### Parameters

- `recommendation_id` (path, string, required)

### Request body

Required. Content type `application/json`.

- `decision` (string, required): Decision: 'accepted' or 'rejected'
- `reason` (string, nullable): Rejection reason (optional): operational, strategy, not_applicable, other
- `explanation` (string, nullable): Free text explanation (optional, used when reason is 'other')

### Responses

#### 200: Successful Response

- `success` (boolean, default `true`)
- `timestamp` (date-time string)
- `data` (object, required): Data returned after making a decision
  - `recommendation_id` (string, required)
  - `saving_acceptance` (string, required)
  - `saving_accepted_by` (string, required)
  - `saving_accepted_at` (string, required)
  - `rejection_reason` (string, nullable)
  - `rejection_explanation` (string, nullable)

#### Errors

- `400`: Bad Request
- `401`: Authentication Error
- `403`: Authorization Error
- `404`: Not Found
- `409`: Conflict
- `422`: Validation Error
- `429`: Rate Limit Exceeded
- `500`: Internal Server Error

Body of `400`, `401`, `403`, `404`, `409`, `422`, `429`, `500`:

- `success` (`false`, required)
- `error` (object, required)
  - `code` (string, required)
  - `message` (string, required)
  - `details` (any)
- `timestamp` (date-time string, required)
