Skip to content

Benefits Intake API

by va.gov

API keyHTTPSOpen Data
Open documentation ↗

Overview

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 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.](https://developer.va.gov/apply) ### 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. ### Validating documents Use the POST `/uploads/validate_document` endpoint to make sure your documents will pass syste

Benefits Intake is an open data API from va.gov. Requests are authenticated with an API key. It is served over HTTPS. Its OpenAPI description documents 6 endpoints.

At a glance

Authentication
API key
HTTPS
Yes
CORS
Unknown
Category
Open Data
Version
1.0.0
Endpoints
6
Spec updated
2023-03-06

Endpoints

MethodPathWhat it does
PUT/pathAccepts document upload.
POST/uploadsGet a location for subsequent document upload PUT request
POST/uploads/reportGet a bulk status report for a list of previous uploads
POST/uploads/validate_documentValidate an individual document against system file requirements
GET/uploads/{id}Get status for a previous benefits document upload
GET/uploads/{id}/downloadDownload zip of "what the server sees"

Questions

Does the Benefits Intake API need an API key?

Yes. The Benefits Intake API uses API key authentication; the documentation explains how to get credentials.

Does the Benefits Intake API support HTTPS?

Yes, the Benefits Intake API is served over HTTPS.

How many endpoints does the Benefits Intake API have?

Its OpenAPI description lists 6 endpoints in version 1.0.0. All of them are shown on this page.

What are alternatives to the Benefits Intake API?

Other Open Data APIs include Search Services, Wayback API, Wikipedia, Nasdaq Data Link, University of Oslo.

Compare alternatives →

Listed from APIs.guru (CC0).