API Docs
Build on XOYA.
One API for visa document validation, corridor logic, applicant orchestration, and audit-grade event logging. RESTful. JSON. Well-documented.
REST APIWebhooksSDKsSandboxPostman collection
Quick start — cURL
curl -X POST \
https://api.xoyavisa.io/v1/documents/verify \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"document_type": "passport",
"country": "NG",
"destination_corridor": "US",
"image_url": "https://storage.example.com/doc.jpg"
}'Integration architecture
How XOYA fits into your stack.
Your app
Client, dashboard, or B2B platform
→
XOYA REST API
Authenticated, rate-limited, versioned
→
AI Validation Engine
Document intelligence + embassy rule logic
→
Embassy outcomes
Approval, gap flagging, structured response
Embedded widget
Drop XOYA document validation into any web form in minutes.
Headless API
Full programmatic control — your UI, your logic, our validation.
White-label
Full white-label: your brand, XOYA under the hood.
Quick-start guides
Up and running in minutes.
Node.js / TypeScript
import Xoya from '@xoya/sdk';
const client = new Xoya({ apiKey: process.env.XOYA_API_KEY });
const result = await client.documents.verify({
documentType: 'passport',
country: 'NG',
destinationCorridor: 'US',
imageUrl: 'https://storage.example.com/passport.jpg',
});
console.log(result.valid); // true
console.log(result.issues); // []
console.log(result.corridorReady); // true
console.log(result.confidence); // 0.97Python
import xoya
client = xoya.Client(api_key=os.environ["XOYA_API_KEY"])
result = client.documents.verify(
document_type="passport",
country="NG",
destination_corridor="US",
image_url="https://storage.example.com/passport.jpg",
)
print(result.valid) # True
print(result.issues) # []
print(result.corridor_ready) # True
print(result.confidence) # 0.97API reference
Core endpoints.
| Method | Endpoint | Description |
|---|---|---|
| POST | /v1/documents/verify | Verify a document against corridor requirements |
| POST | /v1/applications/create | Create a new visa application record |
| GET | /v1/applications/{id} | Get application status and document events |
| GET | /v1/corridors | List all supported corridors and requirements |
| GET | /v1/corridors/{code} | Get full requirements for a specific corridor |
| POST | /v1/documents/extract | Extract structured data from a document image |
| GET | /v1/webhooks | List registered webhook endpoints |
| POST | /v1/webhooks | Register a webhook for application events |
SDKs
Available libraries.
Node.js
Available
npm install @xoya/sdk
Python
Available
pip install xoya
PHP
Q3 2026
Go
Q4 2026
Use cases
Travel agency portal integration
Embed document validation into your visa submission portal so agents catch errors before they submit to embassies.
Bank premium card visa concierge
Offer visa document validation as a value-add for premium cardholders. Integrate via API in 2 weeks.
University mobility office automation
Route student and staff visa applications through XOYA validation before consular submission.
Ministry consular verification
License XOYA endpoints to authenticate sponsor documents and financial records submitted by applicants.