-
Notifications
You must be signed in to change notification settings - Fork 19
Lighthouse API Implementation
When an IDT User requests to mail the document they will be prompted to input the addresses, and these addresses will get sent for validation. We will be using the external Lighthouse API to verify the addresses.
Type | Endpoint | Description |
---|---|---|
POST | /idt/api/v1/addresses/validate | Validating recipient information |
When uploading a document to eFolder as an IDT user there will be an option to upload the document with recipient information for mailing. When recipient information gets inputted, in addition to uploading the document we will also validate the information.
We will be using the endpoint POST idt/api/v1/services/address_validation/v1/validate
.
This endpoint when it gets called will be processed via the Appeals Controller to call on VaDotGovService with the required params which will then be sent to the Lighthouse API for Address Validation. The request params that are needed for this endpoint will need to be the added in addition to the params of the upload endpoints used to interact with the validation endpoint. The upload endpoints noted below.
Type | Endpoint | Description |
---|---|---|
POST | /idt/api/v1/upload_document | Upload a document |
POST | /idt/api/v2/appeals/{appealId}/outcode | Outcode a decision review |
Code | Description |
---|---|
200 | Request processed successfully |
{
"request_address": {
"address_line_1": "string",
"address_line_2": "string",
"address_line_3": "string",
"city": "string",
"zip_code_5": "string",
"zip_code_4": "string",
"international_postal_code": "string",
"stateProvince": {
"code": "string",
"name": "string"
},
"request_country": {
"country_name": "string",
"country_code": "string"
},
"address_pou": "string"
}
}
{
"messages": [
{
"code": "string",
"key": "string",
"text": "string",
"severity": "INFO",
"potentiallySelfCorrectingOnRetry": true
}
],
"candidate_addresses": [
{
"messages": [
{
"code": "string",
"key": "string",
"text": "string",
"severity": "INFO",
"potentiallySelfCorrectingOnRetry": true
}
],
"address": {
"address_line_1": "string",
"address_line_2": "string",
"address_line_3": "string",
"city": "string",
"zip_code_5": "string",
"zip_code_4": "string",
"international_post_code": "string",
"county": {
"name": "string",
"county_fips_code": "string"
},
"state_province": {
"code": "string"
},
"country": {
"name": "string",
"code": "string",
"fips_code": "string",
"iso2_code": "string",
"iso3_code": "string"
}
},
"geocode": {
"calc_date": "2023-06-05T16:12:46.173Z",
"location_precision": 0,
"latitude": 0,
"longitude": 0
},
"us_congressional_district": "string",
"address_metadata": {
"confidence_score": 0,
"address_type": "string",
"delivery_point_validation": "CONFIRMED",
"residential_delivery_indicator": "RESIDENTIAL",
"non_postal_input_data": [
"string"
],
"validation_key": 0
}
}
]
}
Data | Description |
---|---|
request_address.address_line_1 | Solely the first line of the requested address without city, state, or zip. Cannot be null if addressLine2 and addressLine3 are null. |
request_address.address_line_2 | Solely the second line of the requested address without city, state, or zip. Cannot be null if addressLine1 and addressLine3 are null. |
request_address.address_line_3 | Solely the third line of the requested address without city, state, or zip. Cannot be null if addressLine1 and addressLine2 are null. |
request_address.city | The name of the city of the requested address. Must only contain letters. |
request_address.zip_code_5 | The five digit postal code of the requested address. Must only contain five digits and only used for domestic or military addresses. |
request_address.zip_code_4 | The four digit postal code of the requested address. Must only contain four digits and only used for domestic or military addresses. |
request_address.international_postal_code | The postal code for an international address. This can contain numbers and letters and used for international addresses. |
request_address.state_province.code | The two digit code for state/province of the requested address. Must only contain two digits. |
request_address.state_province.name | The name of the state/province of the requested address. |
request_address.country_name | The name of the country of the requested address. |
request_address.country_code | The ISO2, ISO3, or FIPS country code of the requested address. Must only contain two or three letters. |
request_address.address_pou | Should be either RESIDENCE, CHOICE, or CORRESPONDENCE. Optional |
Code | Description |
---|---|
400 | There was an error encountered processing the Request. This request shouldn't be retried until corrected. |
403 | Invalid authorization. |
429 | Too many requests. |
500 | There was an error encountered processing the Request. May retry. |
{
"message": "Missing token"
}
{
"message": "Invalid token"
}
{
"errors": [
{
"status": 429,
"title": "Service is temporarily unavailable, please try again later.",
"detail": "Service is temporarily unavailable, please try again later."
}
]
}
{
"message": "Lighthouse API Error ID: 322483ae-7953-4d3c-9738-e108506d52c2 An unexpected error occurred, please try again."
}
- Home
- Acronyms and Glossary
- Caseflow products
- Caseflow Intake
- Caseflow Queue
- Appeals Consumer
- Caseflow Reader
- Caseflow eFolder
- Caseflow Hearings
- Caseflow Certification
- Caseflow APIs
- Appeal Status API
- Caseflow Dispatch
-
CSUM Roles
- System Admin
- VHA Team Management
- Active Record Queries Resource
- External Integrations
- Caseflow Demo
- Caseflow ProdTest
- Background
- Stuck Jobs
- VA Notify
-
Caseflow-Team
- Tier 4
- Bat Team
- Technical Documentation
- Backend Code Patterns
- Backend Working Group
- FACOLS, VACOLS DB Schema
- Asyncable Models
- External Data: where and why
- Data Fetching Scripts
- Caseflow Data Model and Dictionary
- User Access Permissions
- Controller Schemas
- Constants
- Frontend Best Practices
- Accessibility
- How-To
- Debugging Tips
- Adding a Feature Flag with FeatureToggle
- Editing AMA issues
- Editing a decision review
- Fixing task trees
- Investigating and diagnosing issues
- Data and Metric Request Workflow
- Exporting and Importing Appeals
- Explain page for Appeals
- Record associations and Foreign Keys
- Upgrading Ruby
- Stuck Appeals
- Testing Action Mailer Messages Locally
- Re-running Seed Files
- Rake Generator for Legacy Appeals
- Manually running Scheduled Jobs
- System Admin UI
- Caseflow Makefile
- Upgrading Postgresql from v11.7 to v14.8 Locally
- VACOLS VM Trigger Fix M1
- Using SlackService to Send a Job Alert
- Technical Talks