🛠️ Developer Reference

Developer API Documentation

Integrate programmatic vibe coding checks, bulk repo scans, and file-level assessments into your platforms and pipelines.

1. Authentication

All REST API requests require a valid developer key. You can generate and manage keys in your Account Dashboard.

Pass your API key in either of the following request headers:

Standard Header (Bearer):
Authorization: Bearer vcd_live_...
Fallback Header:
x-api-key: vcd_live_...

2. Endpoint Schema

We expose a single unified analysis endpoint. It supports rate limits of 60 requests per minute per key.

POST/api/v1/analyze

Content-Type must be set to application/json.

Code Snippet Deep Scan

Analyze a single block of raw source code. Deducts 1 credit.

Request Body Payload:

{
  "type": "code",
  "content": "function add(a, b) {\n  return a + b;\n}"
}

Response Output:

{
  "type": "code",
  "ai_likelihood": 8,
  "confidence_band": "high",
  "verdict": "likely human",
  "signals": [
    {
      "name": "Naming Entropy",
      "weight": 20,
      "observed": false,
      "explanation": "Variables reflect custom programmer intents."
    }
  ],
  "evidence": [],
  "caveats": [],
  "caveat": "This score represents an automated signal of style similarity and is not definitive proof of AI authorship. It should not be used as the sole basis for employment, grading, or disciplinary decisions.",
  "cached": false,
  "credits_deducted": 1,
  "credits_remaining": 1980
}

Crawled Webpage Scan

Crawls public website HTML body and scripts to detect AI patterns. Deducts 1 credit.

Request Body Payload:

{
  "type": "url",
  "content": "https://mywebsite.com/homepage"
}

Bulk Repository Scanning

Scan entire GitHub repositories. The engine identifies up to 10 key source code modules, scans each file individually (utilizing cache to avoid redundant hits), and provides per-file details alongside an averaged aggregate assessment.

Deducts 1 credit per file analyzed (e.g. if the repo contains 6 code files, it will consume 6 credits).

Request Body Payload:

{
  "type": "repo",
  "content": "https://github.com/owner/repository",
  "githubToken": "ghp_optionalTokenForPrivateRepos"
}

Response Output:

{
  "type": "repo",
  "repository": "owner/repository",
  "aggregate": {
    "ai_likelihood": 76,
    "verdict": "likely AI-assisted",
    "confidence_band": "high",
    "evidence": [
      "[src/index.js]: Consistent perfect JSDoc structures on all exports.",
      "[src/utils.js]: Large repetition loops of identical boilerplate templates."
    ],
    "caveat": "This score represents an automated signal of style similarity and is not definitive proof of AI authorship. It should not be used as the sole basis for employment, grading, or disciplinary decisions."
  },
  "files": [
    {
      "file_path": "src/index.js",
      "ai_likelihood": 85,
      "verdict": "likely AI-assisted",
      "confidence_band": "high",
      "evidence": ["Perfect formatting boilerplate block."],
      "caveat": "This score represents an automated signal of style similarity..."
    },
    {
      "file_path": "src/utils.js",
      "ai_likelihood": 67,
      "verdict": "mixed",
      "confidence_band": "medium",
      "evidence": [],
      "caveat": "This score represents an automated signal of style similarity..."
    }
  ],
  "credits_deducted": 2,
  "credits_remaining": 1978
}

⚠️ Responsible Usage Disclaimer Requirement

Our models evaluate code stylistic attributes (repetition, comment distributions, entropy naming patterns). A human who writes detailed inline documentations and perfect structured templates may occasionally receive high similarity ratings.

Consumers of our API must surface the returned `caveat` string whenever screening verdicts or stats are displayed to end-users or clients.