{
  "specVersion": "1.0",
  "host": {
    "displayName": "CatchAI Text",
    "identifier": "did:web:catchaitext.com",
    "documentationUrl": "https://catchaitext.com",
    "logoUrl": "https://catchaitext.com/maskable-icon-192x192.png",
    "trustManifest": {
      "identity": "did:web:catchaitext.com",
      "identityType": "did",
      "trustSchema": {
        "identifier": "urn:air:trust:schema:ard:v1",
        "version": "1.0.0",
        "governanceUri": "https://catchaitext.com/privacy",
        "verificationMethods": [
          "did",
          "https",
          "dns-01"
        ]
      },
      "attestations": [
        {
          "type": "FERPA-Compliance",
          "uri": "https://catchaitext.com/privacy",
          "mediaType": "text/html"
        },
        {
          "type": "Zero-Data-Retention-Privacy",
          "uri": "https://catchaitext.com/privacy",
          "mediaType": "text/html"
        }
      ],
      "provenance": [
        {
          "relation": "publishedFrom",
          "sourceId": "https://github.com/awanajon/catchai-text"
        }
      ]
    }
  },
  "entries": [
    {
      "identifier": "urn:air:catchaitext.com:nlp:stylometric-detector",
      "displayName": "CatchAI Text AI Detection & Stylometrics Engine",
      "type": "application/json",
      "data": {
        "service": "CatchAI Text Stylometrics",
        "endpoint": "https://catchaitext.com/api/detect",
        "method": "POST",
        "mode": "offline-first",
        "capabilities": [
          "stylometrics",
          "burstiness",
          "perplexity-variance",
          "lexical-diversity",
          "forensic-analysis",
          "explainable-ai"
        ],
        "input": {
          "type": "object",
          "properties": {
            "text": {
              "type": "string",
              "description": "Document text or essay to evaluate for artificial intelligence generation."
            },
            "low_confidence": {
              "type": "number",
              "default": 0.3,
              "description": "Lower confidence threshold band (0.01 to 0.95)."
            },
            "high_confidence": {
              "type": "number",
              "default": 0.7,
              "description": "Upper confidence threshold band (0.05 to 0.99)."
            }
          },
          "required": [
            "text"
          ]
        },
        "output": {
          "type": "object",
          "properties": {
            "overall_prediction": {
              "type": "string",
              "enum": [
                "Likely Human Written",
                "Needs Human Review",
                "Likely AI-Generated"
              ]
            },
            "confidence_score": {
              "type": "number",
              "description": "AI likelihood percentage (0-100)."
            },
            "probability": {
              "type": "number",
              "description": "Probability float (0.0 to 1.0)."
            },
            "segments": {
              "type": "array",
              "description": "Sentence-level breakdown with individual burstiness and AI probabilities."
            },
            "features": {
              "type": "object",
              "description": "Extracted statistical metrics: burstiness, avgSentenceLength, lexicalDiversity, repetitionScore, entropy, punctuationRatio, avgWordLength."
            },
            "explanation": {
              "type": "string",
              "description": "Human-readable explainability rationale."
            }
          }
        }
      },
      "description": "Offline-first forensic engine detecting AI-generated text through 10 statistical stylometric dimensions including perplexity, burstiness, vocabulary richness, and sentence variance.",
      "tags": [
        "ai-detection",
        "stylometrics",
        "forensics",
        "nlp",
        "authenticity"
      ],
      "capabilities": [
        "detectAIText",
        "analyzeStylometrics",
        "explainSentenceVariance"
      ],
      "representativeQueries": [
        "detect whether essay was written by AI or human",
        "analyze stylometric burstiness and perplexity score of text",
        "verify academic integrity and linguistic probability of writing",
        "explain AI probability of essay sentences"
      ],
      "version": "1.0.0",
      "updatedAt": "2026-10-10T12:00:00Z",
      "trustManifest": {
        "identity": "did:web:catchaitext.com",
        "identityType": "did",
        "trustSchema": {
          "identifier": "urn:air:trust:schema:ard:v1",
          "version": "1.0.0",
          "governanceUri": "https://catchaitext.com/privacy",
          "verificationMethods": [
            "did",
            "https",
            "dns-01"
          ]
        },
        "attestations": [
          {
            "type": "FERPA-Compliance",
            "uri": "https://catchaitext.com/privacy",
            "mediaType": "text/html"
          }
        ],
        "provenance": [
          {
            "relation": "publishedFrom",
            "sourceId": "https://github.com/awanajon/catchai-text"
          }
        ]
      }
    },
    {
      "identifier": "urn:air:catchaitext.com:api:openapi-spec",
      "displayName": "CatchAI Text Machine-Callable API Specification",
      "type": "application/json",
      "data": {
        "openapi": "3.1.0",
        "info": {
          "title": "CatchAI Text Forensics & Detection API",
          "description": "Autonomous AI agent and client-callable API for offline-first AI detection, stylometrics, and document OCR transcription.",
          "version": "1.0.0"
        },
        "servers": [
          {
            "url": "https://catchaitext.com",
            "description": "Production server"
          },
          {
            "url": "http://localhost:3000",
            "description": "Local development server"
          }
        ],
        "paths": {
          "/api/detect": {
            "post": {
              "summary": "Detect AI authorship and compute stylometrics",
              "operationId": "detectAIText",
              "requestBody": {
                "required": true,
                "content": {
                  "application/json": {
                    "schema": {
                      "type": "object",
                      "required": [
                        "text"
                      ],
                      "properties": {
                        "text": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              },
              "responses": {
                "200": {
                  "description": "Analysis result"
                }
              }
            }
          },
          "/api/weights": {
            "get": {
              "summary": "Fetch active forensic model weights",
              "operationId": "fetchWeights",
              "responses": {
                "200": {
                  "description": "Model weight vectors"
                }
              }
            }
          }
        }
      },
      "description": "OpenAPI 3.1 specification enabling autonomous AI agents to discover, verify, and call forensic detection and OCR tools programmatically.",
      "tags": [
        "openapi",
        "rest-api",
        "agent-tool",
        "tool-calling"
      ],
      "capabilities": [
        "apiDetectText",
        "apiFetchWeights",
        "apiHealthCheck"
      ],
      "representativeQueries": [
        "call API to check text for AI authorship",
        "query active forensic model weights",
        "inspect machine-callable API schema for agent tools"
      ],
      "version": "1.0.0",
      "updatedAt": "2026-10-10T12:00:00Z",
      "trustManifest": {
        "identity": "did:web:catchaitext.com",
        "identityType": "did",
        "trustSchema": {
          "identifier": "urn:air:trust:schema:ard:v1",
          "version": "1.0.0",
          "governanceUri": "https://catchaitext.com/privacy",
          "verificationMethods": [
            "did",
            "https",
            "dns-01"
          ]
        },
        "attestations": [
          {
            "type": "FERPA-Compliance",
            "uri": "https://catchaitext.com/privacy",
            "mediaType": "text/html"
          }
        ],
        "provenance": [
          {
            "relation": "publishedFrom",
            "sourceId": "https://github.com/awanajon/catchai-text"
          }
        ]
      }
    },
    {
      "identifier": "urn:air:catchaitext.com:vision:ocr-extractor",
      "displayName": "CatchAI Text Offline OCR Transcriber",
      "type": "application/json",
      "data": {
        "service": "CatchAI Text Document OCR",
        "endpoint": "https://catchaitext.com/api/ocr-local",
        "method": "POST",
        "mode": "hybrid-offline",
        "capabilities": [
          "ocr",
          "tesseract-wasm",
          "document-extraction",
          "client-side"
        ]
      },
      "description": "Local WebAssembly and server-assisted document OCR engine extracting raw text from scanned essays, assignments, and photos without sending data to third parties.",
      "tags": [
        "ocr",
        "vision",
        "document-extraction",
        "tesseract"
      ],
      "capabilities": [
        "extractDocumentText",
        "transcribeScannedPages"
      ],
      "representativeQueries": [
        "extract text from document photos and scans",
        "transcribe printed student assignment image to text"
      ],
      "version": "1.0.0",
      "updatedAt": "2026-10-10T12:00:00Z",
      "trustManifest": {
        "identity": "did:web:catchaitext.com",
        "identityType": "did",
        "trustSchema": {
          "identifier": "urn:air:trust:schema:ard:v1",
          "version": "1.0.0",
          "governanceUri": "https://catchaitext.com/privacy",
          "verificationMethods": [
            "did",
            "https",
            "dns-01"
          ]
        },
        "attestations": [
          {
            "type": "Zero-Data-Retention-Privacy",
            "uri": "https://catchaitext.com/privacy",
            "mediaType": "text/html"
          }
        ],
        "provenance": [
          {
            "relation": "publishedFrom",
            "sourceId": "https://github.com/awanajon/catchai-text"
          }
        ]
      }
    }
  ]
}
