Skip to content
Coritan Docs

Organization API: Org Staff Community

Every Organization API operation tagged Org Staff Community.

View as Markdown

Base URL: https://api.coritan.com/api/v1. Paths below are complete.

To try these requests in the browser, open the interactive Organization API reference.

Method Path Summary
GET /api/v1/orgs/{org_slug}/staff/community/forum/reports The report queue
POST /api/v1/orgs/{org_slug}/staff/community/forum/reports/{report_id}/mute Mute the member behind a report in the forum and community chat
POST /api/v1/orgs/{org_slug}/staff/community/forum/reports/{report_id}/quarantine Take the reported post or thread off the forum until Tier 2 decides
POST /api/v1/orgs/{org_slug}/staff/community/forum/reports/{report_id}/remove Delete the reported post or thread, quarantined or still up, and close every report on it
POST /api/v1/orgs/{org_slug}/staff/community/forum/reports/{report_id}/resolve Close a report without touching what it pointed at
POST /api/v1/orgs/{org_slug}/staff/community/forum/reports/{report_id}/restore Put quarantined content back: the report was not worth acting on
POST /api/v1/orgs/{org_slug}/staff/community/forum/threads/{thread_id}/flags Pin, lock or hide a thread
POST /api/v1/orgs/{org_slug}/staff/community/guides/articles/{article_id}/approve Publish the guide's pending proposal
POST /api/v1/orgs/{org_slug}/staff/community/guides/articles/{article_id}/reject Reject the guide's pending proposal
POST /api/v1/orgs/{org_slug}/staff/community/guides/articles/{article_id}/request-changes Ask the author to change the guide's pending proposal
GET /api/v1/orgs/{org_slug}/staff/community/guides/articles/{article_id}/review Everything a reviewer needs to decide on a guide, in one answer
POST /api/v1/orgs/{org_slug}/staff/community/guides/comments/{comment_id}/approve Staff approve guide comment
POST /api/v1/orgs/{org_slug}/staff/community/guides/comments/{comment_id}/reject Staff reject guide comment
GET /api/v1/orgs/{org_slug}/staff/community/guides/moderators Staff list guide moderators
POST /api/v1/orgs/{org_slug}/staff/community/guides/moderators Staff add guide moderator
DELETE /api/v1/orgs/{org_slug}/staff/community/guides/moderators/{customer_id} Staff remove guide moderator
GET /api/v1/orgs/{org_slug}/staff/community/guides/queue Staff guides queue
POST /api/v1/orgs/{org_slug}/staff/community/guides/reports/{report_id}/resolve Staff resolve guide report
GET /api/v1/orgs/{org_slug}/staff/community/listings Staff listings
PATCH /api/v1/orgs/{org_slug}/staff/community/listings/{listing_id} Staff moderate listing
DELETE /api/v1/orgs/{org_slug}/staff/community/listings/{listing_id} Delete a listing and its ratings
POST /api/v1/orgs/{org_slug}/staff/community/listings/{listing_id}/hold Take a listing off the public list until Tier 2 looks at it
POST /api/v1/orgs/{org_slug}/staff/community/listings/{listing_id}/release The hold was not warranted: the listing goes back as its owner left it
GET /api/v1/orgs/{org_slug}/staff/community/summary Staff community summary

GET /api/v1/orgs/{org_slug}/staff/community/forum/reports

The report queue. quarantined is what Tier 1 hid and Tier 2 has to decide on; each row names the member behind the reported content and whether they are muted.

Name In Type Required Description
org_slug path string yes
status query string no Default: open.
page query integer no Default: 1.
page_size query integer no Default: 25.
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Mute the member behind a report in the forum and community chat

Section titled Mute the member behind a report in the forum and community chat

POST /api/v1/orgs/{org_slug}/staff/community/forum/reports/{report_id}/mute

Mute the member behind a report in the forum and community chat.

Tiers 1 and 2 may mute for up to a week; Tier 3 for up to a year. A mute already running longer is left as it is. The report stays where it is, so the content can still be quarantined or dismissed.

Name In Type Required
report_id path integer yes
org_slug path string yes

application/json (required)

Field Type Required
hours integer yes
reason string or null no
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Take the reported post or thread off the forum until Tier 2 decides

Section titled Take the reported post or thread off the forum until Tier 2 decides

POST /api/v1/orgs/{org_slug}/staff/community/forum/reports/{report_id}/quarantine

Take the reported post or thread off the forum until Tier 2 decides.

It is marked quarantined and soft-deleted, so every reader that hides deleted content hides it with nothing else to change; restoring undoes both. The report, and any other open report on the same content, waits in the quarantine queue.

Name In Type Required
report_id path integer yes
org_slug path string yes

application/json

Field Type Required
note string or null no
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Delete the reported post or thread, quarantined or still up, and close every report on it

Section titled Delete the reported post or thread, quarantined or still up, and close every report on it

POST /api/v1/orgs/{org_slug}/staff/community/forum/reports/{report_id}/remove

Delete the reported post or thread, quarantined or still up, and close every report on it. It stays in the database for the record, marked removed, and leaves every list and the search index.

Name In Type Required
report_id path integer yes
org_slug path string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Close a report without touching what it pointed at

Section titled Close a report without touching what it pointed at

POST /api/v1/orgs/{org_slug}/staff/community/forum/reports/{report_id}/resolve

Close a report without touching what it pointed at. A quarantined report is Tier 2's to decide; restore or remove closes it.

Name In Type Required
report_id path integer yes
org_slug path string yes

application/json (required)

Field Type Required
resolution string no
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Put quarantined content back: the report was not worth acting on

Section titled Put quarantined content back: the report was not worth acting on

POST /api/v1/orgs/{org_slug}/staff/community/forum/reports/{report_id}/restore

Put quarantined content back: the report was not worth acting on.

Name In Type Required
report_id path integer yes
org_slug path string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

POST /api/v1/orgs/{org_slug}/staff/community/forum/threads/{thread_id}/flags

Pin, lock or hide a thread. Hiding soft-deletes it: the posts stay for the record and the thread leaves every list and the search index.

Name In Type Required
thread_id path integer yes
org_slug path string yes

application/json (required)

Field Type Required
is_sticky boolean or null no
is_locked boolean or null no
hidden boolean or null no
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Publish the guide's pending proposal

Section titled Publish the guide's pending proposal

POST /api/v1/orgs/{org_slug}/staff/community/guides/articles/{article_id}/approve

Publish the guide's pending proposal.

revision_id is the proposed revision you read and note an optional message (up to 1000 characters) for the author, who gets it in a notification and an email. 409 when the author replaced the proposal since you opened it, or when nothing is waiting. Answers the new proposal_status.

Name In Type Required
article_id path integer yes
org_slug path string yes

application/json (required)

Field Type Required Description
revision_id integer yes The proposed revision you read. Answers 409 when the author has replaced it.
note string or null no A note the author sees with the approval.
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Reject the guide's pending proposal

Section titled Reject the guide's pending proposal

POST /api/v1/orgs/{org_slug}/staff/community/guides/articles/{article_id}/reject

Reject the guide's pending proposal.

reason (3 to 1000 characters) goes to the author in a notification and an email. The author may still edit the guide and submit it again. 409 when the proposal changed since you opened it, or when nothing is waiting.

Name In Type Required
article_id path integer yes
org_slug path string yes

application/json (required)

Field Type Required Description
revision_id integer yes The proposed revision you read. Answers 409 when the author has replaced it.
reason string yes Why it was not accepted, 3 to 1000 characters.
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Ask the author to change the guide's pending proposal

Section titled Ask the author to change the guide's pending proposal

POST /api/v1/orgs/{org_slug}/staff/community/guides/articles/{article_id}/request-changes

Ask the author to change the guide's pending proposal.

note (3 to 1000 characters) says what to change and goes to the author in a notification and an email. The proposal stays on the guide for the author to edit and submit again. 409 when the proposal changed since you opened it, or when nothing is waiting.

Name In Type Required
article_id path integer yes
org_slug path string yes

application/json (required)

Field Type Required Description
revision_id integer yes The proposed revision you read. Answers 409 when the author has replaced it.
note string yes What to change, 3 to 1000 characters.
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Everything a reviewer needs to decide on a guide, in one answer

Section titled Everything a reviewer needs to decide on a guide, in one answer

GET /api/v1/orgs/{org_slug}/staff/community/guides/articles/{article_id}/review

Everything a reviewer needs to decide on a guide, in one answer.

proposed is the revision waiting for review and live the published one (null for a new guide, where is_new is true). Both carry the rendered, sanitized body_html and the table of contents. field_diff lists the fields that differ, body_diff the lines of the body as equal, insert or delete (empty for a new guide), and reviews the earlier decisions, newest first. 404 for a guide that is not this brand's. Send proposed_revision_id back as revision_id when you decide, so a decision never lands on a version you did not read.

Name In Type Required
article_id path integer yes
org_slug path string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

POST /api/v1/orgs/{org_slug}/staff/community/guides/comments/{comment_id}/approve

Name In Type Required
comment_id path integer yes
org_slug path string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

POST /api/v1/orgs/{org_slug}/staff/community/guides/comments/{comment_id}/reject

Name In Type Required
comment_id path integer yes
org_slug path string yes

application/json (required)

Field Type Required
reason string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

GET /api/v1/orgs/{org_slug}/staff/community/guides/moderators

Name In Type Required
org_slug path string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

POST /api/v1/orgs/{org_slug}/staff/community/guides/moderators

Name In Type Required
org_slug path string yes

application/json (required)

Field Type Required
customer_id integer yes
Status Meaning
201 Success.
422 The request is not valid. detail lists each problem.

DELETE /api/v1/orgs/{org_slug}/staff/community/guides/moderators/{customer_id}

Name In Type Required
customer_id path integer yes
org_slug path string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

GET /api/v1/orgs/{org_slug}/staff/community/guides/queue

Name In Type Required
org_slug path string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

POST /api/v1/orgs/{org_slug}/staff/community/guides/reports/{report_id}/resolve

Name In Type Required
report_id path integer yes
org_slug path string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

GET /api/v1/orgs/{org_slug}/staff/community/listings

Every public server listing the brand's customers made, including the unpublished, the ones staff hid and the ones held for review.

Name In Type Required Description
org_slug path string yes
only query string no Default: all.
q query string or null no
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

PATCH /api/v1/orgs/{org_slug}/staff/community/listings/{listing_id}

Hide a listing from the public list (the customer's own switch stays as they set it), or (Tier 3) feature it at the top. Hiding or showing a held listing is the decision the hold waited for, so it ends the hold.

Name In Type Required
listing_id path integer yes
org_slug path string yes

application/json (required)

Field Type Required
hidden boolean or null no
reason string or null no
featured boolean or null no
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Delete a listing and its ratings

Section titled Delete a listing and its ratings

DELETE /api/v1/orgs/{org_slug}/staff/community/listings/{listing_id}

Delete a listing and its ratings. Its owner may list the server again from scratch; one that should stay down is hidden instead. The audit row keeps what the listing said.

Name In Type Required
listing_id path integer yes
org_slug path string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Take a listing off the public list until Tier 2 looks at it

Section titled Take a listing off the public list until Tier 2 looks at it

POST /api/v1/orgs/{org_slug}/staff/community/listings/{listing_id}/hold

Take a listing off the public list until Tier 2 looks at it. The reason is what the reviewer, and the listing's owner, read.

Name In Type Required
listing_id path integer yes
org_slug path string yes

application/json (required)

Field Type Required
reason string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

The hold was not warranted: the listing goes back as its owner left it

Section titled The hold was not warranted: the listing goes back as its owner left it

POST /api/v1/orgs/{org_slug}/staff/community/listings/{listing_id}/release

The hold was not warranted: the listing goes back as its owner left it.

Name In Type Required
listing_id path integer yes
org_slug path string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

GET /api/v1/orgs/{org_slug}/staff/community/summary

Name In Type Required
org_slug path string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.