<commit_before># Address Point API Spec

## Purpose
This document describes the Address Point Geocoding API, serving as a specification or "contract" for other users of this service.
In particular, it describes the endpoints that this service exposes, as well as the structure and format of the data that is exchanged when using this service.

### Protocols and data formats
The Address Point Geocoding Service exposes data through HTTP, accepting and returing data in JSON format. 
In particular, all requests need to specify their content type as appropriate:

```
Content-Type: application/json
```

Requests that don't specify their content type will be rejected

### API Endpoints

**1. Status**

`GET  /status`

Returns a message with current status and date

```json
{
    "status": "OK",
    "time": "Wed Feb 18 10:30:55 EST 2015"
}
```

**2. Single Point Geocode**

`GET  /addresses/points?search=<address>` where <address> is the search string to return

`GET /address/point?search=16410+N+AR+94+Hwy+Pea+Ridge+72751+AR`


`POST /addresses/points`

Payload: JSON object with the following structure:

* address: Address to geocode (String)

Example:

```json
{
  "address": "16410 N AR 94 Hwy Pea Ridge 72751 AR"
}
```

Return: GeoJSON object that includes the point that resulted from geocoding, as well as other attributes including the address that was found as well as alternate address (if available).

```json
{
    "type": "Feature",<commit_msg>Change date to ISO8601 (refs #23)<commit_after># Address Point API Spec

## Purpose
This document describes the Address Point Geocoding API, serving as a specification or "contract" for other users of this service.
In particular, it describes the endpoints that this service exposes, as well as the structure and format of the data that is exchanged when using this service.

### Protocols and data formats
The Address Point Geocoding Service exposes data through HTTP, accepting and returing data in JSON format. 
In particular, all requests need to specify their content type as appropriate:

```
Content-Type: application/json
```

Requests that don't specify their content type will be rejected

### API Endpoints

**1. Status**

`GET  /status`

Returns a message with current status and date

```json
{
    "status": "OK",
    "time": "2015-02-18T04:57:56Z"
}
```

**2. Single Point Geocode**

`GET  /addresses/points?search=<address>` where <address> is the search string to return

`GET /address/point?search=16410+N+AR+94+Hwy+Pea+Ridge+72751+AR`


`POST /addresses/points`

Payload: JSON object with the following structure:

* address: Address to geocode (String)

Example:

```json
{
  "address": "16410 N AR 94 Hwy Pea Ridge 72751 AR"
}
```

Return: GeoJSON object that includes the point that resulted from geocoding, as well as other attributes including the address that was found as well as alternate address (if available).

```json
{
    "type": "Feature",
{'fraction_non_alphanumeric': 0.09032038173142468, 'fraction_numerical': 0.028629856850715747, 'mean_word_length': 4.633397312859885, 'pattern_counts': {'":': 8, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1034691', 'n_tokens_mistral': 911, 'n_tokens_neox': 821, 'n_words': 389}