## Get Geography by Name

### cURL

```
curl --request GET \
  --url https://api.fabric.inc/v3/location-geographies/geography-name/{geographyName} \
  --header 'Authorization: Bearer <token>' \
  --header 'x-fabric-tenant-id: <x-fabric-tenant-id>'
```

### Python

```
import requests

url = "https://api.fabric.inc/v3/location-geographies/geography-name/{geographyName}"

headers = {
    "x-fabric-tenant-id": "<x-fabric-tenant-id>",
    "Authorization": "Bearer <token>"
}

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

print(response.text)
```

### JavaScript (Fetch)

```
const options = {
  method: 'GET',
  headers: {'x-fabric-tenant-id': '<x-fabric-tenant-id>', Authorization: 'Bearer <token>'}
};

fetch('https://api.fabric.inc/v3/location-geographies/geography-name/{geographyName}', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
```

### PHP

```
<?php

$curl = curl_init();

curl_setopt_array($curl, [\
  CURLOPT_URL => "https://api.fabric.inc/v3/location-geographies/geography-name/{geographyName}",\
  CURLOPT_RETURNTRANSFER => true,\
  CURLOPT_ENCODING => "",\
  CURLOPT_MAXREDIRS => 10,\
  CURLOPT_TIMEOUT => 30,\
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\
  CURLOPT_CUSTOMREQUEST => "GET",\
  CURLOPT_HTTPHEADER => [\
    "Authorization: Bearer <token>",\
    "x-fabric-tenant-id: <x-fabric-tenant-id>"\
  ],\
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
?>
```

### Go

```
package main

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

func main() {

url := "https://api.fabric.inc/v3/location-geographies/geography-name/{geographyName}"

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

req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
	req.Header.Add("Authorization", "Bearer <token>")

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

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

fmt.Println(string(body))
}
```

### Unirest (Java)

```
HttpResponse<String> response = Unirest.get("https://api.fabric.inc/v3/location-geographies/geography-name/{geographyName}")
  .header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
  .header("Authorization", "Bearer <token>")
  .asString();
```

### Ruby

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

url = URI("https://api.fabric.inc/v3/location-geographies/geography-name/{geographyName}")

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

request = Net::HTTP::Get.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["Authorization"] = 'Bearer <token>'

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

### Response Codes

- 200
- 400
- 401
- 404
- 500

### Example Response (200)

```json
{
  "version": 2,
  "geographyName": "US_Geo_PostalCode",
  "type": "PostalCode",
  "geographyId": "9372919a8219e8",
  "description": "Specific geography for US Zones",
  "values": ["<string>"],
  "associatedZone": "US_Zone",
  "linkedNetworks": ["<string>"],
  "createdAt": "2022-07-11T15:03:14.642Z",
  "updatedAt": "2022-07-11T15:03:14.642Z",
  "resourceId": "<string>",
  "subResourceId": "<string>"
}
```

### Example Response (400)

```json
{
  "type": "CLIENT_ERROR",
  "errorCode": "SERVICE-4003",
  "message": "Mandatory param(s): `requiredField1` is/are missing",
  "errors": [{
      "type": "CLIENT_ERROR",
      "errorCode": "SERVICE-4002",
      "message": "Invalid value(s) specified for 'requiredField.field3'",
      "errors": []
  }],
  "context": {
    "service": "orders",
    "endpoint": "POST /v3/orders"
  }
}
```

### Example Response (401)

```json
{
  "type": "CLIENT_ERROR",
  "errorCode": "SERVICE-4001",
  "message": "Unauthorized request",
  "errors": [],
  "context": {
    "service": "orders",
    "endpoint": "POST /v3/orders/OrderId_12345"
  }
}
```

### Example Response (404)

```json
{
  "message": "Geography with geographyName: US_ZONE not found"
}
```

### Example Response (500)

```json
{
  "type": "SERVER_ERROR",
  "errorCode": "SERVICE-5000",
  "message": "Internal server error",
  "errors": [],
  "context": {
    "service": "inventories",
    "endpoint": "POST /v3/inventories/actions/find-by-geography"
  }
}
```

### Authorizations

**Authorization**
- Type: `string`
- Location: `header`
- Required: `Yes`
- Description: Bearer authentication header of the form `Bearer <token>`, where `<token>` is your auth token.

### Headers

**x-fabric-tenant-id**
- Type: `string`
- Required: `Yes`
- Description: A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from [Copilot](https://developer.fabric.inc/v3/platform/settings/account-details/getting-the-account-id).

**x-fabric-request-id**
- Type: `string`
- Description: Unique request ID.

**x-fabric-channel-id**
- Type: `string`
- Description: x-fabric-channel-id identifies the sales channel through which the API request is being made; primarily for multichannel use cases. It is an optional field. The default US channel is 12 while the default Canada channel is 13.

### Path Parameters

**geographyName**
- Type: `string`
- Required: `Yes`
- Description: Merchant-specified unique number to identify the geography.
