Compliance & IdentityPOST /v1/identity-check?scheme=afp_100_point

Verify Australian 100-Point Identity Verification Packs

Classifies submitted documents into Primary (Passport: 70 pts, Birth Cert: 70 pts) and Secondary categories (Licence: 40 pts, Rates/Utility: 25 pts). Deterministically tallies points against statutory schemes, validates name and DOB cross-matching, and reports exact missing point gaps.

Instant execution

Run this verification workflow directly. For instant zero-auth testing with deterministic fixture data, include the Stp-Sandbox: true header.

bash
curl -X POST "https://www.stipple.sh/v1/identity-check?scheme=afp_100_point" \
  -H "Authorization: Bearer stp_live_your_key_here" \
  -F "files=@australian_passport.pdf" \
  -F "files=@nsw_drivers_licence.pdf"

Expected JSON response

The engine returns deterministic findings with evidence traces, confidence bounds, and recommended actions:

json
{
  "scheme": "afp_100_point",
  "established": true,
  "points_awarded": 110,
  "points_required": 100,
  "name_match": {
    "matched": true,
    "confidence": 0.98,
    "primary_name": "Jordan Alexander Smith",
    "variations_observed": ["Jordan A Smith", "Jordan Alexander Smith"]
  },
  "documents_evaluated": [
    {
      "classified_type": "australian_passport",
      "category": "primary",
      "points": 70,
      "document_number": "N8492018",
      "expiry_date": "2031-04-14",
      "expired": false
    },
    {
      "classified_type": "australian_drivers_licence",
      "category": "secondary",
      "points": 40,
      "state": "NSW",
      "licence_number": "94820182",
      "expiry_date": "2028-11-09",
      "expired": false
    }
  ],
  "missing_requirements": []
}

AI agent prompt & MCP tool usage

When configuring autonomous agents (Claude Desktop, Cursor, Hermes), use this verified prompt pattern:

text
You are an automated KYC compliance agent.
1. When a user uploads identity documents, call verify_identity(scheme="afp_100_point", urls=[...])
2. If established is false, calculate the exact missing points and specify which document types will satisfy the remaining balance (e.g. "Requires 25 additional points: please upload a council rates notice or utility bill").

Input parameters & headers

FieldTypeRequiredDescription
filesarray of filesRequired2 or more identity documents (PDF/PNG/JPEG).
schemestringOptionalRule scheme: "afp_100_point" (default) or "austrac_safe_harbour".

Diagnostic signals & failed checks

Each check reports exactly what it tested and what evidence it found. High severity signals trigger an escalated risk band:

identity.primary_missinghigh

No primary document (Passport, Birth Certificate, Citizenship Certificate) was provided.

identity.name_mismatchmedium

Names on primary and secondary documents show material phonetic or spelling discrepancy.

identity.document_expiredhigh

Provided document has passed its legal expiry date and cannot count toward point requirements.

Production considerations & edge cases

  • Name Changes (Marriage / Deed Poll): When maiden and married names differ across documents, pass a linking marriage certificate in the document bundle.
  • Foreign Passports: Eligible for 70 points under AFP guidelines provided a valid Australian visa residency grant is included in the pack.

Related workflows

Take it to production

The snippets above run against the sandbox with Stp-Sandbox: true — no key, no credits, fixture data. Drop that header and the call is real, which needs a key.

A weekly credit allowance of your own, usage metering, and somewhere for purchased credits to live.

Every key gets a free weekly allowance. Past that, prepaid credit packs cover it, and Errors & limits says what happens when you run out.