Complaint Resolution
Postman Workspace
We've created a Postman workspace specifically for our API, which contains example API calls that you can use to test and familiarise yourself with our API.
The workspace includes example API calls for each of our API endpoints, along with detailed descriptions of the request parameters and headers being used.
You can generate most of the client code to call our APIs using the Postman client code generator. With this feature, developers can select a range of programming languages, and generate the corresponding code with a few clicks.
Please note that while both the example API calls and the generated code can be a helpful starting point, it's important to thoroughly test your own API calls before deploying them in production. If you encounter any issues while using the example API calls, or if you have any questions about our API, please don't hesitate to reach out to our support team.
API Domain
Our API is designed to be used in two environments: a sandbox environment and a production environment.
The sandbox environment is intended for testing and development purposes, while the production environment is used for live data and real-world use cases.
To ensure the security and integrity of our API, we use separate API keys for each environment. This means that you will need to obtain different API keys for the sandbox and production environments, and should not use the same key for both.
Domain | Environment |
---|---|
https://moderation.verifymycontent.com | production |
https://moderation.sandbox.verifymycontent.com | sandbox |
Generating the HMAC header
To improve the security of the communication between your implementation and the VerifyMyContent API, we require you to generate a unique hexadecimal encoded SHA256 HMAC hash for each request, based on the input parameters.
The process of generating it depends on the language of your implementation.
If you use our SDK, the HMAC step will be abstracted,
and you don't need to do anything related to it.
Integration
Create a complaint
To start a complaint for previously uploaded content. You need to send the original content and the violations raised by the user.
Important: Please generate a universally unique identifier (UUID v4) for each customer on your site. This UUID should never change. For example, if the customer's username on your site changes, their UUID shouldn't.
Authorization Header
Generate HMAC with: Request BodyAuthorization: hmac YOUR-API-KEY:GENERATED-HMAC
Request parameters
content required
The content with potential issues.
type optional
It can be video
or image
. Defaults to video
.
external_id required
The unique identifier you send to correlate with the complaint.
url required
The URL where we can download the original video or image uploaded by your customer.
title optional
The title of the content being moderated.
description optional
The text written by your customer to describe the content.
tags required
The potential violations raised by the user.
webhook required
This is the URL where we will post status updates on the complaint.
customer required
Customer information.
id required
Customer's unique ID.
Response parameters
id
Unique identifier generated by the VerifyMyContent API.
external_id
The unique identifier you send to correlate with the complaint.
status
The current status of the complaint flow. It will change depending on the step of the complaint.
Status | Description |
---|---|
Pending | The complaint was received. |
Confirmed | Violations were found. |
Failed | An error occurred during the content processing. |
Rejected | No violations were found. |
notes
Any notes associated with the moderation when the complaint status is 'Confirmed’ or ‘Rejected’.
tags
Any tags associated with the complaint when the complaint status is Confirmed.
created_at
The date and time in the UTC timezone when the verification was created.
updated_at
The date and time in the UTC timezone when the verification was updated.
POST /api/v1/complaint-moderation HTTP/1.1
Content-Type: application/json
Authorization: hmac YOUR-API-KEY:GENERATE-HMAC-WITH-REQUEST-BODY
{
"content": {
"description": "Your description",
"external_id": "YOUR-VIDEO-ID",
"tags": [
"VIOLATION_1"
],
"title": "Your title",
"type": "video",
"url": "https://example.com/video.mp4"
},
"customer": {
"id": "YOUR-USER-ID"
},
"webhook": "https://example.com/webhook"
}
{ "external_id": "YOUR-CORRELATION-ID", "id": "ABC-123-5678-ABC", "notes": "Harmful content found.", "status": "Confirmed", "tags": [ "UNDERAGE" ], "created_at": "2020-11-12 19:06:00", "updated_at": "2020-11-12 19:06:00" }
Receive the current status of a complaint
The complaint information can also be sent via webhook to your domain if you send it to us when you create a complaint.
Authorization Header
Generate HMAC with: Request BodyAuthorization: hmac YOUR-API-KEY:GENERATED-HMAC
Request parameters
id
Unique identifier generated by the VerifyMyContent API.
external_id
The unique identifier you send to correlate with the complaint.
status
The current status of the complaint flow. It will change depending on the step of the complaint.
Status | Description |
---|---|
Awaiting Automation | Our AI is about to process the content to detect any illegal or non-consensual content. |
Awaiting Moderation | The moderators are about to confirm the moderation decision. |
Confirmed | Violations were found. |
Failed | An error occurred during the content processing. |
Rejected | No violations were found. |
notes
Any notes associated with the moderation when the complaint status is 'Confirmed’ or ‘Rejected’.
complaint_tags
Any tags associated with the complaint when the complaint status is Confirmed.
moderated_tags
Any tags associated with the moderation when the moderation status is Confirmed.
created_at
The date and time in the UTC timezone when the complaint was created.
updated_at
The date and time in the UTC timezone when the complaint was updated.
POST /your-path HTTP/1.1
Host: https://your-domain.com
Content-Type: application/json
Authorization: hmac YOUR-API-KEY:GENERATE-HMAC-WITH-REQUEST-BODY
{
"id": "ABC-123-5678-ABC",
"external_id": "YOUR-CORRELATION-ID",
"status": "Confirmed",
"notes": "Harmful content found.",
"tags": [
"VIOLATION_1"
],
"created_at": "2020-11-12 19:06:00",
"updated_at": "2020-11-12 19:06:00"
}
Create a live stream complaint
To start a complaint, you need to send the live stream information.
Authorization Header
Generate HMAC with: Request BodyAuthorization: hmac YOUR-API-KEY:GENERATED-HMAC
Request parameters
stream required
Represents the live stream with potential issues.
external_id required
The unique identifier you send to correlate with the complaint.
tags required
The potential violations raised by the user.
complained_at required
Date and time when the complaint was raised by the user.
webhook required
This is the URL where we will post status updates on the complaint.
customer optional
Customer information.
id optional
Customer's unique ID.
Response parameters
id
Unique identifier generated by the VerifyMyContent API.
external_id
The unique identifier you send to correlate with the complaint.
status
The current status of the complaint flow. It will change depending on the step of the complaint.
Status | Description |
---|---|
Pending | The complaint was received. |
Confirmed | Violations were found. |
Failed | An error occurred during the content processing. |
Rejected | No violations were found. |
notes
Any notes associated with the moderation when the complaint status is 'Confirmed’ or ‘Rejected’.
tags
Any tags associated with the complaint when the complaint status is Confirmed.
created_at
The date and time in the UTC timezone when the verification was created.
updated_at
The date and time in the UTC timezone when the verification was updated.
POST /api/v1/complaint-livestream HTTP/1.1
Content-Type: application/json
Authorization: hmac YOUR-API-KEY:GENERATE-HMAC-WITH-REQUEST-BODY
{
"complained_at": "2022-11-04T12:04:08.658Z",
"customer": {
"id": "YOUR-USER-ID"
},
"stream": {
"external_id": "YOUR-LIVESTREAM-ID",
"tags": [
"VIOLATION_1"
]
},
"webhook": "https://example.com/webhook"
}
{ "external_id": "YOUR-CORRELATION-ID", "id": "ABC-123-5678-ABC", "notes": "Harmful content found.", "status": "Confirmed", "tags": [ "UNDERAGE" ], "created_at": "2020-11-12 19:06:00", "updated_at": "2020-11-12 19:06:00" }
Receive the current status of a live stream complaint
The complaint information can also be sent via webhook to your domain if you send it to us when you create a complaint.
Authorization Header
Generate HMAC with: Request BodyAuthorization: hmac YOUR-API-KEY:GENERATED-HMAC
Request parameters
id
Unique identifier generated by the VerifyMyContent API.
external_id
The unique identifier you send to correlate with the complaint.
status
The current status of the complaint flow. It will change depending on the step of the complaint.
Status | Description |
---|---|
Awaiting Moderation | The moderators are about to confirm the moderation decision. |
Confirmed | Violations were found. |
Failed | An error occurred during the content processing. |
Rejected | No violations were found. |
notes
Any notes associated with the moderation when the complaint status is 'Confirmed’ or ‘Rejected’.
complaint_tags
Any tags associated with the complaint when the complaint status is Confirmed.
moderated_tags
Any tags associated with the moderation when the moderation status is Confirmed.
created_at
The date and time in the UTC timezone when the complaint was created.
updated_at
The date and time in the UTC timezone when the complaint was updated.
POST /your-path HTTP/1.1
Host: https://your-domain.com
Content-Type: application/json
Authorization: hmac YOUR-API-KEY:GENERATE-HMAC-WITH-REQUEST-BODY
{
"id": "ABC-123-5678-ABC",
"external_id": "YOUR-CORRELATION-ID",
"status": "Confirmed",
"notes": "Harmful content found.",
"complaint_tags": [
"VIOLATION_1"
],
"moderated_tags": [],
"created_at": "2020-11-12 19:06:00",
"updated_at": "2020-11-12 19:06:00"
}
Create a consent complaint
To start a complaint, you need to send the pre recorded video id and your customer id.
Authorization Header
Generate HMAC with: Request BodyAuthorization: hmac YOUR-API-KEY:GENERATED-HMAC
Request parameters
content required
The content with potential issues.
external_id required
The unique identifier you send to correlate with the complaint.
customer optional
Customer information.
id optional
Customer's unique ID.
webhook required
This is the URL where we will post status updates on the complaint.
Response parameters
id
Unique identifier generated by the VerifyMyContent API.
redirect_url
If a consent complaint was already created by the user for the same content this field will contain the redirect url to the existing complaint
status
The possible status returned by the consent complaint creation
Status | Description |
---|---|
Created | The complaint was received. |
POST /api/v1/complaint-consent HTTP/1.1
Content-Type: application/json
Authorization: hmac YOUR-API-KEY:GENERATE-HMAC-WITH-REQUEST-BODY
{
"content": {
"external_id": "string"
},
"customer": {
"id": "string"
},
"webhook": "string"
}
{ "id": "string", "redirect_url": "string", "status": "string" }
Receive the current status of a consent complaint
The complaint information can also be sent via webhook to your domain if you send it to us when you create a complaint.
Authorization Header
Generate HMAC with: Request BodyAuthorization: hmac YOUR-API-KEY:GENERATED-HMAC
Request parameters
id
Unique identifier generated by the VerifyMyContent API.
consent
Consent information
external_id
The unique identifier you send to correlate with the complaint.
customer
Customer information
id
Customer's unique ID
Customer's email address
status
The current status of the complaint flow. It will change depending on the step of the complaint.
Status | Description |
---|---|
Created | The complaint was received. |
Opened | The complaint was opened. |
Delivered | The complaint was delivered. |
Delivery Error | An error occurred during the complaint delivery. |
created_at
The date and time in the UTC timezone when the complaint was created.
updated_at
The date and time in the UTC timezone when the complaint was updated.
POST /your-path HTTP/1.1
Host: https://your-domain.com
Content-Type: application/json
Authorization: hmac YOUR-API-KEY:GENERATE-HMAC-WITH-REQUEST-BODY
{
"id": "ABC-123-5678-ABC",
"consent": {
"external_id": "YOUR-CORRELATION-ID"
},
"customer": {
"id": "YOUR ID",
"email": "customer@email.com"
},
"status": "Created",
"created_at": "2020-11-12 19:06:00",
"updated_at": "2020-11-12 19:06:00"
}