Mock sample for your project: VA Facilities API

Integrate with "VA Facilities API" from va.gov in no time with Mockoon's ready to use mock sample

VA Facilities

va.gov

Version: 0.0.1


Use this API in your project

Speed up your application development by using "VA Facilities API" ready-to-use mock sample. Mocking this API will allow you to start working in no time. No more accounts to create, API keys to provision, accesses to configure, unplanned downtime, just work.
It also improves your integration tests' quality and reliability by accounting for random failures, slow response time, etc.

Description

Background
This RESTful API provides information about physical VA facilities. Information available includes
geographic location, address, phone, hours of operation, and available services.
VA operates several different types of facilities, the types represented in this API include:
Health Facilities (vha)
Benefits Facilities (vba)
Cemeteries (nca)
Vet Centers (vc)
To read an FAQ on how wait times are calculated, click the "For more information" link on this page.
Getting Started
Base URLs
The base URLs for the VA Facilities API in the various environments are:
Sandbox: https://sandbox-api.va.gov/services/va_facilities/v0
Production: https://api.va.gov/services/va_facilities/v0
Authorization
API requests are authorized through a symmetric API token, provided in an HTTP header with name apikey.
Response Formats
Clients may request several response formats by setting the Accept header.
application/json - The default JSON response format complies with JSON API. This media type is not available for bulk requests using the /facilities/all endpoint. It will return 406 Not Acceptable.
application/geo+json - GeoJSON-compliant format, representing each facility as a feature with a point geometry.
application/vnd.geo+json - Deprecated. Prefer application/geo+json.
text/csv - Available for the bulk download operation only. Some structured fields are omitted from the CSV response.
Response Elements
Some data elements within the response are only present for facilities of a given type:
The patient satisfaction scores contained in the satisfaction element are only applicable
to VA health facilities.
The patient wait time values contained in the wait_times element are only applicable to
VA health facilities.
The list of available services in the services element is only applicable to VA health and
benefits facilities.
The operational hours special instructions contained in the operationalhoursspecial_instructions element is only applicable to VA health and Vet Center facilities.
Facility ID Formats and Constraints
A facility ID has the format prefix_stationNumber. The prefix is one of nca, vc, vba, or vha. Cemeteries may be national (VA) or non-national; non-national cemeteries have the station number prefixed with an s. There are no other constraints on the format. Examples:
Health: vha_402GA
Benefits: vba_539GB
National cemetery: nca_063
Non-national cemetery: nca_s1082
Vet center: vc_0872MVC
Mobile Facilities
The mobile health facilities move regularly within a region. If a facility comes back from this API with "mobile": "true", the latitude/longitude and address could be inaccurate. To get the exact current location, please call the number listed.
Deprecations
activestatus field is deprecated and replaced with operatingstatus.
application/vnd.geo+json media type is deprecated and replaced by application/geo+json
Reference
Raw VA Facilities Open API Spec
GeoJSON Format
JSON API Format

Other APIs by va.gov

Benefits Intake

va.gov
The Benefits Intake API allows authorized third-party systems used by Veteran Service Organizations (VSOs), agencies, and Veterans to digitally submit VA benefits claim documents directly to the Veterans Benefits Administration's (VBA) claims intake process. This API handles documents related to the following benefit claim types:
Compensation
Pension/Survivors Benefits
Education
Fiduciary
Insurance
Veteran Readiness & Employment (VRE)
Board of Veteran Appeals (BVA)
This API also provides submission status updates until documents are successfully established for VBA claim processing, eliminating the need for users to switch between systems to manually check whether documents have been successfully uploaded.
Background
This API provides a secure, efficient, and tracked alternative to mail or fax for VA benefit claim document submissions. Documents are uploaded directly to the VBA so they can be processed as quickly as possible.
Technical overview
The Benefits Intake API first provides an upload location and unique submission identifier, and then accepts a payload consisting of a document in PDF format, zero or more optional attachments in PDF format, and some JSON metadata.
The metadata describes the document and attachments, and identifies the person for whom it is being submitted. This payload is encoded as binary multipart/form-data (not base64). The unique identifier supplied with the payload can subsequently be used to request the processing status of the uploaded document package.
To avoid errors and processing delays, API consumers are encouraged to validate the zipcode,fileNumber, veteranFirstName, veteranLastName and businessLine fields before submission according to their description in the DocumentUploadMetadata model and use the 'businessLine' attribute for the most efficient processing. Additionally, please ensure no PDF user or owner passwords are used in submitted PDFs.
Attachment & file size limits
There is no limit on the number of files a payload can contain, but size limits do apply.
Uploaded documents cannot be larger than 21" x 21"
The entire payload cannot exceed 5 GB
No single file in a payload can exceed 100 MB
Date of receipt
The date that documents are successfully submitted through the Benefits Intake API is used as the official VA date of receipt. However, note that until a document status of received, processing, success, or vbms is returned, a client cannot consider the document received by VA.
A status of received means that the document package has been transmitted, but may not be validated. Any errors with the document package, such as unreadable PDFs or a Veteran not found, will cause the status to change to error.
If the document status is error, VA has not received the submission and cannot honor the submission date as the date of receipt.
Authentication and Authorization
API requests are authorized through a symmetric API token, provided in an HTTP header with name 'apikey'. Request an API key.
Testing in the sandbox environment
In the sandbox environment, the final status of a submission is received and submissions do not actually progress to the central mail repository or VBMS.
Progress beyond the received status can be simulated for testing. We allow passing in a Status-Override header on the /uploads/{id} endpoint so that you can change the status of your submission to simulate the various scenarios.
The available statuses are pending, uploaded, received, processing, success, vbms, and error. The meaning of the various statuses is listed below in Models under DocumentUploadStatusAttributes.
Test data
We use mock test data in the sandbox environment. Data is not sent upstream and it is not necessary to align submitted test data with any other systems' data.
Upload operation
Allows a client to upload a multi-part document package (form + attachments + metadata).
Client Request: POST https://sandbox-api.va.gov/services/vba_documents/v1/
No request body or parameters required
Service Response: A JSON API object with the following attributes:
guid: An identifier used for subsequent status requests
location: A URL to which the actual document package payload can be submitted in the next step. The URL is specific to this upload request, and should not be re-used for subsequent uploads. The URL is valid for 900 seconds (15 minutes) from the time of this response. If the location is not used within 15 minutes, the GUID will expire. Once expired, status checks on the GUID will return a status of expired.
Note: If, after you've submitted a document, the status hasn't changed to uploaded before 15 minutes has elapsed, we recommend retrying the upload in order to make sure the document properly reaches our servers. If the upload continues to fail, try encoding the payload as Base64 (See below).
Client Request: PUT to the location URL returned in Step 2.
Request body should be encoded as binary multipart/form-data (base64 also available - see details below), equivalent to that generated by an HTML form submission or using “curl -F…”. The format is described in more detail below.
No apikey authorization header is required for this request, as authorization is embedded in the signed location URL.
Service Response: The HTTP status indicates whether the upload was successful.
Additionally, the response includes an ETag header containing an MD5 hash of the submitted payload. This can be compared to the submitted payload to ensure data integrity of the upload.
Status caching
Due to current system limitations, data for the /uploads/report endpoint is cached for one hour.
A request to the /uploads/{id} endpoint will return a real-time status for that GUID, and update its status in /uploads/report.
The updated_at field indicates the last time the status for a given GUID was updated.
Optional Base64 encoding
Base64 is an encoding scheme that converts binary data into text format, so that encoded textual data can be easily transported over networks uncorrupted and without data loss.
Base64 can be used to encode binary multipart/form-data it in its entirety. Note that the whole payload must be encoded, not individual parts/attachments.
After encoding your payload, you'll be required to preface your base64 string with data:multipart/form-data;base64, in order to allow our system to distinguish the file type. Your final string payload would look something like data:multipart/form-data;base64,(encryption string)== and close with the standard == marker. Note that the multipart boundaries i.e. -----WebKitFormBoundaryVfOwzCyvug0JmWYo and ending ------WebKitFormBoundaryVfOwzCyvug0JmWYo- must also be included.
Consumer onboarding process
When you're ready to move to production, request a production API key.

Veteran Confirmation

va.gov
The Veteran Confirmation API allows you to confirm Veteran status for a given person. This can be useful for offering Veterans discounts or other benefits.
The API will only return “Confirmed” or “Not Confirmed”.
Quickstart Guide
1. Get Access Credentials
Get started by filling out the form on the Apply for VA Lighthouse Developer Access page.
After submitting a request, you will receive your credentials for using the API in the Development environment, which allows you to try it out with mock data before moving to the Production environment.
2. Test the API
In the endpoint documentation below, we've provided a curl command builder for trying out the API before implementation with your app.
Use Test User attributes to populate the request body.
3. Build your app
The base URI for the Veteran Confirmation API in the Sandbox environment is:
https://sandbox-api.va.gov/services/veteran_confirmation/v0
In this environment, use attributes from the list of Test Users. Only Test Users can return a "confirmed" response.
Check out some of our sample apps. Please visit our VA Lighthouse Support portal should you need further assistance.
4. Show us a demo and get access to the Production environment
After building your app, we ask that you give us a demo before we set you up with production credentials. Please see the Path to Production page for more details.
Authorization
This API requires an API key in combination with identifiable information for the person being confirmed listed below. API requests are authorized through a symmetric API token provided in an HTTP header with name apikey. Including more information has a better chance of making a match and returning a Confirmed status.
Required information:
First Name
Last Name
Date of Birth
Social Security Number
Optional information:
Middle Name
Gender
Reference
Sandbox vs. Production Data
APIs accessed via the Sandbox environment are using the same underlying logic as VA’s production APIs; only the underlying data store is different.
Master Veteran Index (MVI)
The Master Veteran Index confirms a user's identity. In Production, several factors are considered to confirm identity. These include: a user’s first name, last name, date of birth and Social Security number. The MVI is mocked in the Sandbox environment. In this environment, the only factor used to confirm identity is the Social Security number.
Rate Limiting
We implemented basic rate limiting of 60 requests per minute. If you exceed this quota, your request will return a 429 status code. You may petition for increased rate limits by emailing and requests will be decided on a case by case basis.
Raw Open API Spec
https://api.va.gov/services/veteran_confirmation/docs/v0/api

VA Forms

va.gov
Use the VA Forms API to search for VA forms, get the form's PDF link and metadata, and check for new versions.
Visit our VA Lighthouse Contact Us page for further assistance.
Background
This API offers an efficient way to stay up-to-date with the latest VA forms and information. The forms information listed on VA.gov matches the information returned by this API.
Search by form number, keyword, or title
Get a link to the form in PDF format
Get detailed form metadata including the number of pages, related forms, benefit categories, language, and more
Retrieve the latest date of PDF changes and the SHA256 checksum
Identify when a form is deleted by the VA
Technical summary
The VA Forms API collects form data from the official VA Form Repository on a nightly basis. The Index endpoint can return all available forms or, if an optional query parameter is passed, will return only forms that may relate to the query value. When a valid form name is passed to the Show endpoint, it will return a single form with additional metadata and full revision history. A JSON response is given with the PDF link (if published) and the corresponding form metadata.
Authentication and authorization
The form information shared by this API is publicly available. API requests are authorized through a symmetric API token, provided in an HTTP header with name apikey. Get a sandbox API Key.
Testing in sandbox environment
Form data in the sandbox environment is for testing your API only, and is not guaranteed to be up-to-date. This API also has a reduced API rate limit. When you're ready to move to production, be sure to request a production API key.
SHA256 revision history
Each form is checked nightly for recent file changes. A corresponding SHA256 checksum is calculated, which provides a record of when the PDF changed and the SHA256 hash that was calculated. This allows end users to know that they have the most recent version and can verify the integrity of a previously downloaded PDF.
Valid PDF link
Additionally, during the nightly refresh process, the link to the form PDF is verified and the valid_pdf metadata is updated accordingly. If marked true, the link is valid and is a current form. If marked false, the link is either broken or the form has been removed.
Deleted forms
If the deleted_at metadata is set, that means the VA has removed this form from the repository and it is no longer to be used.

Other APIs in the same category

Enode API

enode.io
Download OpenAPI 3.0 Specification
Download Postman Collection
The Enode API is designed to make smart charging applications easy to develop. We provide an abstraction layer that reduces the complexity when extracting vehicle data and sending commands to vehicles from a variety of manufacturers.
The API has a RESTful architecture and utilizes OAuth2 authorization.
We are always available to handle any issues or just answer your questions. Feel free to reach out on [email protected]
Registration for API access
In order to use the API you will need a clientid and clientsecret. Please contact us if you are interested in using our API in production, and we will provide these credentials.
Authorization
Vehicle / hardware access via the Enode API is granted to your application by the User in a standard OAuth Authorization Code flow.
> The authorization scheme documented here is the recommended approach for most situations. However, it is also possible to user other OAuth flows, non-confidential clients, and temporary users. Please feel free to contact us if you have any questions about your use-case or the integration of your existing infrastructure.
Preparation: Configure your OAuth client
Because Enode API implements the OAuth 2.0 spec completely and without modifications, you can avoid rolling your own OAuth client implementation and instead use a well-supported and battle-tested implementation. This is strongly recommended. Information on available OAuth clients for many languages is available here
To configure your chosen OAuth client, you will need these details:
Your client_id
Your client_secret
Authorization URL: https://link.test.enode.io/oauth2/auth
Token URL: https://link.test.enode.io/oauth2/token

The Water Linked Underwater GPS API

waterlinked.com
API for the Water Linked Underwater GPS. For more details: http://www.waterlinked.com
Recommended approach for connecting to a Underwater GPS via the API is:
If "GET /api/" times out, the Underwater GPS is not running (on this IP address)
If "GET /api/" responds with 200 OK check that the api version returrned (eg "v1") is supported by the client (eg: also supports "v1").
If the api version returned does not match what the client supports: give an error to the user and recommend upgrading. (Eg: response is "v2" while client only supports "v1")
If "GET /api/" responds with 301 Moved permanently. "GET /api/v1/version" to check if the kit has a version earlier than 1.5.
"GET /api/v1/version" will always respond with 200 OK on Underwater GPS earlier than 1.5 release.
Configuration API is is not considered stable and will potentially be changed

Gravity API

amentum.space
The gravitational field of the earth is non-uniform. The geoid is the shape the
ocean surface would take if only gravity and the rotation of the Earth
were considered. The geoid is the surface that defines zero elevation.
The geoid height is the difference between an ideal reference ellipsoid and the geoid.
The gravity anomaly is the difference between the acceleration due to gravity on the Earth's surface and the value calculated assuming the reference ellipsoid.
The official Earth Gravitational Model EGM2008 was developed and released to the public by the National Geospatial-Intelligence Agency (NGA).
Our EGM2008 API provides on-demand access to the EGM2008 model, as implemented by the open-source GeographicLib Gravity library.
API requests must contain a key "API-Key" in the header (see code samples). Obtain a key from here.
Amentum Pty Ltd is not responsible nor liable for any loss or damage of any sort incurred as a result of using the API.
Copyright Amentum Pty Ltd 2021.

OpenCage Geocoder

Worldwide forward and reverse geocoding

Neutrino API

The general-purpose API

Mtaa API Documentation

Mtaa A simple REST API to access Tanzania's location information,With mtaa API you can easily query and integrate all the location in tanzania from region level to streets from your programming language of your your choice
Open Source GPS Tracking Platform

Maps

tomtom.com
The Maps API web services suite offers the following APIs:
Raster
The Maps Raster API renders map data that is divided into gridded sections called tiles. Tiles are square images (png or jpg format) in various sizes which are available at 19 different zoom levels, ranging from 0 to 20. For zoom level 0, the entire earth is displayed on one single tile, while at zoom level 20, the world is divided into 2 40 tiles.
Vector
Similar to Maps Raster API, the Maps Vector API serves data on different zoom level ranging from 0 to 22. For zoom level 0, the entire earth is displayed on one single tile, while at zoom level 22, the world is divided into 2 44 tiles.
The Maps Vector Service delivers geographic map data packaged in a vector representation of squared sections called vector tiles. Each tile includes pre-defined collections of map features (points, lines, road shapes, water polygons, building footprints, ect.) delivered in one of the specified vector formats. Format of the tile is formally described using protobuf schema.

Storm Glass Marine Weather

stormglass.io
Global marine weather data from multiple sources in one single API with hourly resolution. Get your API key by visiting the Storm Glass web site.

IP2Proxy Proxy Detection

ip2proxy.com
IP2Proxy allows instant detection of anonymous proxy, VPN, TOR exit nodes, search engine robots (SES), data center ranges (PX2-PX10), residential proxies (PX10) and VPN provider name (PX11) by IP address. It also returns the threat type of the proxy (PX9 or higher). Visit https://www.ip2location.com/web-service/ip2proxy for further information.

IP2Location IP Geolocation

ip2location.com
IP2Location web service providing a service to do a reverse lookup of an IP address to an ISO3166 country code, region or state, city, latitude and longitude, ZIP/Postal code, time zone, Internet Service Provider (ISP) or company name, domain name, net speed, area code, weather station code, weather station name, mobile country code (MCC), mobile network code (MNC) and carrier brand, elevation, usage type, address type and IAB category. There are also 7 categories of additional add-on response fields supported such as metro, olson time zone, translations and more. Refer to https://www.ip2location.com/web-service/ip2location for further information.

Daymet Single Pixel Extraction Tool API

ornl.gov
Welcome to the Daymet Single Pixel Extraction Tool API. You can use this API to download daily surface data within the Daymet database in a csv or json format for a single point. This API allows users to query a single geographic point by latitude and longitude in decimal degrees. A routine is executed that translates the (lon, lat) coordinates into projected Daymet (x,y) Lambert Conformal Coordinates. These coordinates are used to access the Daymet database of daily interpolated surface weather variables. Daily data from the nearest 1 km x 1 km Daymet grid cell are extracted from the database.
If you would like to learn how to automate the download of multiple locations for the Daymet Single Pixel Extraction Tool, click here.