VA Lighthouse
VA Lighthouse is the US Department of Veterans Affairs' developer API platform. Published at developer.va.gov with production endpoints at api.va.gov, Lighthouse exposes 22+ APIs covering Benefits (claims, documents, reference data, intake), Health (HL7 FHIR R4 Patient Health and Clinical Health, Community Care Eligibility), Facilities, Forms, Veteran Verification and Confirmation, Appeals and Decision Reviews under the Appeals Modernization Act (AMA), Address Validation, Direct Deposit Management, VA Letter Generation, Education Benefits, and the full VA Home Loan Guaranty stack (Loan Guaranty, Loan Review, Guaranty Remittance, Health-Care-Costs Coverage). All authenticated APIs use OAuth 2.0 with both Authorization Code (Veteran consent) and Client Credentials (system) flows; the health APIs additionally support SMART-on-FHIR. The platform is operated by the VA Office of the CTO with open-source backend code in github.com/department-of-veterans-affairs/vets-api and reference clients in vets-api-clients.
23 APIs
21 Features
GovernmentVeterans AffairsVeteransHealthcareBenefitsFHIROpen DataFederal
Look up information on more than 2,000 VA facilities — VA health facilities, benefits offices, cemeteries, Vet Centers — including addresses, geographic coordinates, hours, serv...
Search and retrieve the latest VA form information, including PDF URLs, revision dates, related forms, and benefit categories for every VA form. Backed by VA Forms data so consu...
Lets Veterans, accredited representatives, and approved third-party consumers find existing benefits claims, submit Intent to File and 526EZ forms, upload supporting documentati...
Provides a third-party submission path for veteran-facing PDF benefits forms with supporting documentation directly into VA's Centralized Mail Portal (CMP). Supports the same 41...
Upload supporting documents (PDF, JPG, PNG, TXT, BMP, TIFF) for a given Veteran's benefits claim directly into VBMS for adjudicators. Client credentials OAuth flow only.
Authoritative reference values consumed across the VBA stack — contention classifications, disabilities, intake sites, special issues, treatment centers, and country/state codes...
Returns the status of any benefits appeal — Higher-Level Reviews, Supplemental Claims, and Board Appeals under the Appeals Modernization Act (AMA) — including the docket positio...
Lists the issues a Veteran could appeal for a given benefit type (compensation, pension, etc.). Drives the issue-picker on VA.gov decision review forms — Notice of Disagreement ...
Returns pre-AMA legacy appeals (filed before Feb 19, 2019) on a Veteran's record. Used in tandem with Appealable Issues to determine whether the Veteran must opt-in to AMA befor...
Composite of the three AMA decision-review filing endpoints — Higher-Level Review (HLR), Supplemental Claim (SC), and Notice of Disagreement (Board Appeal / NOD) — for submittin...
Patient-context Veteran health record access conformant to HL7 FHIR R4 and SMART-on-FHIR — AllergyIntolerance, Appointment, Condition, DiagnosticReport, Encounter, Immunization,...
Provider-facing FHIR R4 read access to Veteran clinical records (Patient, Practitioner, Organization, Location, and related resources). Same SMART-on-FHIR authorization model as...
Determines whether a Veteran is eligible to receive care from a community (non-VA) provider under the VA MISSION Act of 2018. Returns eligibility decisions for the six community...
Confirms a Veteran's service history, disability rating, and military service eligibility for benefits. Provides the data behind employer/lender/retailer Veteran-discount verifi...
Confirms Veteran status without revealing PII. Send a Veteran's name, date of birth, SSN, and gender; receive a simple confirmed/not_confirmed response. Powers Veteran-discount ...
Validates and standardizes addresses against the USPS and VA address-canonicalization stack, returning geocoded coordinates and confidence scores. Used across VBA, VHA, and VA.g...
Retrieve and update a Veteran's compensation, pension, and education benefit direct deposit information — routing number, account number, account type, and payment status. Clien...
Generate official VA benefit letters (Benefit Summary, Service Verification, Civil Service Preference, Commissary, Proof of Service, etc.) on demand as PDFs — used by lenders, e...
School Certifying Officials (SCOs) and education benefit administrators read and submit GI Bill / Post-9/11 education benefit enrollment data — VA Form 22-1999 enrollment certif...
Provides lenders and servicers the digital surface for the VA Home Loan Guaranty program — eligibility, appraisals, loan setup, and certificate-of-eligibility (COE) operations. ...
Submits Loan Review file packages — Substantially Complete Real Estate (SCRE) appraisal and Substitution of Entitlement (SOE) — to VA's Loan Guaranty Service. Used by VA-approve...
Lets VA Loan Guaranty servicers remit funding-fee, late, and other Loan Guaranty payments to VA electronically instead of through legacy paper-based remittance. Client credentia...
Insurance-coordination API for VA's Consolidated Patient Account Center (CPAC) — submit and update third-party health insurance coverage on a Veteran's record so VA can correctl...
22+ Lighthouse APIs spanning Benefits, Health, Facilities, Verification, Forms, Appeals, and Loan Guaranty
HL7 FHIR R4 + US Core conformant Patient Health and Clinical Health APIs with SMART-on-FHIR launch
OAuth 2.0 with both Authorization Code (Veteran consent) and Client Credentials (system) flows
Full sandbox at sandbox-api.va.gov with documented synthetic Veteran test accounts (vets-api-clients/test_accounts)
Open-data facilities, forms, and reference-data APIs (no auth required for read endpoints)
VA address canonicalization and geocoding via Address Validation API v3
Direct integration with VBMS (Benefits Documents) and Centralized Mail Portal (Benefits Intake) for claims documentation
AMA-era decision review filing — HLR, SC, Notice of Disagreement — plus legacy appeal status
Programmatic VA letter generation (Benefit Summary, Service Verification, COE, etc.) as on-demand PDFs
VA Home Loan Guaranty digital surface — Loan Guaranty, Loan Review, Guaranty Remittance, Health-Care-Costs Coverage
Veteran Confirmation and Veteran Verification APIs for retail/lender Veteran-status checks
GI Bill / Post-9/11 education benefit submission for School Certifying Officials
Path-to-Production process documented in developer-portal-backend / Path-to-Production.md
Lighthouse OAS contract testing via the public lighthouse-oas-tests repository
Public reference implementations and sample apps in vets-api-clients (Ruby, Node, samples)
vets-api (Ruby/Rails) — primary open-source backend powering VA.gov and many Lighthouse endpoints
vets-website — public open-source frontend for VA.gov
FHIR Bulk Data (Flat FHIR) endpoints via health-apis-bulk-fhir
StatusPage at valighthouse.statuspage.io
VA Lighthouse OAuth flow supports PKCE and SMART-on-FHIR scopes (patient/*, user/*, system/*)
Free at point of use for accredited consumers — no per-call pricing for approved third parties
opencollection: 1.0.0
info:
name: Veteran Service History and Eligibility API
version: 2.1.0
items:
- info:
name: ACA Coverage
type: folder
items:
- info:
name: Return a Veteran's enrollment status in minimum essential coverage (MEC) as defined by the Affordable Care Act
(ACA). (restricted access).
type: http
http:
method: POST
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/restricted/aca_coverage
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: " This endpoint checks a Veteran's enrollment status for minimum essential\n coverage (MEC), as defined by the\
\ Affordable Care Act (ACA), for a specified\n date range.\n\n The response includes a code for Veteran's health benefits\
\ status for\n the request's date range. If the status returned is \"APPLICANT_ENROLLED,\"\n the response also includes\
\ the start and end dates of the coverage. If multiple\n enrollments are found for the requested date range, multiple\
\ start and end dates are\n returned (li"
- info:
name: Disability Rating
type: folder
items:
- info:
name: Get information about a Veteran's VA disability ratings. Data returned includes individual and combined ratings,
diagnoses, and eligibility dates for compensation for service-connected conditions.
type: http
http:
method: GET
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/disability_rating
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: This endpoint provides disability ratings and related decisions and dates for a Veteran, based on the ID in the
bearer token.
- info:
name: Search for information about a Veteran's VA disability ratings using demographic data. Data returned includes
individual and combined ratings, diagnoses, and eligibility dates for compensation for service-connected conditions.
type: http
http:
method: POST
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/disability_rating
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'This endpoint provides a Veteran''s disability ratings and related decisions and dates.
Required information:
* First Name
* Last Name
* Date of Birth
* Street Address
* City
* State
* Country
* Zipcode
Optional information:
* Middle Name
* Gender
* Mother''s Maiden Name
* Home Phone Number
* Birth Place City
* Birth Place State
* Birth Place Country
Tips for finding a match:
* First and Last Name, Address and DOB are often essential to uniquely identifying
a Veteran.
* Home Address is recommen'
- info:
name: Search for information about a Veteran's disability rating using Social Security number and demographic data Data
returned includes individual and combined ratings, diagnoses, and eligibility dates for compensation for service-connected
conditions.(restricted access).
type: http
http:
method: POST
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/restricted/disability_rating
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'This endpoint provides a Veteran''s combined and individual disability ratings and
related decisions and dates. It allows searching for a Veteran using Social Security number and demographic information.
If using Social Security number, the following information is required:
* Social Security number
* First name
* Last name
* Birth date
If using demographic data, the following information is required:
* First Name
* Last Name
* Birth date
* Street Address
* City
* State
* Country
* Zipcode
The'
- info:
name: Get information about a Veteran's VA disability ratings. Data returned includes individual and combined ratings
and eligibility dates for compensation for service-connected conditions.
type: http
http:
method: GET
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/summary/disability_rating
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: This endpoint provides disability ratings and related decisions and dates for a Veteran, based on the ID in the
bearer token.
- info:
name: Search for information about a Veteran's VA disability ratings using demographic data. Data returned includes
individual and combined ratings and eligibility dates for compensation for service-connected conditions.
type: http
http:
method: POST
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/summary/disability_rating
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'This endpoint provides a Veteran''s disability ratings and related decisions and dates.
Required information:
* First Name
* Last Name
* Date of Birth
* Street Address
* City
* State
* Country
* Zipcode
Optional information:
* Middle Name
* Gender
* Mother''s Maiden Name
* Home Phone Number
* Birth Place City
* Birth Place State
* Birth Place Country
Tips for finding a match:
* First and Last Name, Address and DOB are often essential to uniquely identifying
a Veteran.
* Home Address is recommen'
- info:
name: Search for information about a Veteran's VA disability ratings using Social Security number and demographic data.
Data returned includes individual and combined ratings and eligibility dates for compensation for service-connected
conditions. (restricted access)
type: http
http:
method: POST
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/restricted/summary/disability_rating
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: "This endpoint provides a Veteran's disability ratings and related decisions and dates. It allows searching for\
\ a Veteran using Social Security number and demographic information.\n\n If using Social Security number, the following\
\ information is required:\n * Social Security number\n * First name\n * Last name\n * Birth date\n\n If using\
\ demographic data, the following information is required:\n * First Name\n * Last Name\n * Birth date\n * Street\
\ Address\n * City\n * State\n * Country\n * Zipc"
- info:
name: Enrolled Benefits
type: folder
items:
- info:
name: Get enrolled benefits information.
type: http
http:
method: GET
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/enrolled_benefits
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'This endpoint returns select enrolled benefits for a Veteran.
If the Veteran is enrolled, the codes and names for benefits they are
receiving will be returned for the following benefit types:
* Compensation (Code C)
* 306 Pension (Code 306P)
* Old Law Pension (Code OLP)
* Improved Pension (Code IP)
'
- info:
name: Get enrolled benefits information using demographics to search for the Veteran.
type: http
http:
method: POST
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/enrolled_benefits
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'This endpoint returns select enrolled benefits for a Veteran.
If the Veteran is enrolled, the codes and names for benefits they are
receiving will be returned for the following benefit types:
* Compensation (Code C)
* 306 Pension (Code 306P)
* Old Law Pension (Code OLP)
* Improved Pension (Code IP)
Required information:
* First Name
* Last Name
* Date of Birth
* Street Address
* City
* State
* Country
* Zipcode
Optional information:
* Middle Name
* Gender
Tips for finding a match:
* First a'
- info:
name: Flashes
type: folder
items:
- info:
name: Retrieve certain benefit flashes associated with a Veteran.
type: http
http:
method: GET
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/flashes
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'A flash is an attribute on a Veteran''s profile that describes special
circumstances which can apply to a Veteran. Flashes can aid in
properly routing claims or determining eligibility for some VA
benefits.
This endpoint currently shares the following flashes
if they have been assigned to the Veteran.
* Agent Orange (AO) Exposure Verified
* Gulf War Veteran PACT Eligibility Verified
If neither of these flashes exist for the Veteran, then a 200 response
with an empty dataset will be returned.
'
- info:
name: Retrieve certain benefit flashes associated with a Veteran using demographics to search for the Veteran.
type: http
http:
method: POST
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/flashes
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'A flash is an attribute on a Veteran''s profile that describes special
circumstances which can apply to a Veteran. Flashes can aid in
properly routing claims or determining eligibility for some VA
benefits.
This endpoint currently shares the following flashes
if they have been assigned to the Veteran.
* Agent Orange (AO) Exposure Verified
* Gulf War Veteran PACT Eligibility Verified
If you have a use case for additional flashes, please
contact us with the details.
Required information:
* Firs'
- info:
name: Permanent And Total Disability
type: folder
items:
- info:
name: Get information about a Veteran's P&T disability and IU disability statuses and effective dates.
type: http
http:
method: GET
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/permanent_and_total_disability
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: This endpoint provides a Veteran's permanent and total (P&T) disability and total disability based on Individual
Unemployability (IU) statuses and effective dates, based on the ID in the bearer token.
- info:
name: Search for information about a Veteran's P&T disability and IU disability statuses and effective dates, based
on demographic data.
type: http
http:
method: POST
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/permanent_and_total_disability
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: " This endpoint returns a Veteran's information about permanent and total (P&T) disability and total disability\
\ based on Individual Unemployability (IU) statuses and effective dates.\n\n Required information:\n\n * First name\n\
\ * Last name\n * Date of birth\n * Street address\n * City\n * State\n * Country\n * ZIP code\n\n Optional\
\ information:\n\n * Middle name\n * Gender\n * Mother's maiden name\n * Home phone number\n * Birthplace city\n\
\ * Birthplace state\n * Birthplace country\n\n Tips for findin"
- info:
name: Search for information about a Veteran's P&T disability and IU disability statuses and effective dates (restricted
access).
type: http
http:
method: POST
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/restricted/permanent_and_total_disability
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: "This endpoint returns a Veteran's information about permanent and total (P&T) disability and total disability based\
\ on Individual Unemployability (IU) statuses and effective dates. It allows searching for a Veteran using a Social\
\ Security number and demographic information.\n\n If using a Social Security number, the following information is\
\ required:\n\n * Social Security number\n * First name\n * Last name\n * Date of birth\n\n If using demographic data,\
\ the following information is required:\n\n * Firs"
- info:
name: Service History
type: folder
items:
- info:
name: Retrieve the service history of a Veteran.
type: http
http:
method: GET
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/service_history
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: This endpoint provides a Veteran's detailed service history, including all military service episodes with the first
and last name of the Veteran, the branch of service, start and end dates, paygrade, discharge status, and separation
reason. It also provides start and end dates and locations for each deployment within each episode of service.
- info:
name: Retrieve the service history of a Veteran using demographics to search for the Veteran.
type: http
http:
method: POST
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/service_history
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'This endpoint provides a Veteran''s detailed service history including all military
service episodes with the first and last name of the Veteran, the branch of service,
start and end dates, paygrade, discharge status, and separation reason. It also
provides start and end dates and locations for each deployment within each episode
of service.
Required information:
* First Name
* Last Name
* Date of Birth
* Street Address
* City
* State
* Country
* Zipcode
Optional information:
* Middle Name
* Ge'
- info:
name: Status
type: folder
items:
- info:
name: Confirm whether an individual is a Title 38 Veteran.
type: http
http:
method: GET
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/status
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: " Indicates whether an individual is \"Confirmed\" or \"Not Confirmed\" as a\n [Title 38 Veteran](https://www.ecfr.gov/current/title-38)\
\ according to VA.\n ```\"not confirmed\"``` can mean several different things, depending on\n the following not_confirmed_reason\
\ values:\n- ```PERSON_NOT_FOUND```: The person was not found in VA source systems\n with the provided information.\
\ Including more demographic data\n for a Veteran increases the likelihood of finding their records\n in VA source systems.\n\
\ - ```NOT_TI"
- info:
name: Confirm whether an individual is a Title 38 Veteran using demographics
type: http
http:
method: POST
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/status
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Confirm an individual''s Title 38 Veteran status according to VA.
This endpoint accepts demographic information for the person to
be confirmed and matches it against VA records. If there are
differences between the data entered and the data on file, a
match to a person may not be found. If a successful match is
identified, Title 38 Veteran status is checked.
- ```"confirmed"``` indicates Title 38 Veteran status.
- ```"not confirmed"``` can mean several different things, depending on
the followin'
- info:
name: Confirm whether an individual is a Title 38 veteran using Social Security number and demographics.
type: http
http:
method: POST
url: https://sandbox-api.va.gov/services/veteran_verification/{version}/restricted/status
body:
type: json
data: '{}'
auth:
type: oauth2
flow: client_credentials
accessTokenUrl: https://api.va.gov/oauth2/veteran-verification/system/v1/token
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
docs: 'Confirm an individual''s Title 38 Veteran status according to VA.
This endpoint accepts a Social Security number and/or demographic
information for the person to be confirmed and matches it against
VA records. If there are differences between the data entered and
the data on file, a match to a person may not be found. If a
successful match is identified, Title 38 Veteran status is checked.
- ```"confirmed"``` indicates Title 38 Veteran status.
- ```"not confirmed"``` can mean several different t'
bundled: true