--- title: Agent Decisions | SafetyKit description: Submit ground truth review decisions back to SafetyKit. --- Use Agent Decisions to send the correct outcome for content that SafetyKit has reviewed. These decisions help SafetyKit measure review quality and improve automated decisions over time. Use the [Agent Decisions API reference](/api/resources/agent_decisions/methods/createAgentDecision/index.md) for the full request schema, SDK examples, and response fields. ## When to send decisions Send an agent decision after a human reviewer, internal agent, or downstream system determines the correct outcome for a SafetyKit review. Each request should represent one content object and one policy category. If the same object is reviewed against multiple policy categories, send one request per policy category. ## Request fields | Field | Type | Description | | -------------- | -------- | ------------------------------------------------------------------------------------------------------------------- | | `reference_id` | `string` | Stable identifier for the content object in your system, such as a listing ID, post ID, campaign ID, or account ID. | | `content_type` | `string` | SafetyKit data namespace or content type for the content being reviewed. | | `policy_id` | `string` | SafetyKit policy category ID that was evaluated, as configured for your account. | | `decision` | `string` | Human reviewer’s verdict for the policy category, such as `"match"` or `"no_match"`. | | `agent_type` | `string` | Optional type of review that produced this decision, such as `"appeal"`, `"bpo_review"`, or `"policy_expert"`. | | `action` | `string` | Optional correct enforcement action for this content, such as `"reduce_visibility"` or `"unpublish"`. | | `comment` | `string` | Optional additional context or details from the reviewer. | ## Sample request Terminal window ``` curl -X POST "https://api.safetykit.com/v1/agent_decisions" \ -H "Authorization: Bearer " \ -H "Content-Type: application/json" \ -d '{ "reference_id": "listing_12345", "content_type": "product_listing", "policy_id": "counterfeit", "decision": "no_match", "agent_type": "appeal", "comment": "The listing is allowed under the counterfeit goods policy." }' ``` Response: ``` { "safetykitCorrect": true } ``` ## Best practices - Use stable `reference_id` values that match the IDs you send to SafetyKit during ingestion. - Keep `content_type` consistent with the namespace or object type SafetyKit reviewed. - Send the final corrected decision, not an intermediate review state. - Retry transient network errors and 5xx responses with exponential backoff. - Do not retry 4xx responses without changing the request.