## Why Create Distance Targeting Geometry?

Occasionally, you may wish to create very specific targeting for a flight using a predetermined distance from a street address. For example, if you want to target a certain locale where ads will be served within a narrow area, you can pinpoint an exact distance for your targeting by creating a distance targeting geometry object using `Latitude`, `Longitude`, and `StreetAddress` body parameters. The Kevel API enables you to create this object, which can then be used in your geo-targeting.

## API Syntax

When using the Create Distance Targeting Geometry API endpoint, it is important to understand the syntax required to make the request. Because the Kevel API is a RESTful API, there is a specific request format that must be followed to ensure the endpoint can process the request. The format is:

`POST https://api.kevel.co/v1/flight/{FlightID}/distance`

Where:

- `POST` \- the type of API request being made.
- `https://api.kevel.co` \- the URL for the request.
- `v1` \- the API version.
- `flight` \- the API endpoint being called.
- `FlightID` \- the ID associated with the flight.
- `distance` \- the distance targeting geometry object that contains the `Distance`, `Latitude`, `Longitude`, and `StreetAddress` body parameters used for distance targeting.

### Parameters

- **FlightID**  
  `int32`
  required
  The ID of the flight

- **Distance**  
  `float`
  The radius of the Distance geometry in kilometers. Min: 0.01, Max: 500. Optional on networks with user-specified radius features enabled; omit for user-specified radius.

- **Latitude**  
  `float`
  The latitude of the Distance point. Saved up to 7 decimal places. Cannot be used with `StreetAddress`.

- **Longitude**  
  `float`
  The longitude of the Distance point. Saved up to 7 decimal places. Cannot be used with `StreetAddress`.

- **StreetAddress**  
  `string`
  The street address of the Distance point. This will be resolved to latitude and longitude. Cannot be used with `Latitude` and `Longitude` params.

### Response Codes

#### 200
```json
{
  "Distance": 0,
  "StreetAddress": "",
  "FlightId": 0,
  "Latitude": 0,
  "Longitude": 0,
  "Id": 0
}
```
#### 400

#### 503

## Using street address

```shell
curl -X POST -H "X-Adzerk-ApiKey:$ADZERK_API_KEY" -H "Content-Type:application/json" https://api.kevel.co/v1/flight/12345/distance --data-binary '{"Distance":42.0,"StreetAddress":"1 Kevel Boulevard, Keveltown NC 27701"}'
```

## Using longitude and latitude

```shell
curl -X POST -H "X-Adzerk-ApiKey:$ADZERK_API_KEY" -H "Content-Type:application/json" https://api.kevel.co/v1/flight/12345/distance --data-binary '{"Distance":42.0,"Latitude":35.9950488,"Longitude":-78.9081815}'
```

```json
{
  "Distance": 42,
  "StreetAddress": "1 Kevel Boulevard, Keveltown NC 27701",
  "FlightId": 12345,
  "Latitude": 35.9950488,
  "Longitude": -78.9081815,
  "Id": 123
}
```
