Copyleaksplagiarismchecker Scans API

The Scans API from Copyleaksplagiarismchecker — 5 operation(s) for scans.

Operations 5

PATCH /v3.1/scans/delete PATCH /v3.1/scans/delete #
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 #

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-scans-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-scans-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Copyleaksplagiarismchecker Scans 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
security:
- bearer: []
tags:
- name: Scans
paths:
  /v3.1/scans/delete:
    patch:
      operationId: patch_v3_1_scans_delete
      tags:
      - Scans
      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/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:
    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
    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: {}
    GetV3ScansCreditsResponse:
      type: object
      properties:
        Amount:
          type: integer
    PatchV31ScansDeleteRequest:
      type: object
      properties:
        scans:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
        purge:
          type: boolean
    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
  securitySchemes:
    bearer:
      type: http
      scheme: bearer