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.97
Python
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.97
API reference

Core endpoints.

MethodEndpointDescription
POST/v1/documents/verifyVerify a document against corridor requirements
POST/v1/applications/createCreate a new visa application record
GET/v1/applications/{id}Get application status and document events
GET/v1/corridorsList all supported corridors and requirements
GET/v1/corridors/{code}Get full requirements for a specific corridor
POST/v1/documents/extractExtract structured data from a document image
GET/v1/webhooksList registered webhook endpoints
POST/v1/webhooksRegister 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.