SOP-19: Report Content and Admin Resolution
API SOPUser reports inappropriate content; admin reviews and resolves or rejects the report.
6 nodes · 5 edgesmedirank
apisopmedirankreportsmoderation
Visual
ex-sop-19-report-content.osop.yaml
# 原始:SOP-19: 檢舉內容 + 管理員處理
osop_version: '1.0'
id: sop-19-report-content
name: 'SOP-19: Report Content and Admin Resolution'
description: User reports inappropriate content; admin reviews and resolves or rejects the report.
version: 1.0.0
tags:
- api
- sop
- medirank
- reports
- moderation
nodes:
- id: step_1
type: api
subtype: rest
name: POST /reports
description: User reports inappropriate content (post, comment, clinic review, or treatment review).
runtime:
method: POST
url: https://medi-rank.com/api/v1
endpoint: /reports
headers:
Authorization: Bearer ${secrets.TOKEN}
body:
reportable_type: post
reportable_id: 123
reason: Advertising content
detail: This post is clearly commercial advertising
- id: step_2
type: api
subtype: rest
name: GET /reports?status=pending
description: Admin fetches the list of unresolved reports.
runtime:
method: GET
url: https://medi-rank.com/api/v1
endpoint: /reports?status=pending
headers:
Authorization: Bearer ${secrets.TOKEN}
- id: step_3
type: api
subtype: rest
name: GET /reports/{report_id}
description: Admin reviews the full report details.
runtime:
method: GET
url: https://medi-rank.com/api/v1
endpoint: /reports/{report_id}
headers:
Authorization: Bearer ${secrets.TOKEN}
- id: step_4
type: human
subtype: review
name: Admin review decision
description: Administrator reviews the reported content and decides to resolve or reject.
security:
approval_gate: true
- id: step_5a
type: api
subtype: rest
name: POST /reports/{report_id}/resolve
description: Admin resolves the report and optionally deletes the offending content.
runtime:
method: POST
url: https://medi-rank.com/api/v1
endpoint: /reports/{report_id}/resolve
headers:
Authorization: Bearer ${secrets.TOKEN}
body:
notes: Removed violating content
- id: step_5b
type: api
subtype: rest
name: POST /reports/{report_id}/reject
description: Admin rejects the report as not violating policy.
runtime:
method: POST
url: https://medi-rank.com/api/v1
endpoint: /reports/{report_id}/reject
headers:
Authorization: Bearer ${secrets.TOKEN}
body:
notes: Content does not violate policy
edges:
- from: step_1
to: step_2
mode: sequential
- from: step_2
to: step_3
mode: sequential
- from: step_3
to: step_4
mode: sequential
- from: step_4
to: step_5a
mode: conditional
when: content_violates_policy
- from: step_4
to: step_5b
mode: conditional
when: content_is_acceptable