openapi: 3.0.1 info: title: Address Validation 5103 Waiver Documents Service API description: "The Address Validation API accepts and validates an address and standardizes it for mailing. It can also help you process an address by:\n* Inferring missing or incorrect address components\n* Supplementing an address with additional information, such as geocode, latitude and longitude, and postal service metadata (when available)\n## Technical Overview\nThe Address Validation API returns validated addresses as they appear in the USPS database for domestic addresses. It validates by separating the address into individual components and then providing component-level validation checks.\n\nThis API is certified by the United States Postal Service (USPS) Coding Accuracy Support System (CASS) and adheres to [United States Postal Service (USPS) Publication 28 standards](https://pe.usps.com/text/pub28/welcome.htm) for domestic, military, and US territory addresses.\n\nFor international addresses, validation relies on Universal Postal Union (UPU) standards. \n\n## Validation\nIf an address is found, it is considered valid based on metadata returned by the Address Validation service, such as the confidence score and the [Delivery Point Validation (DPV)](https://postalpro.usps.com/address-quality/dpv).\n\nIf an address is found, there are multiple checks performed on the validated address. The address can fail validation for a variety of reasons, such as the inability to deliver (for domestic mailing addresses) or the format. For specific reasons why an address failed, refer to the error messages returned.\n\nIf an address is not found, it automatically fails validation.\n\n## Address override indicator\nSometimes an entered address is accurate for a Veteran but does not pass validation rules. These instances can occur when an address is newer than what is in the CASS software or in regions where address data is less accurate.\n\nSystems can accept these addresses despite the lack of address validation by submitting an \"accepted address\" (usually confirmed by the Veteran) to the Contact Information API (see Requirements below). An address is considered accepted after the address has been sent to the validation API and has failed validation, but the Veteran has confirmed the address is correct as entered. The accepted address can then be passed to the Contact Information API using an address override indicator set to show that the validation was overridden. To set an override indicator, the original address and the `overrideValidationKey` returned in the validation API response must be provided to the Contact Information API, in order to prove that a validation attempt has been made before overriding.\n\n## Version Interoperability\n\nTo ensure interoperability between APIs and eliminate the need for transforming data as one API feeds into the other, we strongly recommend using versions of the following APIs that are compatible.\n\n|

If Using

|

Then Use...

|\n| :------------------------------:|:----------------------------------------------:|\n| Address Validation API v1/v2 | Contact Information API v1

Profile Service API v1/v2 |\n| Address Validation API v3 | Contact Information API v2

Profile Service API v3 |\n\n## Authorization\nAPI requests are authorized through a symmetric API token provided in an HTTP header with name apikey.\n\n**Important**: To get production access, you must either work for VA or have specific VA agreements in place. If you have questions, [contact us](https://developer.va.gov/support/contact-us)." license: name: Creative Commons url: https://developer.va.gov/terms-of-service version: '3' servers: - url: https://sandbox-api.va.gov/services/address-validation/{version} description: Sandbox variables: version: default: v3 - url: https://api.va.gov/services/address-validation/{version} description: Production variables: version: default: v3 security: - apikey: [] tags: - name: Documents Service paths: /uploads/status: post: tags: - Documents Service summary: Returns the upload status of multiple disability claim documents. description: " Returns the current processing status of multiple disability\n claims document uploads related to the given list of request IDs.\n" operationId: POST:/uploads/status parameters: - name: includeInternalOnlyStepStatuses in: query required: false schema: type: boolean default: false requestBody: content: application/json: schema: $ref: '#/components/schemas/UploadRequestAsyncProcessingStatusBulkRequestV1' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UploadRequestAsyncProcessingStatusBulkResponseV1' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '413': description: Payload too large content: application/json: schema: type: object properties: message: type: string example: message: Request size limit exceeded '429': description: Too many requests content: application/json: schema: type: object properties: message: type: string example: message: API rate limit exceeded '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '502': description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '504': description: Gateway Timeout content: application/json: schema: type: object properties: message: type: string example: message: The server took too long to respond security: - oauth2: - documents.read /participant/documents/search: post: tags: - Documents Service summary: ' Returns all VBMS document names associated with a participantId. ' description: ' Returns a list of all VBMS document names related to participantId. ' operationId: POST:/participant/documents/search requestBody: content: application/json: schema: $ref: '#/components/schemas/VbmsSearchDocumentsRequestV1' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VbmsSearchDocumentsResponseV1' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '413': description: Payload too large content: application/json: schema: type: object properties: message: type: string example: message: Request size limit exceeded '429': description: Too many requests content: application/json: schema: type: object properties: message: type: string example: message: API rate limit exceeded '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '502': description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '504': description: Gateway Timeout content: application/json: schema: type: object properties: message: type: string example: message: The server took too long to respond security: - oauth2: - documents.read /participant/documents/download: post: tags: - Documents Service summary: Download the document for a participant. description: " Use this endpoint to download the full content of a document (such\n as a PDF). The document must be identified by its unique ID, and associated with\n either a Participant ID or File Number.\n" operationId: POST:/participant/documents/download requestBody: content: application/json: schema: $ref: '#/components/schemas/VbmsDownloadDocumentRequestV1' required: true responses: '200': description: Binary document stream (e.g., PDF). content: application/octet-stream: schema: type: string format: binary '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '413': description: Payload too large content: application/json: schema: type: object properties: message: type: string example: message: Request size limit exceeded '429': description: Too many requests content: application/json: schema: type: object properties: message: type: string example: message: API rate limit exceeded '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '502': description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '504': description: Gateway Timeout content: application/json: schema: type: object properties: message: type: string example: message: The server took too long to respond security: - oauth2: - documents.read /documents: post: tags: - Documents Service summary: Uploads a file to a Veteran's VBMS eFolder. description: "Receives and uploads a file based on the required parameters of systemName, docType,\nfileNumber, participantId, claimId, and fileName. Parameters are described in\nthe schema section for UploadRequestV1.UploadData.\n\n## Example Payload (using File Number)\n\nThe following demonstrates a (redacted) multipart payload, identified by fileNumber,\nsuitable for submitting to this endpoint. Most programming languages should have\nprovisions for assembling a multipart payload like this without having to do so\nmanually.\n\n```\nPOST /benefits-documents/v1/documents HTTP/1.1\nHost: \nUser-Agent: curl/7.75.0\nAccept: */*\nAuthorization: Bearer \nContent-Length: 11871\nContent-Type: multipart/form-data; boundary=------------------------94408bea7cc00a68\n\nContent-Type: application/json\n\n{\n \"data\": {\n \"systemName\":\"VA.gov\",\n \"docType\":\"L533\",\n \"fileNumber\":\"987654321\",\n \"claimId\":\"123\",\n \"fileName\":\"Test-PDF-Valid.pdf\",\n \"trackedItemIds\": [ 456,789 ]\n }\n}\n\n```\n\nIn this curl example, we store the parameters inside JSON file called\nupload-request.p2iO.json:\n\n```\n{\n \"data\": {\n \"systemName\":\"VA.gov\",\n \"docType\":\"L533\",\n \"fileNumber\":\"987654321\",\n \"claimId\":\"123\",\n \"fileName\":\"Test-PDF-Valid.pdf\",\n \"trackedItemIds\": [ 456,789 ]\n }\n}\n\n```\n\nThis is an example curl command:\n\n```\n\ncurl -v '-HAuthorization: Bearer ' -HContent-Type:multipart/form-data --form 'parameters=@upload-request.p2iO.json;type=application/json' --form 'file=@;type=application/pdf' https://sandbox-api.va.gov/services/benefits-documents/v1/documents\n\n```\n\n## Example Payload (using Participant ID)\n\nTo upload using participantId, we'll use the same upload example as above, this time\nproviding a participantId instead of a fileNumber:\n\n```\nPOST /benefits-documents/v1/documents HTTP/1.1\nHost: \nUser-Agent: curl/7.75.0\nAccept: */*\nAuthorization: Bearer \nContent-Length: 11871\nContent-Type: multipart/form-data; boundary=------------------------94408bea7cc00a68\n\nContent-Type: application/json\n\n{\n \"data\": {\n \"systemName\":\"VA.gov\",\n \"docType\":\"L533\",\n \"participantId\":\"123456789\",\n \"claimId\":\"123\",\n \"fileName\":\"Test-PDF-Valid.pdf\",\n \"trackedItemIds\": [ 456,789 ]\n }\n}\n\n```\n\nWe can store the parameters inside a JSON file as in the previous example - this time\nwe'll call it upload-request-participant-id.p2iO.json.\n\nThen, we can execute the same cURL command in the previous example,\nusing the new parameters file:\n\n```\n\ncurl -v '-HAuthorization: Bearer ' -HContent-Type:multipart/form-data --form 'parameters=@upload-request-participant-id.p2iO.json;type=application/json' --form 'file=@;type=application/pdf' https://sandbox-api.va.gov/services/benefits-documents/v1/documents\n\n```\n\n" operationId: POST:/documents requestBody: content: multipart/form-data: schema: type: object properties: parameters: $ref: '#/components/schemas/UploadRequestV1' file: type: string format: binary required: - file - parameters responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UploadResponseV1' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '413': description: Payload too large content: application/json: schema: type: object properties: message: type: string example: message: Request size limit exceeded '429': description: Too many requests content: application/json: schema: type: object properties: message: type: string example: message: API rate limit exceeded '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '502': description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '504': description: Gateway Timeout content: application/json: schema: type: object properties: message: type: string example: message: The server took too long to respond security: - oauth2: - documents.write /documents/validate/claimant: post: tags: - Documents Service summary: Validates that the claimant can upload a file to a Veteran's VBMS eFolder. description: 'Determines whether a claimant, identified by either a fileNumber or participantId, can upload documents of the given docType for the claim identified by the provided claimId. If the claimant is successfully validated, a validation token and token expiration time are provided. The token can be used to avoid duplicate validation for an upload using identical parameters. Note that while a successful response indicates the pairing of claimant, document, and claim information is valid, it does not guarantee success of the operation itself. ' operationId: POST:/documents/validate/claimant requestBody: content: application/json: schema: $ref: '#/components/schemas/ValidateUploadClaimantRequestV1' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ClaimantValidationResponseV1' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '413': description: Payload too large content: application/json: schema: type: object properties: message: type: string example: message: Request size limit exceeded '429': description: Too many requests content: application/json: schema: type: object properties: message: type: string example: message: API rate limit exceeded '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '502': description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '504': description: Gateway Timeout content: application/json: schema: type: object properties: message: type: string example: message: The server took too long to respond security: - oauth2: - documents.read /documents/search: post: tags: - Documents Service summary: " Returns all claims evidence document names associated with a participantId\n or fileNumber.\n" description: " Returns a list of all claims evidence document names related to the\n claim identified by the claimId, fileNumber, or participantId.\n" operationId: POST:/documents/search requestBody: content: application/json: schema: $ref: '#/components/schemas/ClaimDocumentsRequestV1' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ClaimDocumentsResponseV1' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '413': description: Payload too large content: application/json: schema: type: object properties: message: type: string example: message: Request size limit exceeded '429': description: Too many requests content: application/json: schema: type: object properties: message: type: string example: message: API rate limit exceeded '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '502': description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '504': description: Gateway Timeout content: application/json: schema: type: object properties: message: type: string example: message: The server took too long to respond security: - oauth2: - documents.read /claim-letters/search: post: tags: - Documents Service summary: " Returns a list of downloadable Claims Evidence claim letter documents, along with\n their associated metadata, linked to a Participant ID or File Number.\n" description: " Returns a list of downloadable Claims Evidence claim letter documents associated\n with the provided Participant ID or File Number. Each document entry includes\n metadata such as the document UUID, type, subject, original file name, tracked\n item ID, and upload date.\n" operationId: POST:/claim-letters/search requestBody: content: application/json: schema: $ref: '#/components/schemas/FindClaimLetterDocumentsRequestV1' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FindClaimLetterDocumentsResponseV1' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '413': description: Payload too large content: application/json: schema: type: object properties: message: type: string example: message: Request size limit exceeded '429': description: Too many requests content: application/json: schema: type: object properties: message: type: string example: message: API rate limit exceeded '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '502': description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '504': description: Gateway Timeout content: application/json: schema: type: object properties: message: type: string example: message: The server took too long to respond security: - oauth2: - documents.read /claim-letters/download: post: tags: - Documents Service summary: Download the full claim letter document for a claimant. description: " Use this endpoint to download the full content of a claim letter document (such\n as a PDF). The document must be identified by its unique ID, and associated with\n either a Participant ID or File Number. Note: Only some document types are\n available for download.\n" operationId: POST:/claim-letters/download requestBody: content: application/json: schema: $ref: '#/components/schemas/DownloadClaimLetterDocumentRequestV1' required: true responses: '200': description: Binary document stream (e.g., PDF). content: application/octet-stream: schema: type: string format: binary '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '413': description: Payload too large content: application/json: schema: type: object properties: message: type: string example: message: Request size limit exceeded '429': description: Too many requests content: application/json: schema: type: object properties: message: type: string example: message: API rate limit exceeded '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '502': description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '504': description: Gateway Timeout content: application/json: schema: type: object properties: message: type: string example: message: The server took too long to respond security: - oauth2: - documents.read /uploads/{requestId}/status: get: tags: - Documents Service summary: Returns the processing status of a single disability claim document upload. description: " Returns the current processing status of a disability claims document upload\n related to the given requestId.\n" operationId: GET:/uploads/{requestId}/status parameters: - name: requestId in: path required: true schema: type: integer format: int64 - name: includeInternalOnlyStepStatuses in: query required: false schema: type: boolean default: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UploadRequestAsyncProcessingStatusResponseV1' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '413': description: Payload too large content: application/json: schema: type: object properties: message: type: string example: message: Request size limit exceeded '429': description: Too many requests content: application/json: schema: type: object properties: message: type: string example: message: API rate limit exceeded '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '502': description: Bad Gateway content: application/json: schema: $ref: '#/components/schemas/BasicErrorDocumentV1' '504': description: Gateway Timeout content: application/json: schema: type: object properties: message: type: string example: message: The server took too long to respond security: - oauth2: - documents.read components: schemas: VbmsDownloadDocumentRequestV1.DocumentInfo: type: object properties: fileNumber: type: string description: "The Veteran's VBMS fileNumber used when uploading the document to VBMS.\n It indicates the eFolder in which the document resides.\n" example: '999012105' participantId: type: integer format: int64 description: 'A unique identifier assigned to each patient entry in the Master Patient Index linking patients to their records across VA systems. ' example: 999012105 documentUuid: type: string description: 'The document''s unique identifier in VBMS, obtained by making a Document Service API request to search for documents that are available to download for the Veteran. Note that this differs from the document''s current version UUID. ' example: 12345678-ABCD-0123-cdef-124345679ABC required: - documentUuid UploadResponseV1.UploadInfo: type: object properties: success: type: boolean description: Indicates if the upload request was successful. example: true requestId: type: integer format: int64 description: The upload request identifier. example: 12345678 maximum: 9223372036854776000 required: - requestId - success ValidateUploadClaimantRequestV1: type: object properties: data: $ref: '#/components/schemas/ValidateUploadClaimantRequestV1.ValidateUploadData' ClaimantValidationResponseV1: type: object properties: data: $ref: '#/components/schemas/ClaimantValidationResponseV1.ValidationResult' required: - data BasicErrorDocumentV1: type: object description: An error response in JSON:API format (see https://jsonapi.org/format/#document-structure). properties: errors: type: array description: The list of errors returned from the attempted operation. items: $ref: '#/components/schemas/BasicErrorV1' required: - errors VbmsDownloadDocumentRequestV1: type: object properties: data: $ref: '#/components/schemas/VbmsDownloadDocumentRequestV1.DocumentInfo' required: - data VbmsSearchDocumentsRequestV1: type: object properties: data: $ref: '#/components/schemas/VbmsDocumentsIdentifier' pagination: $ref: '#/components/schemas/Pagination' ClaimDocumentV1: type: object properties: documentId: type: string example: '{12345678-ABCD-0123-cdef-124345679ABC}' documentUuid: type: string description: 'The document''s unique identifier in VBMS. Note that this differs from the document''s current version UUID. ' example: 12345678-ABCD-0123-cdef-124345679ABC currentVersionUuid: type: string description: This value is obtained from the currentVersionUuid field from BIP Claims Evidence. example: '{12345678-ABCD-0123-cdef-124345679ABC}' originalFileName: type: string example: SupportingDocument.pdf documentTypeLabel: type: string example: VA 21-526 Veterans Application for Compensation or Pension trackedItemId: type: integer format: int64 example: 600000001 uploadedDateTime: type: string format: date-time example: '2016-02-04T17:51:56Z' required: - currentVersionUuid - documentId - documentTypeLabel - documentUuid - originalFileName - uploadedDateTime UploadRequestV1: type: object properties: data: $ref: '#/components/schemas/UploadRequestV1.UploadData' required: - data UploadRequestAsyncProcessingStatusV1: type: object description: The asynchronous processing workflow status of a single upload request. properties: requestId: type: integer format: int64 description: The requestId of the upload request. example: 600000001 time: $ref: '#/components/schemas/UploadRequestAsyncProcessingStatusV1.WorkflowTime' status: type: string description: 'The current execution status of the workflow: * `IN_PROGRESS`: the workflow is currently executing. * `SUCCESS`: the workflow has completed all steps successfully. * `FAILED`: the workflow could not complete because a step encountered a non-recoverable error. ' enum: - IN_PROGRESS - SUCCESS - FAILED steps: type: array description: The list of workflow steps that process the document upload, ordered by their sequence. items: $ref: '#/components/schemas/UploadRequestAsyncProcessingStatusV1.Step' error: $ref: '#/components/schemas/UploadRequestAsyncProcessingStatusV1.WorkflowError' required: - requestId - status - steps - time ClaimantValidationResponseV1.ValidationResult: type: object properties: valid: type: boolean description: Whether the claimant was validated successfully. success: $ref: '#/components/schemas/ClaimantValidationResponseV1.ValidationSuccess' description: The validation result, populated in the case of successful validation. error: $ref: '#/components/schemas/ClaimantValidationResponseV1.ValidationError' description: The validation error, populated in the case of failed validation. required: - valid VbmsDocumentV1: type: object properties: docTypeId: type: integer format: int32 example: 137 subject: type: string example: File contains evidence related to the claim documentUuid: type: string description: 'This value is obtained from the uuid field from BIP Claims Evidence. It is the same value as the documentId field reported by the /documents/search endpoint.' example: '{12345678-ABCD-0123-cdef-124345679ABC}' currentVersionUuid: type: string description: This value is obtained from the currentVersionUuid field from BIP Claims Evidence. example: '{12345678-ABCD-0123-cdef-124345679ABC}' originalFileName: type: string example: SupportingDocument.pdf documentTypeLabel: type: string example: VA 21-526 Veterans Application for Compensation or Pension uploadedDateTime: type: string format: date-time example: '2016-02-04T17:51:56Z' receivedAt: type: string example: '2016-02-04' FindClaimLetterDocumentsRequestV1: type: object properties: data: $ref: '#/components/schemas/FindClaimLetterDocumentsRequestV1.FindClaimLetterDocumentsData' required: - data DownloadClaimLetterDocumentRequestV1.ClaimLetterDocumentInfo: type: object properties: fileNumber: type: string description: "The Veteran's VBMS fileNumber used when uploading the document to VBMS.\n It indicates the eFolder in which the document resides.\n" example: '999012105' participantId: type: integer format: int64 description: 'A unique identifier assigned to each patient entry in the Master Patient Index linking patients to their records across VA systems. ' example: 999012105 documentUuid: type: string description: 'The document''s unique identifier in VBMS, obtained by making a Document Service API request to search for documents that are available to download for the Veteran. Note that this differs from the document''s current version UUID. ' example: 12345678-ABCD-0123-cdef-124345679ABC required: - documentUuid ClaimDocumentsResponseV1.Documents: type: object properties: documents: type: array description: 'The list of benefits claim documents. ' items: $ref: '#/components/schemas/ClaimDocumentV1' ClaimLetterDocumentV1: type: object properties: docTypeId: type: integer format: int32 description: The numeric type code of the document. example: 184 subject: type: string description: The document subject. documentUuid: type: string description: 'The document''s unique identifier in VBMS. Note that this differs from the document''s current version UUID. ' example: 12345678-ABCD-0123-cdef-124345679ABC currentVersionUuid: type: string description: 'This value is obtained from the currentVersionUuid field from BIP Claims Evidence. ' example: '{12345678-ABCD-0123-cdef-124345679ABC}' originalFileName: type: string example: SupportingDocument.pdf documentTypeLabel: type: string example: VA 21-526 Veterans Application for Compensation or Pension trackedItemId: type: integer format: int64 example: 600000001 uploadedDateTime: type: string format: date-time example: '2016-02-04T17:51:56Z' receivedAt: type: string example: '2016-02-04' required: - currentVersionUuid - docTypeId - documentTypeLabel - documentUuid - originalFileName - subject - uploadedDateTime VbmsSearchDocumentsResponseV1.Documents: type: object properties: documents: type: array description: 'The list of VBMS documents. ' items: $ref: '#/components/schemas/VbmsDocumentV1' Pagination: type: object properties: pageNumber: type: integer format: int32 description: 1-based page number to retrieve. Defaults to 1. example: 1 pageSize: type: integer format: int32 description: Number of results per page (1–100). Defaults to 100. example: 25 ClaimDocumentsResponseV1: type: object properties: data: $ref: '#/components/schemas/ClaimDocumentsResponseV1.Documents' required: - data FindClaimLetterDocumentsRequestV1.FindClaimLetterDocumentsData: type: object properties: docTypeIds: type: array description: 'The numeric document types to search for. If not provided, then all downloadable claim letter documents matching the other request criteria will be returned. ' example: - 27 - 34 - 184 - 408 - 700 - 704 - 706 - 858 - 859 - 864 - 942 - 1605 items: type: integer format: int32 fileNumber: type: string description: "The Veteran's VBMS fileNumber used when uploading the document to VBMS.\n It indicates the eFolder in which the document resides.\n" example: '999012105' participantId: type: integer format: int64 description: 'A unique identifier assigned to each patient entry in the Master Patient Index linking patients to their records across VA systems. ' example: 999012105 UploadRequestAsyncProcessingStatusV1.WorkflowTime: type: object description: Workflow timing information. properties: startTime: type: integer format: int64 description: The time, in milliseconds since epoch, that the workflow began executing. example: 1502199000 endTime: type: integer format: int64 description: 'The time, in milliseconds since epoch, that the workflow finished executing. In the case of a currently executing workflow, this will be null. ' example: 1502199000 ValidateUploadClaimantRequestV1.ValidateUploadData: type: object properties: docType: type: string description: Indicates the L code of the type of document upload being validated. example: L122 fileNumber: type: string description: "The Veteran's VBMS fileNumber used when uploading the document to VBMS.\n It indicates the eFolder in which the document resides.\n" example: '999012105' participantId: type: integer format: int64 description: 'A unique identifier assigned to each patient entry in the Master Patient Index linking patients to their records across VA systems. ' example: 999012105 claimId: type: integer format: int64 description: 'The VBMS-issued claim identifier with which the document upload being validated is associated. ' example: 1234 maximum: 9223372036854776000 minimum: 1 required: - docType ClaimantValidationResponseV1.ValidationError: type: object properties: message: type: string description: The validation error message. required: - message BasicErrorV1: type: object description: API invocation or processing error properties: detail: type: string description: A human-readable explanation specific to this occurrence of the problem. example: Code must match "^[A-Z]{2}$" status: type: integer format: int32 description: The HTTP status code generated by the origin server for this occurrence of the problem. example: 400 type: type: string description: A URI reference that identifies the problem type. example: https://example.net/validation-error title: type: string description: A short, human-readable summary of the problem type. example: Invalid field value instance: type: string description: A URI reference that identifies the specific occurrence of the problem. example: e6d1119e-dc91-4b4d-b583-0f309de0807b diagnostics: type: string description: Diagnostic information that can be submitted with a support request to aid with diagnosing and solving issues. example: e6d1119edc914b4db5830f309de0807b ClaimantValidationResponseV1.ValidationSuccess: type: object properties: validationToken: type: string description: The validation token. validUntil: type: integer format: int64 description: The time, in milliseconds since epoch, that the token expires. required: - validUntil - validationToken ClaimDocumentsRequestV1: type: object properties: data: $ref: '#/components/schemas/ClaimDocumentsRequestV1.ClaimDocuments' required: - data UploadRequestAsyncProcessingStatusBulkResponseV1: type: object properties: data: $ref: '#/components/schemas/UploadRequestAsyncProcessingStatusBulkResponseV1.UploadRequestStatuses' required: - data UploadRequestAsyncProcessingStatusResponseV1: type: object properties: data: $ref: '#/components/schemas/UploadRequestAsyncProcessingStatusV1' required: - data UploadRequestAsyncProcessingStatusV1.Step: type: object description: The description of a single workflow step. properties: name: type: string description: 'The workflow step name: * `CLAIMS_EVIDENCE`: the workflow step that uploads the document to Claims Evidence. * `BENEFITS_GATEWAY_SERVICE`: the workflow step that uploads the document to Benefits Gateway Service. * `REMOVE_FILE_BINARY`: the workflow step that removes file binary Gateway Service. ' enum: - REMOVE_FILE_BINARY - BENEFITS_GATEWAY_SERVICE - CLAIMS_EVIDENCE nextStepName: type: string description: 'The workflow step name: * `CLAIMS_EVIDENCE`: the workflow step that uploads the document to Claims Evidence. * `BENEFITS_GATEWAY_SERVICE`: the workflow step that uploads the document to Benefits Gateway Service. * `REMOVE_FILE_BINARY`: the workflow step that removes file binary Gateway Service. ' enum: - REMOVE_FILE_BINARY - BENEFITS_GATEWAY_SERVICE - CLAIMS_EVIDENCE description: type: string description: A short description of the workflow step status: type: string description: 'The current execution status of the workflow step: * `NOT_STARTED`: the workflow step is not yet executing and awaiting completion of the previous step. * `IN_PROGRESS`: the workflow step is currently executing. * `SUCCESS`: the workflow step has completed successfully. * `FAILED`: the workflow step encountered a non-recoverable error. ' enum: - NOT_STARTED - IN_PROGRESS - SUCCESS - FAILED FindClaimLetterDocumentsResponseV1: type: object properties: data: $ref: '#/components/schemas/FindClaimLetterDocumentsResponseV1.ClaimLetterDocuments' required: - data UploadRequestAsyncProcessingStatusV1.WorkflowError: type: object description: Workflow error information. properties: detail: type: string description: A human-readable summary of the error. step: type: string description: 'The workflow step name: * `CLAIMS_EVIDENCE`: the workflow step that uploads the document to Claims Evidence. * `BENEFITS_GATEWAY_SERVICE`: the workflow step that uploads the document to Benefits Gateway Service. * `REMOVE_FILE_BINARY`: the workflow step that removes file binary Gateway Service. ' enum: - REMOVE_FILE_BINARY - BENEFITS_GATEWAY_SERVICE - CLAIMS_EVIDENCE UploadResponseV1: type: object properties: data: $ref: '#/components/schemas/UploadResponseV1.UploadInfo' required: - data UploadRequestAsyncProcessingStatusBulkResponseV1.UploadRequestStatuses: type: object properties: statuses: type: array items: $ref: '#/components/schemas/UploadRequestAsyncProcessingStatusV1' requestIdsNotFound: type: array description: 'A list populated with requestIds whose status was not found. ' items: type: integer format: int64 required: - requestIdsNotFound UploadRequestV1.UploadData: type: object properties: trackedItemIds: type: array description: 'A list of tracked item IDs that are associated with the document being uploaded. ' example: - 1 - 2 - 3 items: type: integer format: int64 systemName: type: string description: Indicates which system is uploading the document. example: va.gov docType: type: string description: Indicates the L code of the type of document being uploaded. example: L122 fileNumber: type: string description: "The Veteran's VBMS fileNumber used when uploading the document to VBMS.\n It indicates the eFolder in which the document resides.\n" example: '999012105' participantId: type: integer format: int64 description: 'A unique identifier assigned to each patient entry in the Master Patient Index linking patients to their records across VA systems. ' example: 999012105 claimId: type: integer format: int64 description: The VBMS-issued claim identifier with which the document is associated. example: 1234 maximum: 9223372036854776000 minimum: 1 fileName: type: string description: The name of the file being uploaded. example: Document.pdf maxLength: 256 validationToken: type: string description: 'An optional validation token obtained during request claimant pre-validation, that bypasses duplicate validation calls. For more information, review the section on request pre-validation. ' maxLength: 64 required: - claimId - docType - fileName - systemName UploadRequestAsyncProcessingStatusBulkRequestV1.UploadRequestIds: type: object properties: requestIds: type: array description: The list of requestIds that identify upload requests to retrieve status for. items: type: integer format: int64 required: - requestIds VbmsSearchDocumentsResponseV1: type: object properties: data: $ref: '#/components/schemas/VbmsSearchDocumentsResponseV1.Documents' pagination: $ref: '#/components/schemas/Pagination' required: - data DownloadClaimLetterDocumentRequestV1: type: object properties: data: $ref: '#/components/schemas/DownloadClaimLetterDocumentRequestV1.ClaimLetterDocumentInfo' required: - data UploadRequestAsyncProcessingStatusBulkRequestV1: type: object description: Requests the asynchronous processing status of more than one document upload request. properties: data: $ref: '#/components/schemas/UploadRequestAsyncProcessingStatusBulkRequestV1.UploadRequestIds' required: - data FindClaimLetterDocumentsResponseV1.ClaimLetterDocuments: type: object properties: documents: type: array description: 'The list of claim letter documents available for download. ' items: $ref: '#/components/schemas/ClaimLetterDocumentV1' ClaimDocumentsRequestV1.ClaimDocuments: type: object properties: claimId: type: integer format: int64 description: The VBMS-issued claim identifier with which the document is associated. example: 1234 maximum: 9223372036854776000 minimum: 1 fileNumber: type: string description: "The Veteran's VBMS fileNumber used when uploading the document to VBMS.\n It indicates the eFolder in which the document resides.\n" example: '999012105' participantId: type: integer format: int64 description: 'A unique identifier assigned to each patient entry in the Master Patient Index linking patients to their records across VA systems. ' example: 999012105 required: - claimId VbmsDocumentsIdentifier: type: object properties: participantId: type: integer format: int64 description: 'A unique identifier assigned to each patient entry in the Master Patient Index linking patients to their records across VA systems. ' example: 999012105 securitySchemes: apikey: type: apiKey name: apikey in: header