### Start Scans API Request Example Source: https://docs.copyleaks.com/reference/actions/authenticity/start This example shows the structure of a direct API request to start scans, including necessary headers and the request body with scan IDs and error handling configuration. ```http PATCH https://api.copyleaks.com/v3/scans/start Content-Type: application/json Authorization: Bearer YOUR_LOGIN_TOKEN { "trigger": [ "Your-scan-id-1", "Your-scan-id-2" ], "errorHandling": 0 } ``` -------------------------------- ### Get Repository Info Request Example Source: https://docs.copyleaks.com/reference/actions/private-cloud-hub/info Example of a GET request to retrieve repository information. Ensure you include the Authorization header with your login token. ```http GET https://api.copyleaks.com/v3/repositories/repository/my-repo-123/info Authorization: Bearer YOUR_LOGIN_TOKEN ``` -------------------------------- ### Get Repository Info cURL Example Source: https://docs.copyleaks.com/reference/actions/private-cloud-hub/info Example of how to use cURL to get repository information. This command includes the necessary GET method, URL, and Authorization header. ```curl curl --request GET \ --url https://api.copyleaks.com/v3/repositories/repository/my-repo-123/info \ --header 'Authorization: Bearer YOUR_LOGIN_TOKEN' ``` -------------------------------- ### Quickstart: Scan Text with Copyleaks Python SDK Source: https://docs.copyleaks.com/resources/sdks/python This example shows how to log in, prepare text content by encoding it to Base64, configure scan properties (including sandbox mode and webhook), and submit the scan asynchronously. Replace placeholders with your actual credentials. ```python import base64 from copyleaks.copyleaks import Copyleaks from copyleaks.exceptions.command_error import CommandError from copyleaks.models.submit.document import FileDocument from copyleaks.models.submit.properties.scan_properties import ScanProperties # --- Your Credentials --- EMAIL_ADDRESS = 'YOUR_EMAIL_ADDRESS' KEY = 'YOUR_API_KEY' # -------------------- # Log in to the Copyleaks API try: auth_token = Copyleaks.login(EMAIL_ADDRESS, KEY) print("✅ Logged in successfully!") except CommandError as ce: print(f"🛑 Login failed: {ce}") exit() # Prepare your content for scanning # You can scan a URL, a local file, or raw text. # This example scans a simple string of text. print("Submitting text for scanning...") text_to_scan = "Hello world, this is a test." base64_content = base64.b64encode(text_to_scan.encode()).decode() # Configure the scan # A unique scan ID for this submission scan_id = "my-first-scan" scan_properties = ScanProperties("https://your-server.com/webhook/{STATUS}") scan_properties.set_sandbox(True) # Turn on sandbox mode for testing file_submission = FileDocument(base64_content, "test.txt") file_submission.set_properties(scan_properties) # Submit the scan to Copyleaks Copyleaks.submit_file(auth_token, scan_id, file_submission) print(f"🚀 Scan submitted successfully! Scan ID: {scan_id}") print("You will be notified via your webhook when the scan is complete.") ``` -------------------------------- ### Node.js: Get Writing Feedback Source: https://docs.copyleaks.com/reference/actions/writing-assistant/check This Node.js example demonstrates how to initialize the Copyleaks SDK, log in, and submit text for writing feedback. Replace 'YOUR_EMAIL@example.com' and 'YOUR_API_KEY' with your credentials. ```javascript const { Copyleaks, CopyleaksWritingAssistantSubmissionModel } = require('plagiarism-checker'); async function getWritingFeedback() { try { // Initialize Copyleaks const copyleaks = new Copyleaks(); // Login to get the authentication token object. // Replace with your email and API key. const loginResult = await copyleaks.loginAsync('YOUR_EMAIL@example.com', 'YOUR_API_KEY'); const scanId = "my-scan-123"; // The text to be checked const textToCheck = "This is a sample text to check for grammar and writing quality."; // Create a submission model const submission = new CopyleaksWritingAssistantSubmissionModel(textToCheck); submission.sandbox = true; // Submit the text for analysis const response = await copyleaks.writingAssistantClient.submitTextAsync(loginResult, scanId, submission); console.log("Writing feedback results:", response); } catch (error) { console.error("An error occurred:", error); } } getWritingFeedback(); ``` -------------------------------- ### Get Credit Balance Response Example Source: https://docs.copyleaks.com/llms-full.txt This is an example of a successful response from the credit balance endpoint, showing the number of available AI detection credits. ```json { "credits": 382 } ``` -------------------------------- ### Get Repository Information Example Source: https://docs.copyleaks.com/llms-full.txt Retrieve details about a specific repository, including credit consumption, metadata, and status. Requires 'Super Admin' or 'Admin' role. ```http GET https://api.copyleaks.com/v3/repositories/repository/my-repo-123/info Authorization: Bearer YOUR_LOGIN_TOKEN ``` ```bash curl --request GET \ --url https://api.copyleaks.com/v3/repositories/repository/my-repo-123/info \ --header 'Authorization: Bearer YOUR_LOGIN_TOKEN' ``` -------------------------------- ### API Endpoint and Headers Source: https://docs.copyleaks.com/reference/actions/admin/check-credits This example shows the GET request URL and the required Authorization header to check your credit balance. ```http GET https://api.copyleaks.com/v3/scans/credits Authorization: Bearer YOUR_LOGIN_TOKEN ``` -------------------------------- ### Start Scans API Request using cURL Source: https://docs.copyleaks.com/reference/actions/authenticity/start This example demonstrates how to initiate scans using a cURL command, specifying the request method, URL, headers, and JSON payload. ```curl curl --request PATCH \ --url https://api.copyleaks.com/v3/scans/start \ --header 'Authorization: Bearer YOUR_LOGIN_TOKEN' \ --header 'Content-Type: application/json' \ --data '{ \ "trigger": [ \ "Your-scan-id-1", \ "Your-scan-id-2" \ ], \ "errorHandling": 0 \ }' ``` -------------------------------- ### Install Copyleaks CLI (APT) Source: https://docs.copyleaks.com/get-started/quickstart Install the Copyleaks command-line interface using apt-get. ```bash sudo apt-get install curl ``` -------------------------------- ### Install Copyleaks CLI (Homebrew) Source: https://docs.copyleaks.com/get-started/quickstart Install the Copyleaks command-line interface using Homebrew. ```bash brew install curl ``` -------------------------------- ### Start Cross-Comparison Scan (Java) Source: https://docs.copyleaks.com/concepts/features/data-hubs Initiates a cross-comparison scan for a list of scan IDs using the Copyleaks Java SDK. This example includes login, request preparation, and handling of the response. Results are delivered asynchronously. ```java import classes.Copyleaks; import models.StartScanRequest; public class DataHubStartScanExample { private static final String EMAIL_ADDRESS = "your@email.address"; private static final String API_KEY = "00000000-0000-0000-0000-000000000000"; public static void main(String[] args) { try { // Login to Copyleaks String authToken = Copyleaks.login(EMAIL_ADDRESS, API_KEY); System.out.println("Logged successfully!\nToken: " + authToken); // Prepare list of scan IDs to start String[] scanIds = { "my-index-scan-1", "my-index-scan-2", "my-index-scan-3" }; // Create start scan request StartScanRequest startRequest = new StartScanRequest(); startRequest.setTrigger(scanIds); startRequest.setErrorHandling(0); // Start cross-comparison var result = Copyleaks.startScans(authToken, startRequest); System.out.println("Cross-comparison started successfully!"); System.out.println("Success: " + String.join(", ", result.getSuccess())); System.out.println("Failed: " + String.join(", ", result.getFailed())); if (result.getSuccess().length > 0) { System.out.println("Successfully started " + result.getSuccess().length + " scans"); System.out.println("Watch for Completed webhooks for each scan"); } } catch (Exception e) { System.out.println("Failed to start cross-comparison: " + e.getMessage()); e.printStackTrace(); } } } ``` -------------------------------- ### Filename Example Source: https://docs.copyleaks.com/reference/actions/ai-image-detector/check Example of a filename string, including the required file extension. Used when submitting images. ```text "my-image.png" ``` -------------------------------- ### Install Copyleaks Node.js Package Source: https://docs.copyleaks.com/concepts/features/cross-language-detection Install the plagiarism-checker package for Node.js. ```bash npm install plagiarism-checker ``` -------------------------------- ### Submit Endpoint Example Source: https://docs.copyleaks.com/concepts/features/gen-ai-scan-overview Example of a request to the submit endpoint, including the configuration for the GenAI overview. ```APIDOC ## Request - Submit Endpoint Example ```json { "base64": "...", "filename": "file.txt", "properties": { "action": 0, "overview": { "enable": true } } } ``` ``` -------------------------------- ### Install Copyleaks Python Package Source: https://docs.copyleaks.com/concepts/features/cross-language-detection Install the Copyleaks Python client library using pip. ```bash pip install copyleaks ``` -------------------------------- ### Main Method Example Usage Source: https://docs.copyleaks.com/guides/ai-detector/ai-image-detection Provides a complete example of how to use the AI image detection overlay functionality. It includes decoding an RLE mask, converting it to a 2D array, and applying the overlay to an image. ```Java // Example usage: public static void main(String[] args) throws IOException { // Step 1: Get the API result with RLE data (simplified example) int[] starts = {0, 512, 1536, 2560}; int[] lengths = {256, 512, 768, 1024}; RleMask rleMask = new RleMask(starts, lengths); // Step 2: Decode the RLE mask int width = 1024; int height = 768; boolean[] binaryMask = decodeMask(rleMask, width, height); // Step 3: Convert to 2D array for easier processing boolean[][] mask2D = ImageOverlay.convertTo2DMask(binaryMask, width, height); // Step 4: Apply overlay and save String imagePath = "path/to/your/image.jpg"; String outputPath = "output-with-overlay.png"; ImageOverlay.applyOverlay(imagePath, mask2D, outputPath); System.out.println("Overlay applied and saved to " + outputPath); } ``` ``` -------------------------------- ### Quick Example: Scan Text with C# SDK Source: https://docs.copyleaks.com/resources/sdks/csharp This example demonstrates how to authenticate with the Copyleaks API, prepare text content, configure scan properties (including sandbox mode and webhooks), and submit a scan asynchronously using the C# SDK. ```csharp using System; using System.Text; using System.Threading.Tasks; using Copyleaks.SDK.V3.API; using Copyleaks.SDK.V3.API.Models.Requests; using Copyleaks.SDK.V3.API.Models.Requests.Properties; public class Program { // --- Your Credentials --- private const string USER_EMAIL = "YOUR_EMAIL_ADDRESS"; private const string USER_KEY = "YOUR_API_KEY"; private const string WEBHOOK_URL = "https://your-server.com/webhook/{STATUS}"; // -------------------- public static async Task Main(string[] args) { try { // Log in to the Copyleaks API Console.WriteLine("Authenticating..."); var identityClient = new CopyleaksIdentityApi(); var loginResponse = await identityClient.LoginAsync(USER_EMAIL, USER_KEY); Console.WriteLine("✅ Logged in successfully!"); // Prepare your content for scanning Console.WriteLine("Submitting text for scanning..."); var apiClient = new CopyleaksScansApi(); var scanId = Guid.NewGuid().ToString(); var textToScan = "Hello world, this is a test."; var base64Content = Convert.ToBase64String(Encoding.UTF8.GetBytes(textToScan)); // Configure the scan var scanProperties = new ClientScanProperties(); scanProperties.Sandbox = true; // Turn on sandbox mode for testing scanProperties.Webhooks = new Webhooks { Status = new Uri($"{WEBHOOK_URL}") }; var fileDocument = new FileDocument { Base64 = base64Content, Filename = "test.txt", PropertiesSection = scanProperties }; // Submit the scan to Copyleaks await apiClient.SubmitFileAsync(scanId, fileDocument, loginResponse.Token); Console.WriteLine($"🚀 Scan submitted successfully! Scan ID: {scanId}"); Console.WriteLine("You will be notified via your webhook when the scan is complete."); } catch (Exception ex) { Console.WriteLine($"🛑 An error occurred: {ex.Message}"); } } } ``` -------------------------------- ### Start Scans API Response Example Source: https://docs.copyleaks.com/reference/actions/authenticity/start This is a typical successful response from the start scans API endpoint, indicating which scan IDs were successfully started and which failed. ```json { "success": [ "Your-scan-id" ], "failed": [] } ``` -------------------------------- ### GET Request for Usage History Source: https://docs.copyleaks.com/reference/actions/admin/usage-history Use this GET request to retrieve your usage history from Copyleaks. Ensure you include the start and end dates in the query parameters and your authorization token in the header. ```http GET https://api.copyleaks.com/v3/scans/usages/history?start=01-01-2020&end=31-01-2020 Authorization: Bearer YOUR_LOGIN_TOKEN ``` -------------------------------- ### Index Template with Node.js Source: https://docs.copyleaks.com/concepts/features/exclude-content This Node.js example demonstrates how to log in and index a document as a template using the Copyleaks API. Ensure you have the 'plagiarism-checker' package installed. ```javascript const { Copyleaks } = require('plagiarism-checker'); const EMAIL_ADDRESS = "your@email.address"; const API_KEY = "your-api-key-here"; async function indexTemplate() { const copyleaks = new Copyleaks(); const authToken = await copyleaks.loginAsync(EMAIL_ADDRESS, API_KEY); const documentContent = "This is a test document."; const base64Content = Buffer.from(documentContent).toString('base64'); const scanId = "my-template-index"; const fileSubmission = { base64: base64Content, filename: "student_solved_exam", properties: { indexing: { action: 2, repositories: ["my_private_cloud_exam_template"] }, sandbox: true } }; try { const result = await copyleaks.submitFileAsync(authToken, scanId, fileSubmission); console.log('Template indexed successfully!', result); } catch (error) { console.error('Failed to index template:', error); } } indexTemplate(); ``` -------------------------------- ### Submit File with Template using Java Source: https://docs.copyleaks.com/llms-full.txt This Java example demonstrates submitting a file for scanning with a document template. It covers logging in, base64 encoding the document, and setting up submission properties. ```java import classes.Copyleaks; import models.submissions.CopyleaksFileSubmissionModel; import models.submissions.properties.*; import java.util.Base64; import java.nio.charset.StandardCharsets; public class SubmitScanWithTemplate { private static final String EMAIL_ADDRESS = "your@email.address"; private static final String API_KEY = "00000000-0000-0000-0000-000000000000"; public static void main(String[] args) { try { String authToken = Copyleaks.login(EMAIL_ADDRESS, API_KEY); String documentContent = "This is a test document."; String base64Content = Base64.getEncoder().encodeToString( documentContent.getBytes(StandardCharsets.UTF_8) ); SubmissionProperties properties = new SubmissionProperties(); properties.setSandbox(true); properties.setExclude(new SubmissionExclude(new String[]{"my-template-index"})); CopyleaksFileSubmissionModel fileSubmission = new CopyleaksFileSubmissionModel( ``` -------------------------------- ### Example Success Response (Creation Time) Source: https://docs.copyleaks.com/llms-full.txt An example of a successful API response, showing the creation time of a resource. ```json { "creationTime": "2025-08-06T08:00:08.0429909Z" } ``` -------------------------------- ### Index Template with Java Source: https://docs.copyleaks.com/concepts/features/exclude-content This Java example shows how to index a document as a template using the Copyleaks SDK. It includes login, base64 encoding, and submission with specified properties. ```java import classes.Copyleaks; import models.submissions.CopyleaksFileSubmissionModel; import models.submissions.properties.*; import java.util.Base64; import java.nio.charset.StandardCharsets; public class IndexTemplateExample { private static final String EMAIL_ADDRESS = "your@email.address"; private static final String API_KEY = "00000000-0000-0000-0000-000000000000"; public static void main(String[] args) { try { String authToken = Copyleaks.login(EMAIL_ADDRESS, API_KEY); String documentContent = "This is a test document."; String base64Content = Base64.getEncoder().encodeToString( documentContent.getBytes(StandardCharsets.UTF_8) ); SubmissionProperties properties = new SubmissionProperties(); properties.setSandbox(true); properties.setIndexing(new SubmissionIndexing(2, new String[]{"my_private_cloud_exam_template"})); CopyleaksFileSubmissionModel fileSubmission = new CopyleaksFileSubmissionModel( base64Content, "student_solved_exam", properties ); Copyleaks.submitFile(authToken, "my-template-index", fileSubmission); System.out.println("Template indexed successfully!"); } catch (Exception e) { System.out.println("Failed: " + e.getMessage()); e.printStackTrace(); } } } ``` -------------------------------- ### Java: Submit Text for Writing Feedback Analysis Source: https://docs.copyleaks.com/reference/actions/writing-assistant/check This Java example shows how to log in to Copyleaks, configure score weights, and submit text for writing feedback. Ensure you have the necessary Copyleaks SDK classes imported. ```java import classes.Copyleaks; import models.submissions.writingassistant.CopyleaksWritingAssistantSubmissionModel; import models.submissions.writingassistant.ScoreWeights; import models.response.writingassitant.WritingAssistantResponse; public class WritingFeedbackExample { private static final String EMAIL_ADDRESS = "your@email.address"; private static final String API_KEY = "00000000-0000-0000-0000-000000000000"; public static void main(String[] args) { try { // Login to Copyleaks String authToken = Copyleaks.login(EMAIL_ADDRESS, API_KEY); System.out.println("Logged successfully!\nToken: " + authToken); // Sample text to analyze for writing feedback String sampleText = "Copyleaks is a comprehensive plagiarism detection platform that performs " + "extensive searches across 60 trillion websites, 15,000+ academic journals, 20+ code data " + "repositories, and 1M+ internal documents. Using AI-powered text analysis, easily scan " + "documents, raw text, code, and URLs and instantly receive detailed reporting on the findings."; // Configure score weights for writing feedback ScoreWeights scoreWeights = new ScoreWeights(); scoreWeights.setGrammarScoreWeight(0.25); scoreWeights.setMechanicsScoreWeight(0.25); scoreWeights.setSentenceStructureScoreWeight(0.25); scoreWeights.setWordChoiceScoreWeight(0.25); // Create Grammar Checker submission String scanId = "my-scan-123"; CopyleaksWritingAssistantSubmissionModel writingSubmission = new CopyleaksWritingAssistantSubmissionModel(sampleText); writingSubmission.setScore(scoreWeights); writingSubmission.setSandbox(true); // Submit for writing feedback analysis WritingAssistantResponse result = Copyleaks.writingAssistantClient.submitText( authToken, scanId, writingSubmission ); System.out.println("Writing feedback submitted successfully!"); System.out.println("Overall Score: " + result.getScore().getOverallScore()); System.out.println("Grammar Score: " + result.getScore().getCorrections().getGrammarCorrectionsScore()); System.out.println("Mechanics Score: " + result.getScore().getCorrections().getMechanicsCorrectionsScore()); System.out.println("Full result: " + result); } catch (Exception e) { System.out.println("Failed: " + e.getMessage()); e.printStackTrace(); } } } ``` -------------------------------- ### Node.js: Submit File Scan Source: https://docs.copyleaks.com/reference/actions/authenticity/submit-file This Node.js example demonstrates how to submit a file for scanning. It reads a file, converts its content to base64, and uses the Copyleaks SDK. Remember to install the 'plagiarism-checker' package and replace placeholders with your credentials. ```javascript const { Copyleaks, CopyleaksFileSubmissionModel } = require('plagiarism-checker'); const fs = require('fs'); async function submitFileScan() { try { // Initialize Copyleaks const copyleaks = new Copyleaks(); // Login to get the authentication token object. // Replace with your email and API key. const loginResult = await copyleaks.loginAsync('YOUR_EMAIL@example.com', 'YOUR_API_KEY'); const scanId = "my-scan-123"; const WEBHOOK_URL = "https://my-server.com/webhook"; // Read a file and convert it to base64 const filePath = 'file.txt'; const fileContent = fs.readFileSync(filePath); const base64Content = fileContent.toString('base64'); // Create a submission model const submission = new CopyleaksFileSubmissionModel( base64Content, 'file.txt', { sandbox: true, webhooks: { status: `${WEBHOOK_URL}/{STATUS}` } } ); // Submit the file for scanning await copyleaks.submitFileAsync(loginResult, scanId, submission); console.log(`Submission successful. Scan ID: ${scanId}`); } catch (error) { console.error("An error occurred:", error); } } submitFileScan(); ``` -------------------------------- ### Submit OCR Scan using Node.js Source: https://docs.copyleaks.com/reference/actions/authenticity/submit-ocr This Node.js example demonstrates submitting an OCR scan. It reads a local image file, converts it to base64, and uses the Copyleaks SDK to send the scan. Ensure you have the 'plagiarism-checker' package installed. ```javascript const { Copyleaks, CopyleaksFileOcrSubmissionModel } = require('plagiarism-checker'); const fs = require('fs'); async function submitOcrScan() { try { // Initialize Copyleaks const copyleaks = new Copyleaks(); // Login to get the authentication token object. // Replace with your email and API key. const loginResult = await copyleaks.loginAsync('YOUR_EMAIL@example.com', 'YOUR_API_KEY'); const scanId = "my-scan-123"; const WEBHOOK_URL = "https://my-server.com/webhook"; // Read an image file and convert it to base64 const filePath = 'image.jpg'; const fileContent = fs.readFileSync(filePath); const base64Content = fileContent.toString('base64'); // Create a submission model const submission = new CopyleaksFileOcrSubmissionModel( 'en', // Language of the text in the image base64Content, 'image.jpg', { sandbox: true, webhooks: { status: `${WEBHOOK_URL}/{STATUS}` } } ); // Submit the OCR file for scanning await copyleaks.submitFileOcrAsync(loginResult, scanId, submission); console.log(`Submission successful. Scan ID: ${scanId}`); } catch (error) { console.error("An error occurred:", error); } } submitOcrScan(); ``` -------------------------------- ### Java Example for URL Submission Source: https://docs.copyleaks.com/reference/actions/authenticity/submit-url This Java example demonstrates submitting a URL using the Copyleaks SDK. It covers logging in, configuring submission properties including webhooks and AI detection, and initiating the scan. ```java import com.copyleaks.sdk.api.Copyleaks; import com.copyleaks.sdk.api.models.submissions.CopyleaksUrlSubmissionModel; import com.copyleaks.sdk.api.models.submissions.properties.*; public class UrlSubmissionExample { private static final String EMAIL_ADDRESS = "your@email.address"; private static final String API_KEY = "00000000-0000-0000-0000-000000000000"; public static void main(String[] args) { try { // Login to Copyleaks String authToken = Copyleaks.login(EMAIL_ADDRESS, API_KEY); System.out.println("Logged successfully!\nToken: " + authToken); // Configure webhooks SubmissionWebhooks webhooks = new SubmissionWebhooks("https://yoursite.com/webhook/{STATUS}/my-custom-id"); // Create submission properties SubmissionProperties properties = new SubmissionProperties(webhooks); properties.setSandbox(true); // Configure AI detection SubmissionAIGeneratedText aiGeneratedText = new SubmissionAIGeneratedText(); aiGeneratedText.setDetect(true); properties.setAiGeneratedText(aiGeneratedText); // Create URL submission String scanId = "my-scan-123"; CopyleaksUrlSubmissionModel urlSubmission = new CopyleaksUrlSubmissionModel( "https://copyleaks.com/ai-content-detector", properties ); // Submit URL for scanning Copyleaks.submitUrl(authToken, scanId, urlSubmission); System.out.println("URL submitted successfully!"); } catch (Exception e) { System.out.println("Failed: " + e.getMessage()); e.printStackTrace(); } } } ``` -------------------------------- ### Index Document using Java SDK Source: https://docs.copyleaks.com/llms-full.txt This Java example demonstrates indexing a document using the Copyleaks SDK. It shows how to configure submission properties for indexing, including sandbox mode and action type. ```java import classes.Copyleaks; import models.submissions.CopyleaksFileSubmissionModel; import models.submissions.properties.*; public class DataHubIndexingExample { private static final String EMAIL_ADDRESS = "your@email.address"; private static final String API_KEY = "00000000-0000-0000-0000-000000000000"; public static void main(String[] args) { try { // Login to Copyleaks String authToken = Copyleaks.login(EMAIL_ADDRESS, API_KEY); System.out.println("Logged successfully!\nToken: " + authToken); // Document content to index String base64Content = "SGVsbG8gd29ybGQh"; // "Hello world!" in base64 // Configure submission properties for indexing SubmissionProperties properties = new SubmissionProperties(); properties.setSandbox(true); properties.setAction(SubmissionActions.IndexOnly); // Action 2 = IndexOnly ``` -------------------------------- ### Install Copyleaks Web Report for Angular 19 Source: https://docs.copyleaks.com/guides/display/install-open-source-report Install the Copyleaks web report package for Angular version 19. Ensure you have Angular 19 installed. ```bash npm install @copyleaks/ng-web-report@^2.0.0 --save ``` -------------------------------- ### Install Copyleaks Web Report for Angular 13 Source: https://docs.copyleaks.com/guides/display/install-open-source-report Install the Copyleaks web report package for Angular version 13. Ensure you have Angular 13 installed. ```bash npm install @copyleaks/ng-web-report@^1.9.99 --save ``` -------------------------------- ### Get Repository Info Source: https://docs.copyleaks.com/reference/actions/authenticity/overview Gets information about your Private Cloud Hubs. ```APIDOC ## GET v3/repositories/repository/{repositoryId}/info ### Description Get information about your Private Cloud Hubs. ### Method GET ### Endpoint v3/repositories/repository/{repositoryId}/info ```