Trust & safety
18 routes. Paths are relative to https://api.intersink.com/v1.
- POST/safety/announcements/{id}/endTake a banner down
- POST/safety/cases/{id}/appealAppeal a decision (once)
- POST/safety/cases/{id}/appeal-decisionUphold or reverse an appealed decision
- POST/safety/cases/{id}/decisionWarn, suspend or dismiss an open case
- POST/safety/cases/{id}/escalateHand an open case to the channel above
- POST/safety/cases/{id}/liftLift a suspension or withdraw a warning
- GET/safety/channels/{channelId}/announcementsThe channel's announcements
- POST/safety/channels/{channelId}/announcementsShow a banner (optionally on every channel below too)
- GET/safety/channels/{channelId}/announcements/liveBanners for the channel's people (its own and cascading ones from above)
- POST/safety/channels/{channelId}/api-keys/pausePause or resume every API key of this channel or one below it
- GET/safety/channels/{channelId}/casesThe channel's cases (default: open and appealed)
- POST/safety/channels/{channelId}/casesWarn or suspend something below the channel directly
- GET/safety/channels/{channelId}/legal-requestsLegal and data requests (default: open), by due date
- POST/safety/channels/{channelId}/legal-requestsRecord a request that arrived another way
- POST/safety/channels/{channelId}/legal-requests/publicSend a legal or data request to a channel (anyone; returns a reference)
- PATCH/safety/legal-requests/{id}Move a request along and record the answer
- GET/safety/noticesDecisions about me, or a business or channel I own (?type=&id=)
- POST/safety/reportsReport an account, business or channel
Take a banner down
POST/safety/announcements/{id}/end
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| idrequired | string, path |
Response
200. The payload in data is not described in the spec yet.
Appeal a decision (once)
POST/safety/cases/{id}/appeal
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| idrequired | string, path |
Request body application/json
| Field | Type | Description |
|---|---|---|
| textrequired | string | At least 10 characters, at most 2000 characters. |
Response
200. The payload in data is not described in the spec yet.
Uphold or reverse an appealed decision
POST/safety/cases/{id}/appeal-decision
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| idrequired | string, path |
Request body application/json
| Field | Type | Description |
|---|---|---|
| outcomerequired | string | One of: "upheld", "reversed". |
| reasonrequired | string | At least 3 characters, at most 1000 characters. |
Response
200. The payload in data is not described in the spec yet.
Warn, suspend or dismiss an open case
POST/safety/cases/{id}/decision
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| idrequired | string, path |
Request body application/json
| Field | Type | Description |
|---|---|---|
| decisionrequired | string | One of: "warning", "suspended", "dismissed". |
| reason | string | Shown to the owner (required unless dismissed) At least 0 characters, at most 1000 characters. |
| internal_note | string | At least 0 characters, at most 2000 characters. |
Response
200. The payload in data is of type object.
Hand an open case to the channel above
POST/safety/cases/{id}/escalate
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| idrequired | string, path |
Response
200. The payload in data is not described in the spec yet.
Lift a suspension or withdraw a warning
POST/safety/cases/{id}/lift
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| idrequired | string, path |
Request body application/json
| Field | Type | Description |
|---|---|---|
| reason | string | At least 0 characters, at most 1000 characters. |
Response
200. The payload in data is not described in the spec yet.
The channel's announcements
GET/safety/channels/{channelId}/announcements
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| channelIdrequired | string, path |
Response
200. data is object[].
Show a banner (optionally on every channel below too)
POST/safety/channels/{channelId}/announcements
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| channelIdrequired | string, path |
Request body application/json
| Field | Type | Description |
|---|---|---|
| titlerequired | string | At least 2 characters, at most 140 characters. |
| body | string | At least 0 characters, at most 1000 characters. |
| level | string | One of: "info", "warning", "critical". |
| ends_at | string | |
| cascade | boolean | Also show on every channel below this one |
Response
200. The payload in data is of type object.
Banners for the channel's people (its own and cascading ones from above)
GET/safety/channels/{channelId}/announcements/live
Public: no sign-in needed.
Parameters
| Name | Type | Description |
|---|---|---|
| channelIdrequired | string, path |
Response
200. The payload in data is not described in the spec yet.
Pause or resume every API key of this channel or one below it
POST/safety/channels/{channelId}/api-keys/pause
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| channelIdrequired | string, path |
Request body application/json
| Field | Type | Description |
|---|---|---|
| target_channel_idrequired | string | This channel or one below it |
| pauserequired | boolean | |
| reason | string | At least 0 characters, at most 400 characters. |
Response
200. The payload in data is not described in the spec yet.
The channel's cases (default: open and appealed)
GET/safety/channels/{channelId}/cases
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| channelIdrequired | string, path | |
| status | string, query | One of: "open", "actioned", "dismissed", "appealed", "closed". |
Response
200. data is object[].
Warn or suspend something below the channel directly
POST/safety/channels/{channelId}/cases
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| channelIdrequired | string, path |
Request body application/json
| Field | Type | Description |
|---|---|---|
| target_typerequired | string | One of: "account", "profile", "business", "channel". |
| target_idrequired | string | |
| categoryrequired | string | One of: "spam", "fraud", "abuse", "illegal", "impersonation", "copyright", "privacy", "other". |
| details | string | At least 0 characters, at most 2000 characters. |
| actionrequired | string | One of: "warning", "suspended". |
| reasonrequired | string | Shown to the owner At least 3 characters, at most 1000 characters. |
| internal_note | string | Only the channel's managers see it At least 0 characters, at most 2000 characters. |
Response
200. The payload in data is of type object.
Legal and data requests (default: open), by due date
GET/safety/channels/{channelId}/legal-requests
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| channelIdrequired | string, path | |
| status | string, query | One of: "open", "in_progress", "completed", "refused". |
Response
200. data is object[].
Record a request that arrived another way
POST/safety/channels/{channelId}/legal-requests
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| channelIdrequired | string, path |
Request body application/json
| Field | Type | Description |
|---|---|---|
| kindrequired | string | One of: "data_access", "data_erasure", "data_correction", "law_enforcement", "court_order", "copyright", "other". |
| requester_namerequired | string | At least 2 characters, at most 200 characters. |
| requester_email | string | |
| organisation | string | At least 0 characters, at most 200 characters. |
| subject | string | Who or what it is about At least 0 characters, at most 300 characters. |
| detailsrequired | string | At least 20 characters, at most 5000 characters. |
| due_at | string | Managers only: a deadline the order sets |
Response
200. The payload in data is of type object.
Send a legal or data request to a channel (anyone; returns a reference)
POST/safety/channels/{channelId}/legal-requests/public
Public: no sign-in needed.
Parameters
| Name | Type | Description |
|---|---|---|
| channelIdrequired | string, path |
Request body application/json
| Field | Type | Description |
|---|---|---|
| kindrequired | string | One of: "data_access", "data_erasure", "data_correction", "law_enforcement", "court_order", "copyright", "other". |
| requester_namerequired | string | At least 2 characters, at most 200 characters. |
| requester_email | string | |
| organisation | string | At least 0 characters, at most 200 characters. |
| subject | string | Who or what it is about At least 0 characters, at most 300 characters. |
| detailsrequired | string | At least 20 characters, at most 5000 characters. |
| due_at | string | Managers only: a deadline the order sets |
Response
200. The payload in data is not described in the spec yet.
Move a request along and record the answer
PATCH/safety/legal-requests/{id}
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| idrequired | string, path |
Request body application/json
| Field | Type | Description |
|---|---|---|
| statusrequired | string | One of: "open", "in_progress", "completed", "refused". |
| response | string | At least 0 characters, at most 5000 characters. |
Response
200. The payload in data is of type object.
Decisions about me, or a business or channel I own (?type=&id=)
GET/safety/notices
Needs a signed-in user (Bearer token or access_token cookie).
Parameters
| Name | Type | Description |
|---|---|---|
| typerequired | string, query | One of: "account", "profile", "business", "channel". |
| id | string, query |
Response
200. The payload in data is not described in the spec yet.
Report an account, business or channel
POST/safety/reports
Needs a signed-in user (Bearer token or access_token cookie).
Request body application/json
| Field | Type | Description |
|---|---|---|
| target_typerequired | string | One of: "account", "profile", "business", "channel". |
| target_idrequired | string | |
| categoryrequired | string | One of: "spam", "fraud", "abuse", "illegal", "impersonation", "copyright", "privacy", "other". |
| details | string | At least 0 characters, at most 2000 characters. |
Response
200. The payload in data is not described in the spec yet.