VisaPathways API documentation
Authenticate with an enterprise API key to read published route intelligence, evaluate compiled compliance rules, and retrieve persisted tenant-scoped audit records. Legal thresholds come from the Knowledge Ledger, not from client input.
Header: x-visapathways-enterprise-token. Send a provisioned key, never a user JWT, admin cookie, or service-role credential. Example value in this document is not a real key: vp_live_example_not_a_real_key. Developers can issue a short-lived vp_test_ sandbox key from /enterprise/sandbox.
Authentication
Production keys are shown once when provisioned and stored only as SHA-256 digests. Inactive keys, expired keys, and inactive tenants receive 401 INVALID_OR_EXPIRED_ENTERPRISE_TOKEN.
Migration Intelligence Data API
Normalized official destination statistics with immutable dataset versions, freshness, source-reported versus derived labels, and reproducible changed-since updates. It does not sell a raw World Bank payload or claim live migration.
- GET /api/v1/intelligence/destinations?limit=25&offset=0
- GET /api/v1/intelligence/destinations/{countryCode}
- GET /api/v1/intelligence/destinations/{countryCode}/history
- GET /api/v1/intelligence/versions
- GET /api/v1/intelligence/changes?since=2026-01-01T00:00:00Z
Route Intelligence
Unpublished catalog routes are not exposed. Legal requirements come from published Knowledge Ledger records, not CMS eligibility notes.
- GET /api/v1/routes/{slug}
- GET /api/v1/routes/{slug}/sources
- GET /api/v1/routes/{slug}/changes?since=2026-01-01&limit=50
GET rate limit: 60 requests per 60 seconds per production API key. Sandbox keys are limited more tightly. Exceeding the limit returns 429 RATE_LIMITED.
Evaluate a compliance rule
POST /api/v1/compliance/evaluate resolves the highest applicable rule version for the requested evaluation date. Current published versions and historically superseded versions remain date-addressable, so a historical evaluation reproduces the rule that applied at that time. Candidate fields are facts only; clients cannot submit or override legal thresholds.
curl -s \
-H "Content-Type: application/json" \
-H "X-VisaPathways-Enterprise-Token: $VP_API_KEY" \
-X POST \
"https://visapathways.co/api/v1/compliance/evaluate" \
-d '{
"target_jurisdiction": "CAN",
"route_slug": "india-to-canada-study-permit",
"rule_code": "CA-STUDY-FUNDS-2026",
"evaluation_date": "2026-09-09",
"candidate": {
"available_funds": 25000,
"funds_currency": "CAD"
}
}'Verdicts are PASS, FAIL, or INSUFFICIENT_DATA. Successful evaluations are persisted under the authenticated tenant and return an evaluation_idthat can be used for later audit retrieval.
{
"tenant": "your-tenant",
"evaluation_id": "88b2f1a3-2a8a-49f5-954b-76a9d1b07c20",
"route_slug": "india-to-canada-study-permit",
"jurisdiction": "CAN",
"verdict": "PASS",
"reason_codes": ["FUNDS_MINIMUM"],
"rule": {
"id": "CA-STUDY-FUNDS-2026",
"version": 2,
"compiled_hash": "..."
},
"audit": {
"profile_snapshot_hash": "...",
"evidence_ids": ["..."],
"trace": [
{
"sequence": 1,
"node_type": "fact",
"verdict": "PASS",
"fact_key": "available_funds",
"reason_code": "FUNDS_MINIMUM",
"proposition_id": "...",
"proposition_version": 2,
"evidence_ids": ["..."]
}
]
}
}POST rate limit: 30 requests per 60 seconds per API key.
Retrieve a historical evaluation audit
GET /api/v1/compliance/evaluations/{evaluation_id}returns the persisted decision, exact rule version, compiled hash, evidence identifiers, proposition trace, and profile snapshot hash. Retrieval is tenant-scoped: an authenticated tenant cannot retrieve another tenant's evaluation even if it knows the UUID.
curl -s \
-H "X-VisaPathways-Enterprise-Token: $VP_API_KEY" \
"https://visapathways.co/api/v1/compliance/evaluations/{evaluation_id}"A missing evaluation and a cross-tenant evaluation both return 404 EVALUATION_NOT_FOUND. This prevents evaluation UUIDs from being used to probe another customer's audit history.
Current compliance coverage
CA-STUDY-FUNDS-2026 evaluates the India to Canada study permit living-expense proof-of-funds proposition. Version 2 is effective from 1 September 2026 at CAD 23,448 for one applicant outside Quebec, excluding tuition and transportation; version 1 remains available for historical evaluation dates. The UK Skilled Worker pilot uses UK-SW-MAINTENANCE-EVIDENCE-2026 for the maintenance-evidence paths backed by the published GOV.UK proposition set. Coverage remains proposition-by-proposition; neither rule is a complete visa eligibility decision.
Errors
- 401 invalid or expired enterprise token
- 400 invalid request or legal-threshold injection
- 404 unpublished/unknown route or inaccessible evaluation audit
- 409 rule not published, route/rule mismatch, or effective-window miss
- 429 rate limited
- 500 generic server failure; internal database details are not exposed
Limitations
Coverage is proposition-by-proposition. A published catalog route may have limited ledger coverage. Versioning is API v1 plus immutable compiled hashes on each rule version. VisaPathways provides structured compliance intelligence and deterministic rule evaluation; the API is not a visa decision and is not a second visa database.
Try compliance demoDeveloper sandboxPricingBack to Route Intelligence