Quickstart
This guide walks you through the three things you need to do to submit
your first verification: get an account, generate an API key, and call
POST /v1/verify with an image. The whole loop takes about five minutes.
A photo to upload (JPEG, PNG, or WebP, under 10 MB) and a terminal with
curl. Anything that can speak HTTP works — we'll use curl for the
examples but a Node, Python, Flutter, or React Native client works the
same way.
1. Create an account
Sign up at verify.switchlabs.dev/signup. You'll land on the dashboard with a sandbox API key, a sample policy, and $5 of test credit ready to use. No credit card is required.
2. Generate an API key
From the dashboard, open Settings → API keys and click Create
key. VerifyAI API keys start with the vai_ prefix:
vai_live_8x9k2m4n7p3q5w8r1t6y2u4i9o0a3sTreat API keys like passwords. If you must use a key inside a mobile app, rotate it regularly and monitor request volume from the dashboard. Never commit keys to a public repository.
3. Submit your first verification
Send a photo to POST /v1/verify. The request needs two things: an
image and a policy ID. Use the built-in scooter_parking policy to
start.
curl -X POST https://verify.switchlabs.dev/api/v1/verify \
-H "X-API-Key: vai_your_api_key" \
-F "image=@scooter.jpg" \
-F "policy=scooter_parking"You'll get back a JSON object describing whether the image was compliant and why:
{
"id": "ver_8x92m4k9",
"created_at": "2026-05-12T14:30:00Z",
"status": "success",
"is_compliant": false,
"confidence": 0.94,
"policy": "scooter_parking",
"category": "unsafe",
"violation_reasons": ["blocking_sidewalk", "kickstand_up"],
"feedback": "Please deploy the kickstand and move away from the walkway.",
"metadata": {},
"image_url": "https://...signed-url..."
}That's the loop. Every verification:
- Runs through the configured policy (
scooter_parking,bike_parking,forest_designated_bay, or any custom policy you've authored). - Returns a structured
categoryand human-readablefeedbackstring you can show to the end user. - Persists in the dashboard so you can audit decisions later.
What's next
- Authentication — header format, key rotation, rate-limit headers.
- Verify endpoint — full request and response schema, including JSON-with-base64 mode.
- Concepts: Policies — how categories, criteria, and severities combine into a verification decision.
- SDKs — drop in a scanner instead of writing your own camera UI.