Note: Our documentation has been updated as of July 28, 2022. Older formats of our API documentation will no longer be supported and may break any existing functionality dependent on this service.
Calling Convention
The ANC REST interface responds to a “Get” or “Post” verb. The structure of the query string has been highly structured. Below is the command line arguments table for parameters required to successfully retrieve a search result set:
start
|
Integer
|
This is the number of the first record to return from the result set. This value is limited from 0 to the number of records in the result set.
|
limit
|
Integer
|
This is the maximum number of records to return at one time. The interface has been designed for paging and is reliable when the limit ranges between 1 and 1,000. Counts greater than 1,000 may exceed memory availability on the server.
|
sortOrder
|
String
|
ASC/DESC ascending or descending, values not in this set will be automatically set to ascending.
|
sortColumn
|
String
|
A comma separated list of column used to sort. The columns are arranged in priority order, i.e. PrimaryLastName, PrimaryFirstName would provide the data set sorted by last name and then first name.
|
method
|
String
|
This should be a valid JavaScript identifier that corresponds to the method on the page for processing the returned information.
|
q
|
String
|
A comma separated list of query parameters.
|
Table 1. Command Line Arguments
- Start and limit - This provides a way to page through a long list of returns. So a query for PrimaryLastName=smith (at the time of writing this document) returns at least 2003 entries. The first page starts at 0. The number of pages would be calculated by dividing 2003 by the limit argument and always rounding up. So for a limit of 20 results on a page the total number of pages would be 101. Page two starts at 20, page 3 starts at 40 and so on until page 101 is accessed by creating a start of 2000 where only 3 records are returned even though the limit would be 20.
- Note: In the above example, if a start of 2020 is requested, the returned result set would be empty.
- SortColumn and sortOrder - The sort column is a comma separated list of columns that appear in the result set. Column names can be discovered in the JSON element returned and an example is found in Appendix A. The ColumnNames can be extracted from the ColumnNames JSON attribute. At this time the sort order applies to all columns.
- Method - This is supplied for the returned JSONP and is demonstrated in Appendix A.
- Q - This is the query itself and is formed by a common expression, ColumnName Operator Value. The column name is the same one used and discovered in the SortColumn above and any column is searchable. For example, if the user wants all interments for any “John Smith”, the q value would be “PrimaryLastName=smith,PrimaryFirstName=john”. This query would return all “John Smiths” interred. With a small change in the operator, the query could be reformatted to “PrimaryLastName=smith,PrimaryFirstName~jo”. This query would return all “Smiths” that have a first name beginning with “jo”, This is the “begins with” operator.
-
Dates - The date format has been selected for easy construction and support a wide range of searching options. The Date format accepts the following arguments:
- _ Underscore represents a wild card in date searching.
- MM is the month and is a two digit value from 01 to 12 and _ . This would find dates that match on Day and Year.
- DD is the Day of the month 01-31 and _ but care must be taken. If a date is presented with a day that does not appear in that month then an exception is generated. If an _ is presented then a date is matched for month and year.
- YYYY is a four-digit representation of a date 2001, 1944, 1918, etc. Years may not be wildcarded with the _ character.
-
The date format is MM:DD:YYYY. Following are some examples:
- _:14:1945returns any 14th day of 1945
- 02:_:1945returns any date in the month of February 1945
- _:_:1945returns any date in the year of 1945
URL Examples
Example 1
The following example would return the first 50 entries for decedents named “Smith” sorted by PrimaryLastName, PrimaryFirstName in an ascending manner.
Example 2
The following example would return all "Smiths" who served in the US Army Branch of Service sorted by name.
Example 3
The following example would return all “Smiths” with a date of death listed in May of 1945.
Appendix A: JSON Sample
Query
Copy and paste the following URL in your browser. This is the query:
The code for the JSON reply appears. (See “A.2 JSON Reply” section for the results.)
Data Dictionary
The following table is the data dictionary of the response object referenced in “JSON Reply”.
CemeteryId
|
Number
|
Unique Id for Cemetery
|
ISS_ID
|
Number
|
Decedent Record Unique Id
|
LOCATIONID
|
String
|
Id for this location made up from Section, Grave, Court, Column and Niche
|
CEMETERYSECTION
|
String
|
Cemetery Section
|
GRAVEROW
|
String
|
Grave Row location identifier in the section, applicable to cemeteries that use
|
GRAVE
|
String
|
Grave location identifier in the section
|
COURT
|
String
|
Columbarium Court identifier
|
COLUMBARIUMSECTION
|
String
|
Columbarium Section identifier
|
COLUMN
|
String
|
The column in the Columbarium
|
NICHE
|
String
|
The Niche located in the column
|
|
PRIMARYFIRSTNAME
|
String
|
Decedents first name
|
PRIMARYMIDDLENAME
|
String
|
Decedents Middle name
|
PRIMARYLASTNAME
|
String
|
Decedents last name
|
SUFFIX
|
String
|
Jr., Sr. I, II …
|
|
|
|
RELATIONSHIP
|
String
|
Relationship to the veteran e.g. "Spouse," "Child"
|
DOB
|
Date*
|
Date of Birth
|
DOD
|
Date*
|
Date of Death
|
DOI
|
Date*
|
Date of Interment
|
BRANCHOFSERVICE
|
String
|
Branch of Service as abbreviations: Army (USA), Navy (USN), Air Force (USAF), etc
|
Rank
|
String
|
Military Rank as abbreviations, e.g. Pvt, CPL, Lt COL, etc
|
*Date as a string formatted MM/DD/YYYY HH24:mm with timezone adjusted local to cemetery's timezone
Table 2. Data Dictionary