> This page is for APIs, version Calculations.
> For other versions, use one of these documentation indexes:
> - Overview (default): https://avalara.ferndocs.com/api-reference/overview/llms.txt
> - Calculations: https://avalara.ferndocs.com/api-reference/calculations/llms.txt
> - E-invoicing: https://avalara.ferndocs.com/api-reference/e-invoicing/llms.txt
> - Brazil: https://avalara.ferndocs.com/api-reference/brazil/llms.txt
> - Returns: https://avalara.ferndocs.com/api-reference/returns/llms.txt
> - Shared service: https://avalara.ferndocs.com/api-reference/shared-service/llms.txt
> - 1099 & W-9: https://avalara.ferndocs.com/api-reference/1099-w9/llms.txt
> - Tax registrations & business licenses: https://avalara.ferndocs.com/api-reference/tax-registrations/llms.txt
> - ECM: https://avalara.ferndocs.com/api-reference/ecm/llms.txt
> - Cross-Border: https://avalara.ferndocs.com/api-reference/cross-border/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://avalara.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://avalara.ferndocs.com/_mcp/server.

# List Location Questions By Address

GET https://rest.avatax.com/api/v2/definitions/locationquestions

> **Access control:** this endpoint is available to users with the `everyone` role.

Returns the list of additional questions you must answer when declaring a location in certain taxing jurisdictions.
Some tax jurisdictions require that you register or provide additional information to configure each physical place where
your company does business.
This information is not usually required in order to calculate tax correctly, but is almost always required to file your tax correctly.
You can call this API call for any address and obtain information about what questions must be answered in order to properly
file tax in that location.

Reference: https://avalara.ferndocs.com/api-reference/calculations/ava-tax/public-reference/list-location-questions-by-address

## Authentication

- `Authorization` header (required) — API Key authentication via header

## Request

### Query parameters

- `line1` (string, optional) — The first line of this location's address.
- `line2` (string, optional) — The second line of this location's address.
- `line3` (string, optional) — The third line of this location's address.
- `city` (string, optional) — The city part of this location's address.
- `region` (string, optional) — The region, state, or province part of this location's address.
- `postalCode` (string, optional) — The postal code of this location's address.
- `country` (string, optional) — The country part of this location's address.
- `latitude` (double, optional) — Optionally identify the location via latitude/longitude instead of via address.
- `longitude` (double, optional) — Optionally identify the location via latitude/longitude instead of via address.
- `$filter` (string, optional) — A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).
- `$top` (integer, optional) — If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records.
- `$skip` (integer, optional) — If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
- `$orderBy` (string, optional) — A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.

### Headers

- `X-Avalara-Client` (string, optional, default: Swagger UI; 26.7.0; Custom; 1.0) — Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/) .

## Response

### 200

Success

- `@recordsetCount` (integer, optional)
- `value` (list of LocationQuestionModel, optional)
- `@nextLink` (string, optional)
- `pageKey` (string, optional)

## Types

### LocationQuestionModel

Information about questions that the local jurisdictions require for each location

- `id` (integer, required) — The unique ID number of this location setting type
- `question` (string, required) — This is the prompt for this question
- `description` (string, required) — If additional information is available about the location setting, this contains descriptive text to help you identify the correct value to provide in this setting.
- `regularExpression` (string, optional) — If available, this regular expression will verify that the input from the user is in the expected format.
- `exampleValue` (string, optional) — If available, this is an example value that you can demonstrate to the user to show what is expected.
- `jurisdictionName` (string, optional) — Indicates which jurisdiction requires this question
- `jurisdictionType` (enum, optional) — Indicates which type of jurisdiction requires this question
  - Allowed values: `Country`, `State`, `County`, `City`, `Special`
- `jurisdictionCountry` (string, optional) — Indicates the country that this jurisdiction belongs to
- `jurisdictionRegion` (string, optional) — Indicates the state, region, or province that this jurisdiction belongs to
- `helpText` (string, optional) — Help and guidance for this specific question
- `maxLength` (integer, optional) — Maximum length of the answer string
- `required` (boolean, optional) — True if this question must be answered for this filing calendar
- `dataType` (string, optional) — Data type of the answer
- `staticOptions` (string, optional)
- `unique` (boolean, optional)

## Examples

**Response**

```json
{
  "@recordsetCount": 1,
  "value": [
    {
      "id": 1,
      "question": "State Assigned Code",
      "description": "",
      "regularExpression": "string",
      "exampleValue": "string",
      "jurisdictionName": "string",
      "jurisdictionType": "Country",
      "jurisdictionCountry": "string",
      "jurisdictionRegion": "string",
      "helpText": "string",
      "maxLength": 1,
      "required": false,
      "dataType": "string",
      "staticOptions": "string",
      "unique": false
    }
  ],
  "@nextLink": "string",
  "pageKey": "string"
}
```

**SDK Code**

```python
import requests

url = "https://rest.avatax.com/api/v2/definitions/locationquestions"

headers = {"Authorization": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://rest.avatax.com/api/v2/definitions/locationquestions';
const options = {method: 'GET', headers: {Authorization: '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://rest.avatax.com/api/v2/definitions/locationquestions"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://rest.avatax.com/api/v2/definitions/locationquestions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://rest.avatax.com/api/v2/definitions/locationquestions")
  .header("Authorization", "<apiKey>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://rest.avatax.com/api/v2/definitions/locationquestions', [
  'headers' => [
    'Authorization' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://rest.avatax.com/api/v2/definitions/locationquestions");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://rest.avatax.com/api/v2/definitions/locationquestions")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```