---
title: "Reject a pending agent suggestion"
method: POST
path: "/v1/agent-suggestions/{id}/reject"
tags: ["Agent Suggestions"]
---

# Reject a pending agent suggestion

`POST /v1/agent-suggestions/{id}/reject`

## Request

- Base URL: `https://docs.grepr.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.grepr.ai/v1/agent-suggestions/{id}/reject`
- Auth: one of:
  - API key in header `GREPR-API-KEY`
  - OpenID Connect (`https://grepr-prod.us.auth0.com/.well-known/openid-configuration`)

Marks a pending suggestion REJECTED, recording the reviewer. Returns 409 when the suggestion was already resolved by another reviewer.

## Path parameters

- `id` string, required

## Response `200`

Suggestion rejected successfully

- AgentSuggestion
  - `agentId` string
  - `appliedJobVersion` integer
  - `baseJobVersion` integer
  - `createdAt` string, date-time
  - `description` string
  - `id` string
  - `investigationId` string
  - `jobId` string
  - `organizationId` string
  - `reviewedAt` string, date-time
  - `reviewedBy` string
  - `samples` LogEvent[]
    - `attributes` object: Attributes associated with the event, a map from attribute name to attribute value, which may be a nested map or list.
    - `eventTimestamp` integer, required: Event timestamp that is in the record. Milliseconds from epoch.
    - `id` string, required: Id of the event.
    - `message` string: The log message.
    - `receivedTimestamp` integer, required: Timestamp when the event was received by Grepr. Milliseconds from epoch.
    - `severity` integer: The log severity. Higher numbers mean higher severity, following the OTel format 1-24.
    - `tags` object: Tags associated with the event, a map from tag name to set of tag values.
  - `status` 'PENDING' | 'APPLIED' | 'REJECTED'
  - `teamIds` string[]
  - `templateInputsPatch` JsonNode: A partial templateInputs object to deep-merge into the pipeline's current inputs. Objects merge recursively, and an array of named objects (like input.parsers) merges by entry name, so entries you omit are kept. Scalars and arrays of non-objects replace whole.
  - `toolCallId` string
  - `updatedAt` string, date-time

## Other responses

- `401`: Unauthorized
- `404`: Suggestion not found
- `409`: Suggestion is no longer pending

---

[API](https://skmtc.dev/grepr/apis/grepr-api.md) - [All operations](https://skmtc.dev/grepr/apis/grepr-api/llms.txt) - [OpenAPI document](https://skmtc.dev/grepr/apis/grepr-api/revisions/2a5ce03a0bf0?raw)
