### Example Prompts for MCP Tools Source: https://www.stipple.sh/docs/mcp Demonstrates how to call various MCP tools using natural language prompts. These examples show how to fact-check, detect AI text, classify documents, and verify authenticity by providing URLs or pasted text. ```text # In any connected client, just ask: "Fact-check this report: https://example.com/report.pdf" "Did an AI write this? " "What kind of document is this? " "Is this payslip genuine? " ``` -------------------------------- ### Get API Key Source: https://www.stipple.sh/docs/authentication Mint a new API key by sending a POST request to the /v1/keys endpoint with your email address. The API key will be displayed once. ```APIDOC ## POST /v1/keys ### Description Mints a new API key for the provided email address. ### Method POST ### Endpoint https://www.stipple.sh/v1/keys ### Parameters #### Request Body - **email** (string) - Required - The email address to associate with the API key. ### Request Example ```json { "email": "you@company.com" } ``` ### Response #### Success Response (200) - **api_key** (string) - The generated API key. - **key_id** (string) - The unique identifier for the API key. - **daily_limit** (integer) - The daily document limit for this API key. ### Response Example ```json { "api_key": "stp_...", "key_id": "key_...", "daily_limit": 50 } ``` ``` -------------------------------- ### Check Usage Source: https://www.stipple.sh/docs/authentication Retrieve your current API usage statistics, including daily limits and historical data, by making a GET request to the /v1/usage endpoint. ```APIDOC ## GET /v1/usage ### Description Retrieves the current API usage statistics for the authenticated API key. ### Method GET ### Endpoint https://www.stipple.sh/v1/usage ### Parameters #### Headers - **Authorization** (string) - Required - Bearer token with the API key (e.g., `Bearer stp_...`). ### Response #### Success Response (200) - **key_id** (string) - The unique identifier for the API key. - **daily_limit** (integer) - The daily document limit for this API key. - **today** (object) - Usage statistics for the current day. - **used** (integer) - Number of documents used today. - **remaining** (integer) - Number of documents remaining for today. - **days** (array) - Historical daily usage data. - **day** (string) - The date in YYYYMMDD format. - **count** (integer) - Number of documents used on that day. ### Response Example ```json { "key_id": "key_…", "daily_limit": 50, "today": { "used": 12, "remaining": 38 }, "days": [ { "day": "20260612", "count": 12 }, ... ] } ``` ``` -------------------------------- ### Identity Check Response Example Source: https://www.stipple.sh/docs/api This JSON object represents the successful response from an identity check, detailing the established identity, points accumulated, and document breakdown. ```json { "established": true, "rule": "points_accumulation", "points": 110, "target": 100, "primaries": 2, "reason": "Identity established: 110 points with 2 primary document(s).", "documents": [ { "classified_type": "australian_passport", "shows": ["N", "P"], "points": 70, "counts": true, "note": "+70 pts (primary)" }, { "classified_type": "drivers_licence", "shows": ["N", "A", "P"], "points": 40, "counts": true, "note": "+40 pts (primary)" } ], "limitations": "Verification COVERAGE, not a legal identity decision. ..." } ``` -------------------------------- ### Mint a new API key Source: https://www.stipple.sh/docs/authentication Use this command to mint a new API key by providing your email address. The API key and its ID will be returned once. ```bash curl -X POST https://www.stipple.sh/v1/keys \ -H "Content-Type: application/json" \ -d '{"email": "you@company.com"}' # → { "api_key": "stp_...", "key_id": "key_...", "daily_limit": 50 } ``` -------------------------------- ### Add MCP Server via Claude CLI Source: https://www.stipple.sh/docs/mcp Add the Stipple MCP server to your Claude client using the command-line interface. This command registers the 'openwarrant' server at the specified HTTP URL. ```bash claude mcp add --transport http openwarrant https://www.stipple.sh/mcp ``` -------------------------------- ### Create API Key Source: https://www.stipple.sh/docs/api Allows self-service creation of API keys. Requires an email address and returns the key, key ID, and daily limit. Up to 5 keys per email are allowed. ```APIDOC ## Create an API key POST /v1/keys Self-serve, free, instant: `{"email": "you@company.com"}` → the key (returned **once** , stored only as a hash), its `key_id`, and your daily limit. Up to 5 keys per email. See Authentication. ``` -------------------------------- ### Configure MCP Server in Client JSON Source: https://www.stipple.sh/docs/mcp Configure the Stipple MCP server in your client's configuration file. This JSON snippet adds the 'openwarrant' server with its HTTP type and URL. ```json { "mcpServers": { "openwarrant": { "type": "http", "url": "https://www.stipple.sh/mcp" } } } ``` -------------------------------- ### Create API Key Source: https://www.stipple.sh/docs/api Self-serve to create a free API key for increased daily quotas and usage metering. Requires an email address in the JSON payload. The key is returned only once. ```http POST /v1/keys {"email": "you@company.com"} ``` -------------------------------- ### Check API usage and quota Source: https://www.stipple.sh/docs/authentication Retrieve your current API usage statistics, including daily limits, remaining quota, and historical data, by making a request to the /usage endpoint. ```bash curl https://www.stipple.sh/v1/usage -H "Authorization: Bearer stp_..." # → { # "key_id": "key_…", # "daily_limit": 50, # "today": { "used": 12, "remaining": 38 }, # "days": [ { "day": "20260612", "count": 12 }, ... ] # } ``` -------------------------------- ### Verify a document for tampering Source: https://www.stipple.sh/docs Upload a PDF or image file to this endpoint for forensic inspection, including tampering signals, structure, metadata analysis, and arithmetic reconciliation. ```bash curl -X POST https://www.stipple.sh/v1/warrants \ -F "file=@payslip.pdf" ``` -------------------------------- ### Authenticate requests with API key Source: https://www.stipple.sh/docs/authentication Send your API key as a Bearer token in the Authorization header for every request to authenticate your identity and usage. ```bash curl -X POST https://www.stipple.sh/v1/verify-references \ -H "Authorization: Bearer stp_..." \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com/report.pdf"}' ``` -------------------------------- ### API Authentication with API Key Source: https://www.stipple.sh/docs/api Send your API key as an 'Authorization: Bearer stp_…' header for authenticated requests. An invalid key results in a 401 error. ```http Authorization: Bearer stp_… ``` -------------------------------- ### Fact-check a document with streaming and deep analysis Source: https://www.stipple.sh/docs/api Use this cURL command to send a document via URL for verification, enabling deep analysis and receiving results as a Server-Sent Events stream. This is useful for long-running analyses where proxy timeouts might occur. ```bash curl -X POST "https://www.stipple.sh/v1/verify-references?deep=1&stream=1" \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com/report.pdf"}' ``` -------------------------------- ### Submit Tool Feedback Source: https://www.stipple.sh/docs/api Provide feedback on specific tools like AI text detection or reference verification. Accepts a JSON payload with 'tool', 'verdict', and optional 'ref' and 'note'. ```http POST /v1/feedback {"tool": "detect_ai_text" | "verify_references", "verdict": "up" | "down"}, with optional `ref` and `note`. ``` -------------------------------- ### Verify References with API Key Source: https://www.stipple.sh/docs/authentication Authenticate your requests by including your API key as a Bearer token in the Authorization header. This is required for most API operations. ```APIDOC ## POST /v1/verify-references ### Description Verifies references from a given URL. Requires authentication with an API key. ### Method POST ### Endpoint https://www.stipple.sh/v1/verify-references ### Parameters #### Request Body - **url** (string) - Required - The URL of the document to verify references from. ### Request Example ```json { "url": "https://example.com/report.pdf" } ``` ### Response #### Success Response (200) (Response schema not provided in source) #### Error Response (401) Returned if the provided API key is invalid or expired. ``` -------------------------------- ### Check Warrant Cache Source: https://www.stipple.sh/docs/api Use this endpoint to determine if a warrant has already been processed by hashing the document yourself (SHA-256, lowercase hex) and checking against the cache. Identical bytes return the existing warrant for free. ```http GET /v1/warrants/check?sha256={hex} ``` -------------------------------- ### Cache Check Source: https://www.stipple.sh/docs/api Checks if a document has already been inspected by hashing the file and comparing it. Returns an existing warrant if the hash matches. ```APIDOC ## Cache check GET /v1/warrants/check?sha256={hex} Has this exact document already been inspected? Hash the file yourself (SHA-256, lowercase hex) and check before submitting — identical bytes return the existing warrant for free. ``` -------------------------------- ### Fact-check a report by URL Source: https://www.stipple.sh/docs Use this snippet to verify references within a public report or article by providing its URL. Stipple will fetch, analyze citations, and recompute arithmetic, returning a structured verdict. ```bash curl -X POST https://www.stipple.sh/v1/verify-references \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com/report.pdf"}' ``` -------------------------------- ### Verify identity (AU 100-point check) Source: https://www.stipple.sh/docs Use this endpoint to verify identity documents against the Australian 100-point check or AUSTRAC safe-harbour rules. It identifies documents, tallies fields, and reports established identity or missing elements. ```bash curl -X POST "https://www.stipple.sh/v1/identity-check?scheme=afp_100_point" \ -F "files=@passport.pdf" -F "files=@licence.pdf" ``` -------------------------------- ### PDF Report Source: https://www.stipple.sh/docs/api Generates an audit-ready, branded PDF scorecard of the warrant, suitable for case files. ```APIDOC ## PDF report GET /v1/warrants/{warrant_id}/report.pdf An audit-ready, branded PDF scorecard of the warrant — suitable for case files. ``` -------------------------------- ### Fact-check a report by URL Source: https://www.stipple.sh/docs Verifies references within a public report or article by fetching it via URL. It resolves citations, recomputes arithmetic, and returns a structured verdict with a shareable permalink. ```APIDOC ## POST /v1/verify-references ### Description Point `POST /v1/verify-references` at any public report or article. Stipple fetches it, resolves every citation, recomputes the document's own arithmetic, and returns a structured verdict with a shareable permalink. ### Method POST ### Endpoint /v1/verify-references ### Parameters #### Request Body - **url** (string) - Required - The URL of the public report or article to verify. ### Request Example ```json { "url": "https://example.com/report.pdf" } ``` ### Response #### Success Response (200) - **summary** (object) - A trust summary of the verification results. - **references** (array) - Per-item tables for references. - **claims** (array) - Per-item tables for claims. - **internal_consistency** (array) - Results of internal consistency checks. - **limitations** (string) - Describes the limitations of the verification. - **check_id** (string) - A unique identifier for the verification check. - **permalink** (string) - A shareable permalink to the verification results. #### Response Example ```json { "summary": { "references_total": 63, "references_live": 57, "references_archived": 3, "references_dead": 3, "papers_mismatched": 1, "internal_issues": 0, "headline": "60/63 citations resolve; 1 mis-attributed paper; 3 dead links" }, "references": [ ... ], "claims": [ ... ], "internal_consistency": [ ... ], "limitations": "Reports verification coverage, not truth. ...", "check_id": "fc_6d22fb4033cbac40", "permalink": "https://www.stipple.sh/fc/targeted-compliance-framework-review-6d22fb4033cbac40" } ``` ``` -------------------------------- ### Health Check Source: https://www.stipple.sh/docs/api Checks the liveness and version of the service. Returns a JSON object with status and engine version. ```APIDOC ## Health GET /health Liveness and version: `{"status": "ok", "engine_version": "...", ...}` ``` -------------------------------- ### Retrieve a Warrant by ID Source: https://www.stipple.sh/docs/api Fetch a stored warrant using its unique ID. Append `?format=md` to receive a human-readable Markdown report. ```http GET /v1/warrants/{warrant_id} ``` -------------------------------- ### Inspect a document (forensics) Source: https://www.stipple.sh/docs/api Runs a full forensic inspection on a document, including tampering signals, structure, and metadata analysis, returning a verification record (warrant). ```APIDOC ## Inspect a document (forensics) ### Description Runs the full forensic inspection — tampering signals, structure and metadata analysis, arithmetic reconciliation — and returns a **warrant** : the document's verification record. The warrant is a signal for review, not a fraud verdict. ### Method POST ### Endpoint /v1/warrants ### Parameters #### Request Body - **file** (bytes_b64) - Required - The document (PDF or image). URL intake is not available on this endpoint. #### Query Parameters - **stream** (bool) - Optional - SSE lifecycle stream — recommended for images (deep visual analysis is slower). - **fresh** (bool) - Optional - Bypass the content-hash cache and re-inspect. ### Response #### Success Response (200) - **warrant_id** (string) - The ID of the generated warrant. - **risk_band** (string) - The assessed risk level (`low / medium / high / insufficient / error`). - **inspection_quality** (string) - The quality of the inspection. - **recommended_action** (string) - The recommended action based on the inspection. - **summary** (string) - A summary of the inspection findings. - **signals** (array) - A list of detected signals or anomalies. ### Request Example ```json { "file": "base64_encoded_document_content" } ``` ### Response Example ```json { "warrant_id": "warrant_abc123", "risk_band": "low", "inspection_quality": "high", "recommended_action": "approve", "summary": "Document appears to be valid.", "signals": [] } ``` ``` -------------------------------- ### Submit Warrant Feedback Source: https://www.stipple.sh/docs/api Record a reviewer's verdict on a warrant to help improve the engine's precision over time. Accepts a JSON payload with 'verdict' and optional 'note'. ```http POST /v1/warrants/{warrant_id}/feedback {"verdict": "up" | "down", "note": "..."} ``` -------------------------------- ### Metered Usage Source: https://www.stipple.sh/docs/api Retrieves information about metered API usage, including today's used/remaining quota and data for the last 7 days. Requires an Authorization header. ```APIDOC ## Metered usage GET /v1/usage Requires `Authorization: Bearer stp_…`. Returns today's used/remaining plus the last 7 days — read from the same counters that enforce the quota. ``` -------------------------------- ### Generate PDF Warrant Report Source: https://www.stipple.sh/docs/api Obtain an audit-ready, branded PDF scorecard of a warrant, suitable for inclusion in case files. ```http GET /v1/warrants/{warrant_id}/report.pdf ``` -------------------------------- ### Fact-check a document Source: https://www.stipple.sh/docs/api Verifies a document's citations, recomputes its internal arithmetic, and optionally fetches cited sources to judge support for claims. Results are cached and can be streamed. ```APIDOC ## POST /v1/verify-references ### Description Verifies a document's citations (live / archived / dead, scholarly papers matched against their claimed titles), recomputes its internal arithmetic, and — in deep mode — fetches each cited source to judge whether it supports the claim. Results persist under a content-hash id and include a public shareable permalink. ### Method POST ### Endpoint /v1/verify-references ### Parameters #### Query Parameters - **deep** (bool) - Optional - Also fetch each cited source and judge support/contradiction (slower, ~a minute). - **stream** (bool) - Optional - Return an SSE lifecycle stream instead of a single response. #### Request Body - **file** (text) - Required - The document: multipart file, raw prose, inline base64, or a public URL. - **bytes_b64** (string) - Required - Inline base64 encoded document content. - **filename** (string) - Required - Filename for the document. - **url** (string) - Required - Public URL of the document. ### Request Example ```bash curl -X POST "https://www.stipple.sh/v1/verify-references?deep=1&stream=1" \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com/report.pdf"}' ``` ### Response #### Success Response (200) - **summary** (object) - Totals and headline of the verification. - **references** (array) - Details about the document's references. - **claims** (array) - Details about the document's claims. - **internal_consistency** (array) - Results of internal arithmetic checks. - **limitations** (object) - Any limitations encountered during the check. - **check_id** (string) - A unique identifier for the verification check. - **permalink** (string) - A public shareable link to the verification results. ``` -------------------------------- ### View Metered Usage Source: https://www.stipple.sh/docs/api Retrieve today's used and remaining API quota, along with data from the last 7 days. Requires an 'Authorization: Bearer stp_…' header. ```http GET /v1/usage Requires `Authorization: Bearer stp_…`. Returns today's used/remaining plus the last 7 days — read from the same counters that enforce the quota. ``` -------------------------------- ### Tool Feedback Source: https://www.stipple.sh/docs/api Provides feedback on a fact-check or AI-text result. Accepts a JSON body specifying the tool, verdict, and optional reference or note. ```APIDOC ## Tool feedback POST /v1/feedback Thumbs up/down on a fact-check or AI-text result: `{"tool": "detect_ai_text" | "verify_references", "verdict": "up" | "down"}`, with optional `ref` and `note`. ``` -------------------------------- ### Error Response Format Source: https://www.stipple.sh/docs/errors Standard JSON format for error details returned by the API. ```json { "detail": "Document exceeds the 25 MB limit." } ``` -------------------------------- ### Verify a document for tampering Source: https://www.stipple.sh/docs Performs a forensic inspection of an uploaded PDF or image to detect tampering signals, analyze structure and metadata, and reconcile arithmetic. Returns a warrant with a risk band, findings, and a shareable record. ```APIDOC ## POST /v1/warrants ### Description Upload a PDF or image to `POST /v1/warrants` for forensic inspection — tampering signals, structure and metadata analysis, arithmetic reconciliation. You get back a **warrant** : a risk band, findings, and a shareable record. ### Method POST ### Endpoint /v1/warrants ### Parameters #### Request Body - **file** (file) - Required - The PDF or image file to be inspected for tampering. ### Request Example ```bash curl -X POST https://www.stipple.sh/v1/warrants \ -F "file=@payslip.pdf" ``` ``` -------------------------------- ### Check API Health Source: https://www.stipple.sh/docs/api Verify the liveness of the API and retrieve the current engine version. Returns a JSON object with status and version information. ```http GET /health {"status": "ok", "engine_version": "...", ...} ``` -------------------------------- ### Retrieve a Fact-Check by ID Source: https://www.stipple.sh/docs/api Fetches a stored fact-check result using its content-hash ID. This ID is used to retrieve the data behind public permalink pages. ```bash curl https://www.stipple.sh/v1/fact-checks/fc_6d22fb4033cbac40 ``` -------------------------------- ### Verify identity (AU 100-point) Source: https://www.stipple.sh/docs Verifies a person's identity against the Australian 100-point check or AUSTRAC safe-harbour rules by analyzing provided identity documents. It identifies documents, tallies fields, and indicates whether identity is established or what information is missing. ```APIDOC ## POST /v1/identity-check ### Description Send a person's identity documents to `POST /v1/identity-check`. A reader identifies each one and the fields it shows; a deterministic engine tallies them against the Australian 100-point check (or the AUSTRAC safe-harbour rules) and tells you whether identity is established — and exactly what's missing if not. Coverage, not a forgery judgment. ### Method POST ### Endpoint /v1/identity-check ### Parameters #### Query Parameters - **scheme** (string) - Optional - Specifies the identity verification scheme. Example: `afp_100_point`. #### Request Body - **files** (file) - Required - One or more identity documents (e.g., passport, license) to be verified. ### Request Example ```bash curl -X POST "https://www.stipple.sh/v1/identity-check?scheme=afp_100_point" \ -F "files=@passport.pdf" -F "files=@licence.pdf" ``` ``` -------------------------------- ### Warrant Feedback Source: https://www.stipple.sh/docs/api Records a reviewer's verdict on a warrant to improve the engine's precision over time. Accepts a JSON body with verdict and an optional note. ```APIDOC ## Warrant feedback POST /v1/warrants/{warrant_id}/feedback Record a reviewer's verdict on a warrant: `{"verdict": "up" | "down", "note": "..."}`. Feedback improves the engine's precision over time. ``` -------------------------------- ### Retrieve a fact-check Source: https://www.stipple.sh/docs/api Fetch a stored fact-check result by its content-hash id. This data powers the public permalink pages. ```APIDOC ## Retrieve a fact-check GET /v1/fact-checks/{check_id} ### Description Fetch a stored fact-check result by its content-hash id (`fc_` + 16 hex). This is the data behind the public `/fc/-` permalink pages. ### Method GET ### Endpoint /v1/fact-checks/{check_id} ### Parameters #### Path Parameters - **check_id** (string) - Required - The content-hash id of the fact-check (e.g., `fc_6d22fb4033cbac40`). ### Request Example ```bash curl https://www.stipple.sh/v1/fact-checks/fc_6d22fb4033cbac40 ``` ``` -------------------------------- ### Detect AI-written text Source: https://www.stipple.sh/docs Analyzes provided prose to detect AI-written content. It returns a probability score indicating the likelihood of AI authorship and highlights specific indicators. The service abstains from analysis on non-prose documents. ```APIDOC ## POST /v1/detect-ai-text ### Description Send prose (or a URL or file) to `POST /v1/detect-ai-text`. It returns a probability with the specific tells, and abstains on non-prose documents where style detection is unreliable. ### Method POST ### Endpoint /v1/detect-ai-text ### Parameters #### Request Body - **text** (string) - Required - The prose content to analyze for AI authorship. ### Request Example ```bash curl -X POST https://www.stipple.sh/v1/detect-ai-text \ -H "Content-Type: application/json" \ -d '{"text": "Paste the prose you want to check here..."}' ``` ``` -------------------------------- ### Classify a financial document Source: https://www.stipple.sh/docs/api Identifies a document's type, specializing in financial documents. This endpoint is stateless and only provides type classification. ```APIDOC ## Classify a financial document POST /v1/classify ### Description Identify a document's type — **we specialise in financial documents** : `payslip`, `tax_invoice`, `bank_statement`, `salary_certificate`, `payg_summary`, `receipt` — with issuing country and confidence. Anything non-financial returns `other`; below the confidence threshold it abstains as `unknown` rather than guessing. Stateless; type only, never an authenticity judgment. ### Method POST ### Endpoint /v1/classify ### Parameters #### Request Body - **file** (bytes_b64 | url | body) - Required - The document: multipart PDF/image, inline base64, or a direct public document URL (fetched raw, SSRF-guarded). ### Request Example ```json { "file": "[base64 encoded document or URL]" } ``` ### Response #### Success Response (200) - **document_type** (string) - The classified document type (e.g., `payslip`, `tax_invoice`). - **country_code** (string) - The issuing country code (e.g., `AU`). - **confidence** (number) - The confidence score for the classification. - **is_financial_document** (boolean) - True if the document is identified as financial. - **evidence** (array of strings) - Key terms or phrases that support the classification. - **supported_types** (array of strings) - List of document types the API can classify. - **limitations** (string) - Caveats regarding the classification (e.g., not an authenticity judgment). ### Response Example ```json { "document_type": "payslip", "country_code": "AU", "confidence": 0.93, "is_financial_document": true, "evidence": ["Gross Pay", "PAYG withheld", "Superannuation"], "supported_types": ["bank_statement", "payg_summary", "payslip", ...], "limitations": "Type classification only — NOT an authenticity or fraud judgment. ..." } ``` ``` -------------------------------- ### Detect AI-Written Text Source: https://www.stipple.sh/docs/api Estimates the probability that a document's prose was AI-written. This endpoint abstains on forms, tables, and scans where style detection is unreliable. It is stateless and does not store any data. ```json { "applicable": true, "probability": 0.92, "lean": "ai", "tells": ["uniform paragraph rhythm", "hedged superlatives", ...], "reasoning": "...", "limitations": "Probability is a confidence, not a calibrated truth. ..." } ``` -------------------------------- ### Retrieve Warrant Source: https://www.stipple.sh/docs/api Fetches a stored warrant by its ID. An optional query parameter can be added to retrieve a human-readable Markdown report. ```APIDOC ## Retrieve a warrant GET /v1/warrants/{warrant_id} Fetch a stored warrant by id (`warrant_` + 16 hex). Add `?format=md` for a human-readable Markdown report. ``` -------------------------------- ### Detect AI-written text Source: https://www.stipple.sh/docs Submit prose, a URL, or a file to detect AI-written content. The API returns a probability score and identifies specific stylistic indicators. It abstains on non-prose documents. ```bash curl -X POST https://www.stipple.sh/v1/detect-ai-text \ -H "Content-Type: application/json" \ -d '{"text": "Paste the prose you want to check here..."}' ``` -------------------------------- ### Classify a Financial Document Source: https://www.stipple.sh/docs/api Identifies a document's type, specializing in financial documents like payslips and tax invoices. It returns the document type, issuing country, and confidence score. Non-financial documents are classified as 'other'. This endpoint is stateless and only provides type classification, not authenticity judgments. ```json { "document_type": "payslip", "country_code": "AU", "confidence": 0.93, "is_financial_document": true, "evidence": ["Gross Pay", "PAYG withheld", "Superannuation"], "supported_types": ["bank_statement", "payg_summary", "payslip", ...], "limitations": "Type classification only — NOT an authenticity or fraud judgment. ..." } ``` -------------------------------- ### Verify identity (AU 100-point) Source: https://www.stipple.sh/docs/api Performs an Australian identity check using a set of documents. It tallies points against a specified scheme to determine if identity is established. ```APIDOC ## Verify identity (AU 100-point) ### Description Run an Australian identity check over a set of documents. A vision model reads each one — its type, which identity fields it shows (name / photo / address / signature), and its issue date — then a deterministic engine tallies them against a scheme: `afp_100_point` (points, the default) or `austrac_safe_harbour` (category combinations). It reports whether identity is established and exactly what's missing if not. Identity coverage, not a forgery judgment — run `/v1/warrants` for authenticity. Stateless; documents are never stored. ### Method POST ### Endpoint /v1/identity-check ### Parameters #### Request Body - **files** (body, multipart) - Required - One or more documents (PDF/image). Or JSON documents[] (below). - **documents** (body, JSON) - Required - Array of {"url": "…"} or {"bytes_b64": "…", "filename": "…"} (up to 10). #### Query Parameters - **scheme** (query) - Optional - afp_100_point (default) or austrac_safe_harbour. ### Response #### Success Response (200) - **established** (boolean) - Indicates if identity is established. - **rule** (string) - The rule used for verification (e.g., "points_accumulation"). - **points** (integer) - The total points accumulated. - **target** (integer) - The target points required. - **primaries** (integer) - The number of primary documents used. - **reason** (string) - A summary of the verification result. - **documents** (array) - Details of each document processed. - **classified_type** (string) - The classified type of the document. - **shows** (array) - List of identity fields shown (e.g., "N" for Name, "P" for Photo, "A" for Address). - **points** (integer) - Points contributed by this document. - **counts** (boolean) - Whether this document counted towards the total. - **note** (string) - Additional notes about the document's contribution. - **limitations** (string) - Limitations of the verification. ### Request Example ```json { "documents": [ { "bytes_b64": "...", "filename": "passport.jpg" }, { "url": "http://example.com/drivers_licence.pdf" } ], "scheme": "afp_100_point" } ``` ### Response Example ```json { "established": true, "rule": "points_accumulation", "points": 110, "target": 100, "primaries": 2, "reason": "Identity established: 110 points with 2 primary document(s).", "documents": [ { "classified_type": "australian_passport", "shows": ["N", "P"], "points": 70, "counts": true, "note": "+70 pts (primary)" }, { "classified_type": "drivers_licence", "shows": ["N", "A", "P"], "points": 40, "counts": true, "note": "+40 pts (primary)" } ], "limitations": "Verification COVERAGE, not a legal identity decision. ..." } ``` ``` -------------------------------- ### Stipple API Response Structure Source: https://www.stipple.sh/docs This JSON structure represents the response from the Stipple API after a fact-check, detailing summary statistics, reference analysis, claims, internal consistency, and limitations. ```json { "summary": { "references_total": 63, "references_live": 57, "references_archived": 3, "references_dead": 3, "papers_mismatched": 1, "internal_issues": 0, "headline": "60/63 citations resolve; 1 mis-attributed paper; 3 dead links" }, "references": [ ... ], "claims": [ ... ], "internal_consistency": [ ... ], "limitations": "Reports verification coverage, not truth. ...", "check_id": "fc_6d22fb4033cbac40", "permalink": "https://www.stipple.sh/fc/targeted-compliance-framework-review-6d22fb4033cbac40" } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.