Scan files to find where the content has been used elsewhere and check its originality. Using submit-file you can scan various file types for plagiarism and identify copied content. See supported formats.
Authorization: Bearer <Your-Login-Token>Not sure how to generate your login token? Read here.
For integration testing purposes, use sandbox mode - for free.
Name | Description |
---|---|
A unique scan id provided by you. We recommend you use the same id in your database to represent the scan in the Copyleaks database. This will help you to debug incidents. Using the same ID for the same file will help you to avoid network problems that may lead to multiple scans for the same file. |
String
Allowed characters are |
Name | Description |
---|---|
The url to be scanned |
String (uri) Example: |
A base64 data string of a file. If you would like to scan plain text, encode it as base64 and submit it. |
String Example: |
The name of the file as it will appear in the Copyleaks scan report Make sure to include the right extension for your filetype. |
String Example: Example: Max length: 255 characters. |
The language code of your content. The selected language should be on the OCR supported languages list. |
String Example: |
Types of content submission actions. Possible values:
|
Integer (enum)
Default:
Optional Values:
|
By default, Copyleaks will present the report in text format. If set to true, Copyleaks will also include html format.
Possible values:
|
Boolean
Default: |
Add custom developer payload that will then be provided on the webhooks. |
String Length: up to 512 characters.
Default: |
You can test the integration with the Copyleaks API for free using the sandbox mode. You will be able to submit content for a scan and get back mock results, simulating the way Copyleaks will work to make sure that you successfully integrated with the API. Turn off this feature on production environment. |
Boolean
Default: |
Specify the maximum life span of a scan in hours on the Copyleaks servers. When expired, the scan will be deleted and will no longer be accessible. |
Integer
Default: |
A unique identifier that represents the author of the content. Make sure to use the same ID for the same author. Using this feature Copyleaks can detect the author's writing patterns and get better results. |
String
Default: |
Http endpoint to be triggered while the scan is still running and a new result is found. This is useful when the report is being viewed by the user in real time so the results will load gradually as they are found. |
String (uri)
Default:
Example: |
This webhook event is triggered once the scan status changes.
Use the special token Read more about webhooks. |
String (uri)
Example: |
Enable matching of exact words in the text. |
Boolean
Default: |
Enable matching of nearly identical words with small differences like slow becomes slowly. |
Boolean
Default: |
Enable matching of paraphrased content stating similar ideas with different words. |
Boolean
Default: |
Select results with at least |
Unsigned Integer
Default: |
Block explicit adult content from the scan results such as web pages containing inappropriate images and videos. SafeSearch is not 100% effective with all websites. |
Boolean
Default: |
A list of domains to either include or exclude from the scan - depending on the value of |
String Array
Default: |
Include or Exclude the list of domains you specified under the When Include is selected, Copyleaks will filter out all results that are not part of the properties.filters.domains list. When Exclude is selected, Copyleaks will only find results outside of the properties.filters.domains list. |
Integer (Enum)
Default:
Optional Values:
|
Compare your content with online sources. |
Boolean
Default: |
When set to true: Copyleaks will also compare against content which was uploaded by YOU to the Copyleaks internal database. If true, it will also index the scan in the Copyleaks internal database. |
Boolean
Default: |
When set to true: Copyleaks will also compare against content which was uploaded by OTHERS to the Copyleaks internal database. If true, it will also index the scan in the Copyleaks internal database. |
Boolean
Default: |
Exclude quoted text from the scan. |
Boolean
Default: |
Exclude referenced text from the scan. |
Boolean
Default: |
Exclude table of contents from the scan. |
Boolean
Default: |
Exclude titles from the scan. |
Boolean
Default: |
When the scanned document is an HTML document, exclude irrelevant text that appears across the site like the website footer or header. |
Boolean
Default: |
Add a request to generate a customizable export of the scan report, in a pdf format. Set to true in order to generate a pdf report for this scan. |
Boolean
Default: |
Customize the title for the PDF report. |
Boolean
Default: |
Customize the logo image in the PDF report. |
String (base64)
Default: Max size: 100kb |
When set to true the text in the report will be aligned from right to left. |
Boolean
Default: |
You can control the level of plagiarism sensitivity that will be identified according to the speed of the scan. If you prefer a faster scan with the results that contains the highest amount of plagiarism choose 1, and if a slower, more comprehensive scan, that will also detect the smallest instances choose 5. |
Integer
Default: Optional Values: Range between 1 (faster ) to 5 (slower but more comprehensive) |
curl -XPUT -H 'Authorization: Bearer YOUR-LOGIN-TOKEN' -H "Content-type: application/json" -d '{ "base64": "SGVsbG8gd29ybGQh", "filename": "file.txt", "properties": { "action": 0, "includeHtml": false, "developerPayload": "Custom developer payload", "sandbox": true, "expiration": 480, "author": { "id": "Author id" }, "webhooks": { "newResult": "https://yoursite.com/webhook/new-result", "status": "https://yoursite.com/webhook/{STATUS}/my-custom-id" }, "filters": { "identicalEnabled": true, "minorChangesEnabled": true, "relatedMeaningEnabled": true, "minCopiedWords": 10, "safeSearch": false, "domains": [ "www.example.com" ], "domainsMode": 1 }, "scanning": { "internet": true }, "exclude": { "quotes": false, "titles": false, "htmlTemplate": false }, "sensitivityLevel": 3 } }' 'https://api.copyleaks.com/v3/businesses/submit/file/my-custom-id'
curl -XPUT -H 'Authorization: Bearer YOUR-LOGIN-TOKEN' -H "Content-type: application/json" -d '{ "base64": "SGVsbG8gd29ybGQh", "filename": "file.txt", "properties": { "webhooks": { "status": "https://yoursite.com/webhook/{STATUS}/my-custom-id" } } }' 'https://api.copyleaks.com/v3/businesses/submit/file/my-custom-id'
PUT https://api.copyleaks.com/v3/businesses/submit/file/my-custom-id Content-Type: application/json; Authorization: Bearer YOUR-LOGIN-TOKEN; { "base64": "SGVsbG8gd29ybGQh", "filename": "file.txt", "properties": { "action": 0, "includeHtml": false, "developerPayload": "Custom developer payload", "sandbox": true, "expiration": 480, "author": { "id": "Author id" }, "webhooks": { "newResult": "https://yoursite.com/webhook/new-result", "status": "https://yoursite.com/webhook/{STATUS}/my-custom-id" }, "filters": { "identicalEnabled": true, "minorChangesEnabled": true, "relatedMeaningEnabled": true, "minCopiedWords": 10, "safeSearch": false, "domains": [ "www.example.com" ], "domainsMode": 1 }, "scanning": { "internet": true }, "exclude": { "quotes": false, "titles": false, "htmlTemplate": false }, "sensitivityLevel": 3 } }
PUT https://api.copyleaks.com/v3/businesses/submit/file/my-custom-id Content-Type: application/json; Authorization: Bearer YOUR-LOGIN-TOKEN; { "base64": "SGVsbG8gd29ybGQh", "filename": "file.txt", "properties": { "webhooks": { "status": "https://yoursite.com/webhook/{STATUS}/my-custom-id" } } }
import requests headers = { 'Authorization': 'Bearer YOUR-LOGIN-TOKEN', 'Content-type': 'application/json', } data = '{\n "base64": "SGVsbG8gd29ybGQh",\n "filename": "file.txt",\n "properties": {\n "action": 0,\n "includeHtml": false,\n "developerPayload": "Custom developer payload",\n "sandbox": true,\n "expiration": 480,\n "author": {\n "id": "Author id"\n },\n "webhooks": {\n "newResult": "https://yoursite.com/webhook/new-result",\n "status": "https://yoursite.com/webhook/{STATUS}/my-custom-id"\n },\n "filters": {\n "identicalEnabled": true,\n "minorChangesEnabled": true,\n "relatedMeaningEnabled": true,\n "minCopiedWords": 10,\n "safeSearch": false,\n "domains": [\n "www.example.com"\n ],\n "domainsMode": 1\n },\n "scanning": {\n "internet": true\n },\n "exclude": {\n "quotes": false,\n "titles": false,\n "htmlTemplate": false\n },\n "sensitivityLevel": 3\n }\n}' response = requests.put('https://api.copyleaks.com/v3/businesses/submit/file/my-custom-id', headers=headers, data=data)
import requests headers = { 'Authorization': 'Bearer YOUR-LOGIN-TOKEN', 'Content-type': 'application/json', } data = '{\n "base64": "SGVsbG8gd29ybGQh",\n "filename": "file.txt",\n "properties": {\n "webhooks": {\n "status": "https://yoursite.com/webhook/{STATUS}/my-custom-id"\n }\n }\n}' response = requests.put('https://api.copyleaks.com/v3/businesses/submit/file/my-custom-id', headers=headers, data=data)
using (var httpClient = new HttpClient()) { using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://api.copyleaks.com/v3/businesses/submit/file/my-custom-id")) { request.Headers.TryAddWithoutValidation("Authorization", "Bearer YOUR-LOGIN-TOKEN"); request.Content = new StringContent("{\n \"base64\": \"SGVsbG8gd29ybGQh\",\n \"filename\": \"file.txt\",\n \"properties\": {\n \"action\": 0,\n \"includeHtml\": false,\n \"developerPayload\": \"Custom developer payload\",\n \"sandbox\": true,\n \"expiration\": 480,\n \"author\": {\n \"id\": \"Author id\"\n },\n \"webhooks\": {\n \"newResult\": \"https://yoursite.com/webhook/new-result\",\n \"status\": \"https://yoursite.com/webhook/{STATUS}/my-custom-id\"\n },\n \"filters\": {\n \"identicalEnabled\": true,\n \"minorChangesEnabled\": true,\n \"relatedMeaningEnabled\": true,\n \"minCopiedWords\": 10,\n \"safeSearch\": false,\n \"domains\": [\n \"www.example.com\"\n ],\n \"domainsMode\": 1\n },\n \"scanning\": {\n \"internet\": true\n },\n \"exclude\": {\n \"quotes\": false,\n \"titles\": false,\n \"htmlTemplate\": false\n },\n "sensitivityLevel": 3\n }\n}", Encoding.UTF8, "application/json"); var response = await httpClient.SendAsync(request); } }
using (var httpClient = new HttpClient()) { using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://api.copyleaks.com/v3/businesses/submit/file/my-custom-id")) { request.Headers.TryAddWithoutValidation("Authorization", "Bearer YOUR-LOGIN-TOKEN"); request.Content = new StringContent("{\n \"base64\": \"SGVsbG8gd29ybGQh\",\n \"filename\": \"file.txt\",\n \"properties\": {\n \"webhooks\": {\n \"status\": \"https://yoursite.com/webhook/{STATUS}/my-custom-id\"\n }\n }\n}", Encoding.UTF8, "application/json"); var response = await httpClient.SendAsync(request); } }
var request = require('request'); var headers = { 'Authorization': 'Bearer YOUR-LOGIN-TOKEN', 'Content-type': 'application/json' }; var dataString = '{ "base64": "SGVsbG8gd29ybGQh", "filename": "file.txt", "properties": { "action": 0, "includeHtml": false, "developerPayload": "Custom developer payload", "sandbox": true, "expiration": 480, "author": { "id": "Author id" }, "webhooks": { "newResult": "https://yoursite.com/webhook/new-result", "status": "https://yoursite.com/webhook/{STATUS}/my-custom-id" }, "filters": { "identicalEnabled": true, "minorChangesEnabled": true, "relatedMeaningEnabled": true, "minCopiedWords": 10, "safeSearch": false, "domains": [ "www.example.com" ], "domainsMode": 1 }, "scanning": { "internet": true }, "exclude": { "quotes": false, "titles": false, "htmlTemplate": false }, "sensitivityLevel": 3 } }'; var options = { url: 'https://api.copyleaks.com/v3/businesses/submit/file/my-custom-id', method: 'PUT', headers: headers, body: dataString }; function callback(error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } } request(options, callback);
var request = require('request'); var headers = { 'Authorization': 'Bearer YOUR-LOGIN-TOKEN', 'Content-type': 'application/json' }; var dataString = '{ "base64": "SGVsbG8gd29ybGQh", "filename": "file.txt", "properties": { "webhooks": { "status": "https://yoursite.com/webhook/{STATUS}/my-custom-id" } } }'; var options = { url: 'https://api.copyleaks.com/v3/businesses/submit/file/my-custom-id', method: 'PUT', headers: headers, body: dataString }; function callback(error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } } request(options, callback);
<?php include('vendor/rmccue/requests/library/Requests.php'); Requests::register_autoloader(); $headers = array( 'Authorization' => 'Bearer YOUR-LOGIN-TOKEN', 'Content-type' => 'application/json' ); $data = '{ "base64": "SGVsbG8gd29ybGQh", "filename": "file.txt", "properties": { "action": 0, "includeHtml": false, "developerPayload": "Custom developer payload", "sandbox": true, "expiration": 480, "author": { "id": "Author id" }, "webhooks": { "newResult": "https://yoursite.com/webhook/new-result", "status": "https://yoursite.com/webhook/{STATUS}/my-custom-id" }, "filters": { "identicalEnabled": true, "minorChangesEnabled": true, "relatedMeaningEnabled": true, "minCopiedWords": 10, "safeSearch": false, "domains": [ "www.example.com" ], "domainsMode": 1 }, "scanning": { "internet": true }, "exclude": { "quotes": false, "titles": false, "htmlTemplate": false }, "sensitivityLevel": 3 } }'; $response = Requests::put('https://api.copyleaks.com/v3/businesses/submit/file/my-custom-id', $headers, $data);
<?php include('vendor/rmccue/requests/library/Requests.php'); Requests::register_autoloader(); $headers = array( 'Authorization' => 'Bearer YOUR-LOGIN-TOKEN', 'Content-type' => 'application/json' ); $data = '{ "base64": "SGVsbG8gd29ybGQh", "filename": "file.txt", "properties": { "webhooks": { "status": "https://yoursite.com/webhook/{STATUS}/my-custom-id" } } }'; $response = Requests::put('https://api.copyleaks.com/v3/businesses/submit/file/my-custom-id', $headers, $data);
Status Code | Description | Example |
---|---|---|
201
|
The scan was Created. |
|
400
|
Bad request. |
{ "properties.webhooks.status": ["The field is required."] } |
401
|
Authorization has been denied for this request |
|
409
|
A scan with the same Id already exists in the system |
Copyrights © 2019 Copyleaks. All rights reserved. Use of this website signifies your agreement to the terms of use.