# Organization API: Org Staff Community

> Every Organization API operation tagged Org Staff Community.

Source: https://www.coritan.com/docs/api/reference/organizations/org-staff-community/

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](https://api.coritan.com/docs/org).

## Operations

| Method | Path | Summary |
| --- | --- | --- |
| GET | [`/api/v1/orgs/{org_slug}/staff/community/forum/reports`](#op-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`](#op-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`](#op-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`](#op-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`](#op-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`](#op-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`](#op-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`](#op-post-api-v1-orgs-org-slug-staff-community-guides-articles-article-id-approve) | Staff approve guide |
| POST | [`/api/v1/orgs/{org_slug}/staff/community/guides/articles/{article_id}/reject`](#op-post-api-v1-orgs-org-slug-staff-community-guides-articles-article-id-reject) | Staff reject guide |
| POST | [`/api/v1/orgs/{org_slug}/staff/community/guides/comments/{comment_id}/approve`](#op-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`](#op-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`](#op-get-api-v1-orgs-org-slug-staff-community-guides-moderators) | Staff list guide moderators |
| POST | [`/api/v1/orgs/{org_slug}/staff/community/guides/moderators`](#op-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}`](#op-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`](#op-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`](#op-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`](#op-get-api-v1-orgs-org-slug-staff-community-listings) | Staff listings |
| PATCH | [`/api/v1/orgs/{org_slug}/staff/community/listings/{listing_id}`](#op-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}`](#op-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`](#op-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`](#op-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`](#op-get-api-v1-orgs-org-slug-staff-community-summary) | Staff community summary |

### The report queue {#op-get-api-v1-orgs-org-slug-staff-community-forum-reports}

`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.

#### Parameters

| 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`. |

#### Responses

| 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 {#op-post-api-v1-orgs-org-slug-staff-community-forum-reports-report-id-mute}

`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.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `report_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

| Field | Type | Required |
| --- | --- | --- |
| `hours` | integer | yes |
| `reason` | string or null | no |

#### Responses

| 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 {#op-post-api-v1-orgs-org-slug-staff-community-forum-reports-report-id-quarantine}

`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.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `report_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json`

| Field | Type | Required |
| --- | --- | --- |
| `note` | string or null | no |

#### Responses

| 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 {#op-post-api-v1-orgs-org-slug-staff-community-forum-reports-report-id-remove}

`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.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `report_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Close a report without touching what it pointed at {#op-post-api-v1-orgs-org-slug-staff-community-forum-reports-report-id-resolve}

`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.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `report_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

| Field | Type | Required |
| --- | --- | --- |
| `resolution` | string | no |

#### Responses

| 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 {#op-post-api-v1-orgs-org-slug-staff-community-forum-reports-report-id-restore}

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

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

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `report_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Pin, lock or hide a thread {#op-post-api-v1-orgs-org-slug-staff-community-forum-threads-thread-id-flags}

`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.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `thread_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

| Field | Type | Required |
| --- | --- | --- |
| `is_sticky` | boolean or null | no |
| `is_locked` | boolean or null | no |
| `hidden` | boolean or null | no |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Staff approve guide {#op-post-api-v1-orgs-org-slug-staff-community-guides-articles-article-id-approve}

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

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `article_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Staff reject guide {#op-post-api-v1-orgs-org-slug-staff-community-guides-articles-article-id-reject}

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

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `article_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

| Field | Type | Required |
| --- | --- | --- |
| `reason` | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Staff approve guide comment {#op-post-api-v1-orgs-org-slug-staff-community-guides-comments-comment-id-approve}

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

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `comment_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Staff reject guide comment {#op-post-api-v1-orgs-org-slug-staff-community-guides-comments-comment-id-reject}

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

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `comment_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

| Field | Type | Required |
| --- | --- | --- |
| `reason` | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Staff list guide moderators {#op-get-api-v1-orgs-org-slug-staff-community-guides-moderators}

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

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Staff add guide moderator {#op-post-api-v1-orgs-org-slug-staff-community-guides-moderators}

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

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

| Field | Type | Required |
| --- | --- | --- |
| `customer_id` | integer | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `201` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Staff remove guide moderator {#op-delete-api-v1-orgs-org-slug-staff-community-guides-moderators-customer-id}

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

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `customer_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Staff guides queue {#op-get-api-v1-orgs-org-slug-staff-community-guides-queue}

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

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Staff resolve guide report {#op-post-api-v1-orgs-org-slug-staff-community-guides-reports-report-id-resolve}

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

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `report_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Staff listings {#op-get-api-v1-orgs-org-slug-staff-community-listings}

`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.

#### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `org_slug` | path | string | yes |  |
| `only` | query | string | no | Default: `all`. |
| `q` | query | string or null | no |  |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Staff moderate listing {#op-patch-api-v1-orgs-org-slug-staff-community-listings-listing-id}

`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.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `listing_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

| Field | Type | Required |
| --- | --- | --- |
| `hidden` | boolean or null | no |
| `reason` | string or null | no |
| `featured` | boolean or null | no |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Delete a listing and its ratings {#op-delete-api-v1-orgs-org-slug-staff-community-listings-listing-id}

`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.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `listing_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Responses

| 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 {#op-post-api-v1-orgs-org-slug-staff-community-listings-listing-id-hold}

`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.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `listing_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json` (required)

| Field | Type | Required |
| --- | --- | --- |
| `reason` | string | yes |

#### Responses

| 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 {#op-post-api-v1-orgs-org-slug-staff-community-listings-listing-id-release}

`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.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `listing_id` | path | integer | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Staff community summary {#op-get-api-v1-orgs-org-slug-staff-community-summary}

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

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |
