Documentation
API reference & playground
A REST API that identifies trading cards from a photo — and tells you when it isn't sure instead of guessing.
Authentication
Bearer token authentication
Every request to /api/v1/* is authenticated with an API key issued from your dashboard, sent as a standard Bearer token.
Endpoint
POST /api/v1/identify
Send a card image and get back a structured identity — or an honest needsReview when we can't corroborate a match.
curl -X POST https://aicardvault.io/api/v1/identify \
-H "Authorization: Bearer $YOUR_API_KEY" \
-F front=@card.jpg \
-F category=pokemon{
"ok": true,
"result": {
"card": {
"name": "Charizard ex",
"set": "Obsidian Flames",
"number": "125/197",
"year": "2023",
"rarity": "Double Rare",
"language": "en"
},
"confidence": 0.94,
"needsReview": false
}
}Endpoint
POST /api/v1/feedback
Confirm or correct a result to feed the accuracy flywheel — corrections re-index nightly and improve future matches.
curl -X POST https://aicardvault.io/api/v1/feedback \
-H "Authorization: Bearer $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"referenceId": "ref_9f2a...",
"wasCorrect": false,
"correctName": "Charizard ex",
"correctSet": "Obsidian Flames",
"correctNumber": "125/197"
}'
// 200 OK
{
"ok": true,
"requestId": "req_3b7c..."
}A miss is still a 200
needsReview:true with card:null means we couldn't confidently identify the card. It's still an HTTP 200. Best guesses appear in the alternates array with per-candidate confidence, ideal for a 'Is this your card?' picker. Treat it as 'ask the user to confirm,' not as an error.
Try it
Live playground
Call the real gateway with your own API key and image URL. Nothing here is mocked — you're hitting the same endpoint your integration will use.