Veterans Affairs Legacy Appeals API
The Legacy Appeals API from Veterans Affairs — 2 operation(s) for legacy appeals.
The Legacy Appeals API from Veterans Affairs — 2 operation(s) for legacy appeals.
openapi: 3.0.0
info:
title: Appealable Issues Legacy Appeals API
version: v0
contact:
name: developer.va.gov
description: "The Appealable Issues API lets you retrieve a list of a claimant’s appealable issues and any chains of preceding issues. Appealable issues are issues from claims about which VA has made a decision that may be eligible for appeal. Not all appealable issues are guaranteed to be eligible for appeal; for example, claimants may have another appeal in progress for an issue.\n\nTo check the status of all decision reviews and appeals for a specified individual, use the [Appeals Status API](https://developer.va.gov/explore/api/appeals-status/docs).\n\nTo file an appeal or decision review, use one of these APIs: \n* [Higher-Level Reviews API](https://developer.va.gov/explore/api/higher-level-reviews/docs)\n* [Notice of Disagreements API](https://developer.va.gov/explore/api/notice-of-disagreements/docs)\n* [Supplemental Claims API](https://developer.va.gov/explore/api/supplemental-claims/docs)\n\n## Technical overview\nThe Appealable Issues API pulls data from Caseflow, a case management system. It provides decision review and appeal data that can be used for submitting a Higher Level Review, Notice of Disagreement, or Supplemental Claim.\n\n### Authorization and Access\nThe authentication model for the Appealable Issues API uses OAuth 2.0/OpenID Connect. The following authorization models are supported:\n* [Authorization code flow](https://developer.va.gov/explore/api/appealable-issues/authorization-code)\n* [Client Credentials Grant (CCG)](https://developer.va.gov/explore/api/appealable-issues/client-credentials)\n\n**Important:** To get production access using client credentials grant, 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).\n\n### Test data\n\nOur sandbox environment is populated with [Veteran test data](https://github.com/department-of-veterans-affairs/vets-api-clients/blob/master/test_accounts/appealable_issues_test_accounts.md) that can be used to test various response scenarios. This sandbox data contains no PII or PHI, but mimics real Veteran account information.\n"
servers:
- url: https://sandbox-api.va.gov/services/appeals/appealable-issues/{version}
description: VA.gov API sandbox environment
variables:
version:
default: v0
- url: https://api.va.gov/services/appeals/appealable-issues/{version}
description: VA.gov API production environment
variables:
version:
default: v0
tags:
- name: Legacy Appeals
description: ''
paths:
/legacy_appeals:
get:
summary: Returns eligible appeals in the legacy process for a Veteran.
tags:
- Legacy Appeals
operationId: getLegacyAppeals
security:
- apikey: []
description: Returns eligible legacy appeals for a Veteran. A legacy appeal is eligible if a statement of the case (SOC) or supplemental statement of the case (SSOC) has been declared, and if the date of declaration is within the last 60 days.
parameters:
- in: header
name: X-VA-SSN
required: false
description: 'Either X-VA-SSN or X-VA-File-Number is required. Example X-VA-SSN: 123456789'
example: '706547821'
schema:
$ref: '#/components/schemas/X-VA-SSN'
- in: header
name: X-VA-File-Number
required: false
description: 'Either X-VA-SSN or X-VA-File-Number is required. Example X-VA-File-Number: 123456789'
schema:
$ref: '#/components/schemas/X-VA-File-Number'
- in: header
name: X-VA-ICN
required: false
description: Veteran's ICN
example: 1013062086V794840
schema:
$ref: '#/components/schemas/X-VA-ICN'
responses:
'200':
description: Returns eligible legacy appeals for a Veteran
content:
application/json:
example:
data:
- id: '2760964'
type: legacyAppeal
attributes:
issues:
- summary: Service connection, pancreatitis
veteranFullName: Elda Z Quigley
decisionDate: '2021-05-04T00:00:00.000Z'
latestSocSsocDate: '2021-06-12'
schema:
$ref: '#/components/schemas/legacyAppeals'
'404':
description: Veteran record not found
content:
application/json:
example:
errors:
- status: '404'
code: veteran_not_found
title: Veteran Not Found
schema:
$ref: '#/components/schemas/errorModel'
'422':
description: Header Errors
content:
application/json:
examples:
when X-VA-SSN and X-VA-File-Number are missing:
value:
errors:
- title: Validation error
detail: Validation error
code: '100'
source:
pointer: /
status: '422'
- title: Invalid length
detail: ''''' did not fit within the defined length limits'
code: '142'
source:
pointer: /X-VA-SSN
status: '422'
meta:
max_length: 9
min_length: 9
- title: Invalid pattern
detail: ''''' did not match the defined pattern'
code: '143'
source:
pointer: /X-VA-SSN
status: '422'
meta:
regex: ^[0-9]{9}$
- title: Invalid pattern
detail: ''''' did not match the defined pattern'
code: '143'
source:
pointer: /X-VA-File-Number
status: '422'
meta:
regex: '[^ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]'
- title: Invalid length
detail: ''''' did not fit within the defined length limits'
code: '142'
source:
pointer: /X-VA-File-Number
status: '422'
meta:
max_length: 9
min_length: 1
when SSN formatted incorrectly:
value:
errors:
- title: Invalid length
detail: '''12n-~89'' did not fit within the defined length limits'
code: '142'
source:
pointer: /X-VA-SSN
status: '422'
meta:
max_length: 9
min_length: 9
- title: Invalid pattern
detail: '''12n-~89'' did not match the defined pattern'
code: '143'
source:
pointer: /X-VA-SSN
status: '422'
meta:
regex: ^[0-9]{9}$
when ICN formatted incorrectly:
value:
errors:
- title: Invalid length
detail: '''12345'' did not fit within the defined length limits'
code: '142'
source:
pointer: /X-VA-ICN
status: '422'
meta:
max_length: 17
min_length: 17
- title: Invalid pattern
detail: '''12345'' did not match the defined pattern'
code: '143'
source:
pointer: /X-VA-ICN
status: '422'
meta:
regex: ^[0-9]{10}V[0-9]{6}$
schema:
$ref: '#/components/schemas/errorModel'
'500':
description: Internal Server Error
content:
application/json:
example:
errors:
- title: Internal server error
detail: Internal server error
code: '500'
status: '500'
schema:
$ref: '#/components/schemas/errorModel'
'502':
description: Unknown Error
content:
application/json:
schema:
type: object
properties:
errors:
type: array
items:
properties:
status:
type: string
example: '502'
detail:
type: string
example: Received a 500 response from the upstream server
code:
type: string
example: CASEFLOWSTATUS500
title:
type: string
example: Bad Gateway
/legacy-appeals:
get:
summary: Returns eligible appeals in the legacy process for a Veteran.
tags:
- Legacy Appeals
operationId: getLegacyAppeals
security:
- productionOauth:
- veteran/LegacyAppeals.read
- representative/LegacyAppeals.read
- system/LegacyAppeals.read
- sandboxOauth:
- veteran/LegacyAppeals.read
- representative/LegacyAppeals.read
- system/LegacyAppeals.read
- bearer_token: []
description: Returns eligible legacy appeals for a Veteran. A legacy appeal is eligible if a statement of the case (SOC) or supplemental statement of the case (SSOC) has been declared, and if the date of declaration is within the last 60 days.
parameters:
- name: icn
description: Veteran's Master Person Index (MPI) Integration Control Number (ICN). Optional when using a veteran-scoped token. Required when using a representative- or system-scoped token.
example: 1012832025V743496
schema:
type: string
pattern: ^[0-9]{10}V[0-9]{6}$
minLength: 17
maxLength: 17
in: query
required: false
responses:
'200':
description: Retrieve legacy appeals for the Veteran with the supplied ICN
content:
application/json:
examples:
with a veteran-scoped token (no 'icn' parameter necessary):
value:
data:
- id: '2760964'
type: legacyAppeal
attributes:
issues:
- summary: Service connection, pancreatitis
veteranFullName: Elda Z Quigley
decisionDate: '2021-05-04T00:00:00.000Z'
latestSocSsocDate: '2021-06-12'
with a representative-scoped token ('icn' parameter is necessary):
value:
data:
- id: '2760964'
type: legacyAppeal
attributes:
issues:
- summary: Service connection, pancreatitis
veteranFullName: Elda Z Quigley
decisionDate: '2021-05-04T00:00:00.000Z'
latestSocSsocDate: '2021-06-12'
with a system-scoped token ('icn' parameter is necessary):
value:
data:
- id: '2760964'
type: legacyAppeal
attributes:
issues:
- summary: Service connection, pancreatitis
veteranFullName: Elda Z Quigley
decisionDate: '2021-05-04T00:00:00.000Z'
latestSocSsocDate: '2021-06-12'
schema:
$ref: '#/components/schemas/legacyAppeals'
'400':
description: Missing ICN parameter
content:
application/json:
examples:
with a representative-scoped token and no 'icn' parameter:
value:
errors:
- title: Missing parameter
detail: The 'icn' parameter is required with this request
code: '108'
status: '400'
with a system-scoped token and no 'icn' parameter:
value:
errors:
- title: Missing parameter
detail: The 'icn' parameter is required with this request
code: '108'
status: '400'
schema:
$ref: '#/components/schemas/errorModel'
'403':
description: Access forbidden
content:
application/json:
example:
errors:
- title: Forbidden
detail: 'Invalid ''icn'' parameter: Veterans may access only their own records'
code: '403'
status: '403'
schema:
$ref: '#/components/schemas/errorModel'
'404':
description: Veteran record not found
content:
application/json:
example:
errors:
- title: Resource not found
detail: A matching Veteran was not found in our systems
code: '404'
status: '404'
schema:
$ref: '#/components/schemas/errorModel'
'422':
description: Invalid 'icn' parameter
content:
application/json:
examples:
when ICN is formatted incorrectly:
value:
errors:
- title: Unprocessable Entity
detail: '''icn'' parameter has an invalid format. Pattern: /^[0-9]{10}V[0-9]{6}$/'
code: '422'
status: '422'
schema:
$ref: '#/components/schemas/errorModel'
'500':
description: Internal Server Error
content:
application/json:
example:
errors:
- title: Internal server error
detail: Internal server error
code: '500'
status: '500'
schema:
$ref: '#/components/schemas/errorModel'
'502':
description: Unknown upstream error
content:
application/json:
example:
errors:
- title: Bad Gateway
detail: Received an unusable response from Caseflow
code: '502'
status: '502'
schema:
$ref: '#/components/schemas/errorModel'
components:
schemas:
X-VA-ICN:
description: Veteran's Integration Control Number, a unique identifier established via the Master Person Index (MPI)
type: string
minLength: 17
maxLength: 17
pattern: ^[0-9]{10}V[0-9]{6}$
legacyAppeal:
properties:
type:
type: string
example: legacyAppeal
id:
type: string
description: ID from VACOLS (Veteran Appeals Control and Locator Service)
example: '3085659'
attributes:
type: object
properties:
issues:
type: array
description: Issues on the Appeal.
items:
type: object
properties:
summary:
type: string
description: Summary of a single Issue.
example: Service connection, hearing loss
veteranFullName:
type: string
example: Junior L Fritsch
decisionDate:
type: string
description: Date of the Appeal's original decision.
example: '2018-09-28T00:00:00.000Z'
latestSocSsocDate:
type: string
description: Date of the Appeal's most recent SOC/SSOC (Statement of Case/Supplemental Statement of Case)
example: '2018-12-29T00:00:00.000Z'
errorModel:
required:
- errors
properties:
errors:
type: array
items:
additionalProperties: false
required:
- title
properties:
title:
type: string
description: HTTP error title
detail:
type: string
description: HTTP error detail
code:
type: string
description: HTTP error code
source:
type: object
additionalProperties: false
description: Source of error
properties:
pointer:
type: string
description: Pointer to source of error
parameter:
type: string
description: Invalid request parameter
header:
type: string
description: Invalid header
status:
type: string
description: HTTP error code
meta:
type: object
description: Meta infomation
properties:
missing_fields:
type: array
items:
type: string
description: List of missing fields
X-VA-SSN:
description: social security number
type: string
minLength: 9
maxLength: 9
pattern: ^[0-9]{9}$
legacyAppeals:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/legacyAppeal'
nonBlankString:
type: string
pattern: '[^ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]'
X-VA-File-Number:
allOf:
- description: VA file number (c-file / css)
- maxLength: 9
- $ref: '#/components/schemas/nonBlankString'
securitySchemes:
bearer_token:
type: http
scheme: bearer
bearerFormat: JWT
productionOauth:
type: oauth2
description: 'The authentication model for the Appealable Issues API uses OAuth 2.0/OpenID Connect. The following authorization models are supported: [Authorization code flow](https://developer.va.gov/explore/api/appealable-issues/authorization-code) and [Client Credentials Grant (CCG)](https://developer.va.gov/explore/api/appealable-issues/client-credentials).'
flows:
authorizationCode:
authorizationUrl: https://api.va.gov/oauth2/appeals/v1/authorization
tokenUrl: https://api.va.gov/oauth2/appeals/v1/token
scopes:
veteran/AppealableIssues.read: Appealable issues info
veteran/appeals.read: Appeals info
representative/AppealableIssues.read: Appealable issues info
representative/appeals.read: Appeals info
clientCredentials:
tokenUrl: 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).
scopes:
system/AppealableIssues.read: Appealable issues info
system/appeals.read: Appeals info
sandboxOauth:
type: oauth2
description: 'The authentication model for the Appealable Issues API uses OAuth 2.0/OpenID Connect. The following authorization models are supported: [Authorization code flow](https://developer.va.gov/explore/api/appealable-issues/authorization-code) and [Client Credentials Grant (CCG)](https://developer.va.gov/explore/api/appealable-issues/client-credentials).'
flows:
authorizationCode:
authorizationUrl: https://sandbox-api.va.gov/oauth2/appeals/v1/authorization
tokenUrl: https://sandbox-api.va.gov/oauth2/appeals/v1/token
scopes:
veteran/AppealableIssues.read: Appealable issues info
veteran/appeals.read: Appeals info
representative/AppealableIssues.read: Appealable issues info
representative/appeals.read: Appeals info
clientCredentials:
tokenUrl: https://deptva-eval.okta.com/oauth2/auskff5o6xsoQVngk2p7/v1/token
scopes:
system/AppealableIssues.read: Appealable issues info
system/appeals.read: Appeals info