Agent Decisions
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 for the full request schema, SDK examples, and response fields.
When to send decisions
Section titled “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
Section titled “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
Section titled “Sample request”curl -X POST "https://api.safetykit.com/v1/agent_decisions" \ -H "Authorization: Bearer <SAFETYKIT_API_KEY>" \ -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
Section titled “Best practices”- Use stable
reference_idvalues that match the IDs you send to SafetyKit during ingestion. - Keep
content_typeconsistent 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.