Copyleaksplagiarismchecker API

Copyleaksplagiarismchecker API as documented publicly: 12 operations. Contract generated from the documentation by API Evangelist (2026-10-11); not the provider's own document.

Operations 12

PUT /v1/ai-image-detector-async/my-image-scan-1/submit PUT /v1/ai-image-detector-async/my-image-scan-1/submit #
POST /v1/ai-video-detector/my-video-scan-1/submit POST /v1/ai-video-detector/my-video-scan-1/submit #
POST /v1/{v1id}/my-scan-123/check POST /v1/ai-image-detector/my-scan-123/check #
GET /v2/writer-detector/credits GET /v2/writer-detector/credits #
POST /v2/writer-detector/my-scan-123/check POST /v2/writer-detector/my-scan-123/check #
PATCH /v3.1/scans/delete PATCH /v3.1/scans/delete #
POST /v3/downloads/my-scan-123/export/my-export-1 POST /v3/downloads/my-scan-123/export/my-export-1 #
GET /v3/repositories/repository/my-repo-123/info GET /v3/repositories/repository/my-repo-123/info #
GET /v3/scans/credits GET /v3/scans/credits #
PATCH /v3/scans/start PATCH /v3/scans/start #
PUT /v3/scans/submit/{submitid}/my-scan-123 PUT /v3/scans/submit/ocr/my-scan-123 #
GET /v3/scans/usages/history GET /v3/scans/usages/history #

Specifications

Schemas & Data

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/copyleaksplagiarismchecker:copyleaksplagiarismchecker-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

copyleaksplagiarismchecker-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Copyleaksplagiarismchecker API
  version: '2026-10-11'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-11: 12 operation(s) read from 15 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; Copyleaksplagiarismchecker has published no machine-readable
    contract that the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 15
    documentation: -3
    pages-with-code: 15
    pages-read: 15
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-11'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://docs.copyleaks.com/reference/actions/downloads/export
  - https://docs.copyleaks.com/reference/actions/authenticity/start
  - https://docs.copyleaks.com/reference/actions/admin/check-credits
  - https://docs.copyleaks.com/reference/actions/admin/usage-history
  - https://docs.copyleaks.com/reference/actions/authenticity/delete
  - https://docs.copyleaks.com/reference/actions/text-moderation/check
  - https://docs.copyleaks.com/reference/actions/writer-detector/check
  - https://docs.copyleaks.com/reference/actions/private-cloud-hub/info
  - https://docs.copyleaks.com/reference/actions/ai-image-detector/check
  - https://docs.copyleaks.com/reference/actions/authenticity/submit-ocr
  - https://docs.copyleaks.com/reference/actions/authenticity/submit-url
  - https://docs.copyleaks.com/reference/actions/writer-detector/credits
  - https://docs.copyleaks.com/reference/actions/writing-assistant/check
  - https://docs.copyleaks.com/reference/actions/ai-image-detector/submit
  - https://docs.copyleaks.com/reference/actions/ai-video-detector/submit
servers:
- url: https://api.copyleaks.com
paths:
  /v1/ai-image-detector-async/my-image-scan-1/submit:
    put:
      operationId: put_v1_ai_image_detector_async_my_image_scan_1_submit
      tags:
      - Ai Image Detector Async
      summary: PUT /v1/ai-image-detector-async/my-image-scan-1/submit
      x-source: https://docs.copyleaks.com/reference/actions/ai-image-detector/submit
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutV1AiImageDetectorAsyncMyImageScan1SubmitRequest'
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutV1AiImageDetectorAsyncMyImageScan1SubmitResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Python JavaScript HTTP curl --request PUT  --url https://api.copyleaks.com/v1/ai-image-detector-async/my-image-scan-1/submit\
          \  --header 'Authorization: Bearer YOUR_LOGIN_TOKEN'  --header 'Content-Type: application/json'  --data '{ \n \"url\": \"https://example.com/image1.png\"\
          , \n \"fileName\": \"image1.png\", \n \"model\": \"ai-image-1-ultra\", \n \"maskType\": \"heatmap\", \n \"webhooks\": { \n \"url\":\
          \ \"https://your"
  /v1/ai-video-detector/my-video-scan-1/submit:
    post:
      operationId: post_v1_ai_video_detector_my_video_scan_1_submit
      tags:
      - Ai Video Detector
      summary: POST /v1/ai-video-detector/my-video-scan-1/submit
      x-source: https://docs.copyleaks.com/reference/actions/ai-video-detector/submit
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1AiVideoDetectorMyVideoScan1SubmitRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1AiVideoDetectorMyVideoScan1SubmitResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Python JavaScript HTTP curl --request POST  --url https://api.copyleaks.com/v1/ai-video-detector/my-video-scan-1/submit\
          \  --header 'Authorization: Bearer YOUR_LOGIN_TOKEN'  --header 'Content-Type: application/json'  --data '{ \n \"url\": \"https://example.com/my-video.mp4\"\
          , \n \"filename\": \"my-video.mp4\", \n \"model\": \"ai-video-1-pro\", \n \"sandbox\": true, \n \"webhooks\": { \n \"url\": \"https://your-server.c"
  /v1/{v1id}/my-scan-123/check:
    post:
      operationId: post_v1_v1id_my_scan_123_check
      tags:
      - My Scan 123
      summary: POST /v1/ai-image-detector/my-scan-123/check
      x-source: https://docs.copyleaks.com/reference/actions/ai-image-detector/check
      parameters:
      - name: v1id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1V1IdMyScan123CheckRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1V1IdMyScan123CheckResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Python JavaScript curl --request POST  --url https://api.copyleaks.com/v1/ai-image-detector/my-scan-123/check  --header\
          \ 'Authorization: Bearer YOUR_LOGIN_TOKEN'  --form 'image=@/path/to/test-image.png'  --form 'filename=test-image.png'  --form 'sandbox=true'\
          \  --form 'model=ai-image-1-ultra'  --form 'maskType=heatmap'  --form 'objectDetection=[{\"object\":\"face\"},{\"object\":\"hand\"}]'\
          \ \n import bas"
        collapsed_from: 3 example path(s) differing only at v1Id
  /v2/writer-detector/credits:
    get:
      operationId: get_v2_writer_detector_credits
      tags:
      - Writer Detector
      summary: GET /v2/writer-detector/credits
      x-source: https://docs.copyleaks.com/reference/actions/writer-detector/credits
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV2WriterDetectorCreditsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl curl --request GET  --url https://api.copyleaks.com/v2/writer-detector/credits  --header 'Authorization: Bearer YOUR_LOGIN_TOKEN'\
          \ \n 200 OK { \n \"credits\" : 382 \n } \n AI Text Detector Get Credit Balance Copy page Copy page Get the amount of available credits\
          \ in your account wallet. Copy page Copy page GET / v2 / writer-detector / credits cURL curl --request GET  --url https://api.copyleaks.com/"
  /v2/writer-detector/my-scan-123/check:
    post:
      operationId: post_v2_writer_detector_my_scan_123_check
      tags:
      - Writer Detector
      summary: POST /v2/writer-detector/my-scan-123/check
      x-source: https://docs.copyleaks.com/reference/actions/writer-detector/check
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV2WriterDetectorMyScan123CheckRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV2WriterDetectorMyScan123CheckResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Python JavaScript Java curl --request POST  --url https://api.copyleaks.com/v2/writer-detector/my-scan-123/check  --header\
          \ 'Authorization: Bearer YOUR_LOGIN_TOKEN'  --header 'Content-Type: application/json'  --data '{ \n \"text\": \"Copyleaks is a comprehensive\
          \ plagiarism detection platform...\", \n \"sandbox\": false, \n \"explain\": true, \n \"sensitivity\": 2 \n }' \n from copyleaks.copyleaks\
          \ import Copyl"
  /v3.1/scans/delete:
    patch:
      operationId: patch_v3_1_scans_delete
      tags:
      - V3
      summary: PATCH /v3.1/scans/delete
      x-source: https://docs.copyleaks.com/reference/actions/authenticity/delete
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchV31ScansDeleteRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Python curl --request PATCH  --url https://api.copyleaks.com/v3.1/scans/delete  --header 'Authorization: Bearer YOUR_LOGIN_TOKEN'\
          \  --header 'Content-Type: application/json'  --data '{ \n \"scans\": [ \n { \"id\": \"Your-scan-id-1\" }, \n { \"id\": \"Your-scan-id-2\"\
          \ } \n ], \n \"purge\": false \n }' \n from copyleaks.copyleaks import Copyleaks \n from copyleaks.models.delete import Delete, DeleteScan\
          \ \n auth_toke"
  /v3/downloads/my-scan-123/export/my-export-1:
    post:
      operationId: post_v3_downloads_my_scan_123_export_my_export_1
      tags:
      - Downloads
      summary: POST /v3/downloads/my-scan-123/export/my-export-1
      x-source: https://docs.copyleaks.com/reference/actions/downloads/export
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV3DownloadsMyScan123ExportMyExport1Request'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Python curl --request POST  --url https://api.copyleaks.com/v3/downloads/my-scan-123/export/my-export-1  --header 'Authorization:\
          \ Bearer YOUR_LOGIN_TOKEN'  --header 'Content-Type: application/json'  --data '{ \n \"results\": [ \n { \n \"id\": \"my-result-id\"\
          , \n \"verb\": \"POST\", \n \"headers\": [[\"header-key\", \"header-value\"]], \n \"endpoint\": \"https://yourserver.com/export/export-id/results/my-result-id\"\
          \ \n"
  /v3/repositories/repository/my-repo-123/info:
    get:
      operationId: get_v3_repositories_repository_my_repo_123_info
      tags:
      - Repositories
      summary: GET /v3/repositories/repository/my-repo-123/info
      x-source: https://docs.copyleaks.com/reference/actions/private-cloud-hub/info
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV3RepositoriesRepositoryMyRepo123InfoResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl curl --request GET  --url https://api.copyleaks.com/v3/repositories/repository/my-repo-123/info  --header 'Authorization:\
          \ Bearer YOUR_LOGIN_TOKEN' \n 200 OK { \n \"id\" : \"private-data-hub-id\" , \n \"name\" : \"Private Data Hub Name\" , \n \"description\"\
          \ : \"Your Description\" , \n \"permission\" : 4 , \n \"status\" : 0 , \n \"maxCredits\" : 1000 , \n \"currentCredits\" : 1000 , \n\
          \ \"maskingPolicy\" : 0 , \n \"creationTim"
  /v3/scans/credits:
    get:
      operationId: get_v3_scans_credits
      tags:
      - Scans
      summary: GET /v3/scans/credits
      x-source: https://docs.copyleaks.com/reference/actions/admin/check-credits
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV3ScansCreditsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Python curl --request GET  --url https://api.copyleaks.com/v3/scans/credits  --header 'Authorization: Bearer YOUR_LOGIN_TOKEN'\
          \ \n from copyleaks.copyleaks import Copyleaks \n auth_token = Copyleaks.login( \" [email protected] \" , \"YOUR_API_KEY\" ) \n balance\
          \ = Copyleaks.credits_balance(auth_token) \n print (balance) \n 200 OK { \n \"Amount\" : 100 \n } \n Admin Get Credit Balance Copy page\
          \ Copy page Get "
  /v3/scans/start:
    patch:
      operationId: patch_v3_scans_start
      tags:
      - Scans
      summary: PATCH /v3/scans/start
      x-source: https://docs.copyleaks.com/reference/actions/authenticity/start
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchV3ScansStartRequest'
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatchV3ScansStartResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Python curl --request PATCH  --url https://api.copyleaks.com/v3/scans/start  --header 'Authorization: Bearer YOUR_LOGIN_TOKEN'\
          \  --header 'Content-Type: application/json'  --data '{ \n \"trigger\": [\"Your-scan-id-1\", \"Your-scan-id-2\"], \n \"errorHandling\"\
          : 0 \n }' \n from copyleaks.copyleaks import Copyleaks \n from copyleaks.models.start import Start, StartErrorHandling \n auth_token\
          \ = Copyleaks.login"
  /v3/scans/submit/{submitid}/my-scan-123:
    put:
      operationId: put_v3_scans_submit_submitid_my_scan_123
      tags:
      - Scans
      summary: PUT /v3/scans/submit/ocr/my-scan-123
      x-source: https://docs.copyleaks.com/reference/actions/authenticity/submit-ocr
      parameters:
      - name: submitid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutV3ScansSubmitSubmitidMyScan123Request'
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutV3ScansSubmitSubmitidMyScan123Response'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Python JavaScript Java curl --request PUT  --url https://api.copyleaks.com/v3/scans/submit/ocr/my-scan-123  --header 'Authorization:\
          \ Bearer YOUR_LOGIN_TOKEN'  --header 'Content-Type: application/json'  --data '{ \n \"base64\": \"YOUR_BASE64_HERE\", \n \"filename\"\
          : \"image.jpg\", \n \"langCode\": \"en\", \n \"properties\": { \n \"webhooks\": { \n \"status\": \"https://my-server.com/webhook/{STATUS}\"\
          \ \n }, \n \"sandbox\":"
        collapsed_from: 2 example path(s) differing only at submitId
  /v3/scans/usages/history:
    get:
      operationId: get_v3_scans_usages_history
      tags:
      - Scans
      summary: GET /v3/scans/usages/history
      x-source: https://docs.copyleaks.com/reference/actions/admin/usage-history
      parameters:
      - name: end
        in: query
        required: false
        schema:
          type: string
      - name: start
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Python curl --request GET  --url 'https://api.copyleaks.com/v3/scans/usages/history?start=01-01-2020&end=31-01-2020'  --header\
          \ 'Authorization: Bearer YOUR_LOGIN_TOKEN' \n from copyleaks.copyleaks import Copyleaks \n auth_token = Copyleaks.login( \" [email protected]\
          \ \" , \"YOUR_API_KEY\" ) \n csv_history = Copyleaks.usages_history_csv(auth_token, \"01-01-2020\" , \"31-01-2020\" ) \n print (csv_history)\
          \ \n"
components:
  schemas:
    PutV1AiImageDetectorAsyncMyImageScan1SubmitRequest:
      type: object
      properties:
        url:
          type: string
        fileName:
          type: string
        model:
          type: string
        maskType:
          type: string
        webhooks:
          type: object
          properties:
            url:
              type: string
    PutV1AiImageDetectorAsyncMyImageScan1SubmitResponse:
      type: object
      properties:
        error:
          type: string
    PostV1AiVideoDetectorMyVideoScan1SubmitRequest:
      type: object
      properties:
        url:
          type: string
        filename:
          type: string
        model:
          type: string
        sandbox:
          type: boolean
        webhooks:
          type: object
          properties:
            url:
              type: string
    PostV1AiVideoDetectorMyVideoScan1SubmitResponse:
      type: object
      properties:
        error:
          type: string
    PostV1V1IdMyScan123CheckRequest:
      type: object
      properties:
        text:
          type: string
        sandbox:
          type: boolean
        language:
          type: string
        labels:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
    PostV1V1IdMyScan123CheckResponse:
      type: object
      properties:
        model:
          type: string
        result:
          type: object
          properties:
            starts:
              type: array
              items:
                type: integer
            lengths:
              type: array
              items:
                type: integer
        summary:
          type: object
          properties:
            human:
              type: number
            ai:
              type: number
        isAiDetected:
          type: boolean
        imageInfo:
          type: object
          properties:
            shape:
              type: object
              properties:
                height:
                  type: integer
                width:
                  type: integer
            metadata:
              type: object
              properties:
                issuedTime:
                  type: string
                  format: date-time
                issuedBy:
                  type: string
                appOrDeviceUsed:
                  type: string
                contentSummary:
                  type: string
        detectedObjects:
          type: array
          items:
            type: object
            properties:
              object:
                type: string
              mask:
                type: object
                properties:
                  starts:
                    type: array
                    items:
                      type: integer
                  lengths:
                    type: array
                    items:
                      type: integer
        scannedDocument:
          type: object
          properties:
            scanId:
              type: string
            actualCredits:
              type: integer
            expectedCredits:
              type: integer
            creationTime:
              type: string
              format: date-time
    GetV2WriterDetectorCreditsResponse:
      type: object
      properties:
        credits:
          type: integer
    PostV2WriterDetectorMyScan123CheckRequest:
      type: object
      properties:
        text:
          type: string
        sandbox:
          type: boolean
        explain:
          type: boolean
        sensitivity:
          type: integer
    PostV2WriterDetectorMyScan123CheckResponse:
      type: object
      properties:
        text:
          type: object
          properties:
            chars:
              type: object
              properties:
                starts:
                  type: array
                  items:
                    type: integer
                lengths:
                  type: array
                  items:
                    type: integer
            words:
              type: object
              properties:
                starts:
                  type: array
                  items:
                    type: integer
                lengths:
                  type: array
                  items:
                    type: integer
    PatchV31ScansDeleteRequest:
      type: object
      properties:
        scans:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
        purge:
          type: boolean
    PostV3DownloadsMyScan123ExportMyExport1Request:
      type: object
      properties:
        results:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              verb:
                type: string
              headers:
                type: array
                items:
                  type: array
                  items:
                    type: string
              endpoint:
                type: string
        pdfReport:
          type: object
          properties:
            verb:
              type: string
            endpoint:
              type: string
        crawledVersion:
          type: object
          properties:
            verb:
              type: string
            endpoint:
              type: string
        completionWebhook:
          type: string
        maxRetries:
          type: integer
    GetV3RepositoriesRepositoryMyRepo123InfoResponse:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        permission:
          type: integer
        status:
          type: integer
        maxCredits:
          type: integer
        currentCredits:
          type: integer
        maskingPolicy:
          type: integer
        creationTime:
          type: string
          format: date-time
    GetV3ScansCreditsResponse:
      type: object
      properties:
        Amount:
          type: integer
    PatchV3ScansStartRequest:
      type: object
      properties:
        trigger:
          type: array
          items:
            type: string
        errorHandling:
          type: integer
    PatchV3ScansStartResponse:
      type: object
      properties:
        success:
          type: array
          items:
            type: string
        failed:
          type: array
          items: {}
    PutV3ScansSubmitSubmitidMyScan123Request:
      type: object
      properties:
        base64:
          type: string
        filename:
          type: string
        langCode:
          type: string
        properties:
          type: object
          properties:
            webhooks:
              type: object
              properties:
                status:
                  type: string
            sandbox:
              type: boolean
    PutV3ScansSubmitSubmitidMyScan123Response:
      type: object
      properties:
        scannedDocument:
          type: object
          properties:
            scanId:
              type: string
            totalWords:
              type: integer
            totalExcluded:
              type: integer
            credits:
              type: integer
            expectedCredits:
              type: integer
            creationTime:
              type: string
              format: date-time
            metadata:
              type: object
              properties:
                filename:
                  type: string
            detectedLanguage:
              type: string
        results:
          type: object
          properties:
            score:
              type: object
              properties:
                aggregatedScore:
                  type: number
                identicalWords:
                  type: integer
            internet:
              type: array
              items:
                type: object
                properties:
                  url:
                    type: string
                  id:
                    type: string
                  title:
                    type: string
        status:
          type: integer
        developerPayload:
          type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Ai Image Detector Async
- name: Ai Video Detector
- name: Downloads
- name: My Scan 123
- name: Repositories
- name: Scans
- name: V3
- name: Writer Detector