Official SDKs
C# SDK Quickstart
This guide will walk you through installing the official C# SDK and running your first scan. In just a few minutes, you’ll be able to check content for plagiarism, AI-generated text, and more directly from your .NET application.
🔑 Before you begin
In order to start integrating Copyleaks API, you'll need an account and an API key:
- Don't have an account? Sign up for free
- You can find your API key on the API Dashboard
🚀 Get Started
Section titled “🚀 Get Started”-
Installation
First, install the official
Copyleaks
package from NuGet into your project using the Package Manager Console.Terminal window Install-Package Copyleaks -
Quick Example: Scan Text
Program.cs 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 APIConsole.WriteLine("Authenticating...");var identityClient = new CopyleaksIdentityApi();var loginResponse = await identityClient.LoginAsync(USER_EMAIL, USER_KEY);Console.WriteLine("✅ Logged in successfully!");// Prepare your content for scanningConsole.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 scanvar scanProperties = new ClientScanProperties();scanProperties.Sandbox = true; // Turn on sandbox mode for testingscanProperties.Webhooks = new Webhooks { Status = new Uri($"{WEBHOOK_URL}") };var fileDocument = new FileDocument{Base64 = base64Content,Filename = "test.txt",PropertiesSection = scanProperties};// Submit the scan to Copyleaksawait 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}");}}} -
Understanding the Code
The example code performs four main actions to submit a scan:
- Login: It authenticates with your email and API key to get a secure login token. This token is required for all subsequent requests.
- Prepare Content: It takes a simple string of text and converts it into a Base64 string.
- Configure Scan: It creates a
ClientScanProperties
object to define the scan’s behavior. We enablesandbox
mode for safe testing and provide awebhook
URL for completion notifications. - Submit for Scanning: It creates a
FileDocument
with the content and properties, then sends it to the Copyleaks API. The process is asynchronous; Copyleaks will notify your webhook URL once the scan is complete.
🗺️ Next Steps
Section titled “🗺️ Next Steps”Now that you’ve submitted your first scan, here are some recommended steps:
Package Source
Section titled “Package Source” GitHub Repository Check the official SDK repository on GitHub for more examples and details.
NuGet Package View the official package on the NuGet Gallery to see all available versions.
Check for Plagiarism Detect plagiarism in text documents using the Copyleaks API. Search billions of sources to find unoriginal content.
Detect AI-Generated Content Detect AI-generated text via sync or async API calls. This guide covers sync detection—see the Authenticity API Guide for async.
Assess Grammar and Writing Quality Get writing and grammar suggestions via API. Authenticate, submit text, and access full details in the docs.
Moderate Text Scan and moderate text content for unsafe or policy-relevant material across 10+ categories.