> This page is for Developer.

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

# Bulk Create Addresses

POST https://api-b2b.bigcommerce.com/api/v3/io/addresses/bulk
Content-Type: application/json

Creates multiple addresses for **up to 10** addresses at a time. You can create addresses for different Company accounts in a single request by entering a different `companyid` value for each address object.

See [Create a Company Address](#create-a-company-address) for considerations related to creating one or more addresses.

Reference: https://docs.bigcommerce.com/developer/api-reference/rest/b2b/management/addresses/post-addresses

## Authentication

- `X-Auth-Token` header (required) — | Header | Argument | Description | |:-------|:---------|:------------| | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts). | For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/developer/docs/overview/api-fundamentals/api-accounts#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
- `X-Store-Hash` header (required) — | Header | Argument | Description | |:-------|:---------|:------------| | `X-Store-Hash` | `store_hash` | The unique store hash associated with a BigCommerce store that has B2B Edition enabled. |

## Request

### Body (application/json)

This endpoint expects an object.

- `firstName` (string, required) — The first name on the address.
- `lastName` (string, required) — The last name on the address.
- `addressLine1` (string, required) — The first line of the address.
- `city` (string, required) — The city on the address.
- `stateName` (string, required) — The full name of the state or province on the address. This must correspond to `stateCode` in the request if the state or province is [required for the country](#get-a-state).
- `countryName` (string, required) — The full name of the country on the address. Use [Get a Country](#get-a-country) to retrieve valid country names.
- `companyId` (integer, required) — The unique numeric ID of the Company account.
- `phoneNumber` (string, optional) — The phone number on the address.
- `zipCode` (string, optional) — The postal code on the address.
- `addressLine2` (string, optional) — The second line of the address.
- `stateCode` (string, optional) — The two-letter ISO code for the state or province on the address. Omit this field when adding state or province information for an [unsupported country](#get-a-state).
- `countryCode` (string, optional) — The two-letter ISO code for the country on the address. Use [Get a Country](#get-a-country) to retrieve valid country codes.
- `isBilling` (boolean, optional) — Indicates whether the address is a billing address.
- `isShipping` (boolean, optional) — Indicates whether the address is a shipping address.
- `isDefaultBilling` (boolean, optional) — Indicates whether the address is the default billing address.
- `isDefaultShipping` (boolean, optional) — Indicates whether the address is the default shipping address.
- `label` (string, optional) — The label used on the storefront to identify the address.
- `externalId` (string, optional) — An external ID assigned to the address in a third-party system, such as an ERP.
- `extraFields` (list of AddressesBulkPostRequestBodyContentApplicationJsonSchemaExtraFieldsItems, optional) — Enter extra field information for the address.

## Response

### 200

OK

- `data` (addressFields_GET, required)
- `code` (integer, optional, default: 200) — HTTP Response Code
- `meta` (meta_full, optional)

## Errors

### 413 Content Too Large Error

This occurs if you include more than 10 address objects in the request body. To create more than 10 addresses, split your requests into batches.

- `code` (double, required, default: 413)
- `data` (AddressesBulkPostResponsesContentApplicationJsonSchemaData, required)
- `meta` (AddressesBulkPostResponsesContentApplicationJsonSchemaMeta, required)

### 422 Unprocessable Entity Error

This error occurs if you exclude a required field. See the error message in the response to identify the required field. The response body presents error messages for each address in an array with the same sort order as the addresses in the request body.

- `code` (double, required)
- `data` (AddressesBulkPostResponsesContentApplicationJsonSchemaData, required)
- `meta` (AddressesBulkPostResponsesContentApplicationJsonSchemaMeta, required)

## Types

### AddressesBulkPostRequestBodyContentApplicationJsonSchemaExtraFieldsItems

- `fieldName` (string, optional) — The name of the address extra field.
- `fieldValue` (string, optional) — The value assigned to the address extra field.

### addressFields_GET

- `addressId` (integer, optional) — The unique numeric identifier of the Company address.
- `firstName` (string, optional) — The first name on the address.
- `lastName` (string, optional) — The last name on the address.
- `phoneNumber` (string, optional) — The phone number on the address.
- `zipCode` (string, optional) — The postal code on the address.
- `addressLine1` (string, optional) — The first line of the address.
- `addressLine2` (string, optional) — The second line of the address.
- `city` (string, optional) — The city on the address.
- `stateName` (string, optional) — The full name of the state or province on the address.
- `countryName` (string, optional) — The full name of the country on the address.
- `stateCode` (string, optional) — The two-letter ISO code for the state or province on the address.
- `countryCode` (string, optional) — The two-letter ISO code for the country on the address.
- `companyId` (integer, optional) — The unique numeric ID of the Company account.
- `isBilling` (boolean, optional) — Indicates whether the address is a billing address.
- `isShipping` (boolean, optional) — Indicates whether the address is a shipping address.
- `isDefaultBilling` (boolean, optional) — Indicates whether the address is the default billing address.
- `isDefaultShipping` (boolean, optional) — Indicates whether the address is the default shipping address.
- `label` (string, optional) — The label used on the storefront to identify the address.
- `externalId` (string, optional) — An external ID assigned to the address in a third-party system, such as an ERP.
- `createdAt` (integer, optional) — The [Unix timestamp](https://www.unixtimestamp.com/) indicating when the address was created.
- `updatedAt` (integer, optional) — The [Unix timestamp](https://www.unixtimestamp.com/) indicating when the address was last updated.
- `extraFields` (list of extraFields_BASIC, optional) — Contains extra field information for the address.

### meta_full

- `pagination` (MetaFullPagination, optional)
- `message` (string, optional, default: SUCCESS)

### AddressesBulkPostResponsesContentApplicationJsonSchemaData

- `errMsg` (AddressesBulkPostResponsesContentApplicationJsonSchemaDataErrMsg, optional) — Lists the required fields that were missing from the request.

### AddressesBulkPostResponsesContentApplicationJsonSchemaMeta

- `message` (string, required)

### extraFields_BASIC

- `fieldName` (string, optional) — The name of the address extra field.
- `fieldValue` (string, optional) — The value assigned to the address extra field.
- `fieldType` (enum, optional) — The type of data that can be added as the extra field's value. This field uses numeric values to represent the data type, as follows: - 0 - Text - 1 - Multi-line text - 2 - Number - 3 - dropdown
  - Allowed values: `0`, `1`, `2`, `3`

### MetaFullPagination

- `totalCount` (integer, optional) — The total number of records available.
- `limit` (integer, optional) — The number of records returned per page.
- `offset` (integer, optional) — The number of records skipped before returning the first record.

### AddressesBulkPostResponsesContentApplicationJsonSchemaDataErrMsg

Lists the required fields that were missing from the request.

## Examples

**Request**

```json
{
  "0": {
    "addressLine1": "512 Bluebonnet Lane",
    "addressline2": "Building 1",
    "city": "Austin",
    "companyId": 123456,
    "countryCode": "US",
    "countryName": "United States",
    "externalId": "123456",
    "extraFields": {
      "fieldName": "Tax Provider Tax Code",
      "fieldValue": "G"
    },
    "firstName": "Marie",
    "isBilling": false,
    "isDefaultBilling": false,
    "isDefaultShipping": false,
    "isShipping": true,
    "label": "Austin Warehouse",
    "lastName": "Curie",
    "phoneNumber": "512-200-1234",
    "stateCode": "TX",
    "stateName": "Texas",
    "zipCode": "78704"
  },
  "1": {
    "addressLine1": "737 Lone Star Road",
    "addressline2": "Suite 200",
    "city": "Austin",
    "companyId": 123456,
    "countryCode": "US",
    "countryName": "United States",
    "externalId": "123456",
    "extraFields": {
      "fieldName": "Tax Provider Tax Code",
      "fieldValue": "G"
    },
    "firstName": "Isaac",
    "isBilling": true,
    "isDefaultBilling": false,
    "isDefaultShipping": false,
    "isShipping": false,
    "label": "Austin HQ",
    "lastName": "Newton",
    "phoneNumber": "512-100-1000",
    "stateCode": "TX",
    "stateName": "Texas",
    "zipCode": "78726"
  },
  "firstName": "Marie",
  "lastName": "Curie",
  "addressLine1": "512 Bluebonnet Lane",
  "city": "Austin",
  "stateName": "Texas",
  "countryName": "United States",
  "companyId": 123456
}
```

**Response**

```json
{
  "data": {
    "0": {
      "addressId": 123456,
      "addressLine1": "512 Bluebonnet Lane",
      "addressline2": "Building 1",
      "city": "Austin",
      "companyId": 123456,
      "countryCode": "US",
      "countryName": "United States",
      "externalId": "123456",
      "extraFields": [
        {
          "fieldName": "Tax Provider Tax Code",
          "fieldType": 0,
          "fieldValue": "G"
        }
      ],
      "firstName": "Marie",
      "isBilling": false,
      "isDefaultBilling": false,
      "isDefaultShipping": false,
      "isShipping": true,
      "label": "Austin Warehouse",
      "lastName": "Curie",
      "phoneNumber": "512-200-1234",
      "stateCode": "TX",
      "stateName": "Texas",
      "zipCode": "78704"
    },
    "1": {
      "addressId": 123457,
      "addressLine1": "737 Lone Star Road",
      "addressline2": "Suite 200",
      "city": "Austin",
      "companyId": 123456,
      "countryCode": "US",
      "countryName": "United States",
      "externalId": "123456",
      "extraFields": [
        {
          "fieldName": "Tax Provider Tax Code",
          "fieldType": 0,
          "fieldValue": "G"
        }
      ],
      "firstName": "Isaac",
      "isBilling": true,
      "isDefaultBilling": false,
      "isDefaultShipping": false,
      "isShipping": false,
      "label": "Austin HQ",
      "lastName": "Newton",
      "phoneNumber": "512-100-1000",
      "stateCode": "TX",
      "stateName": "Texas",
      "zipCode": "78726"
    }
  },
  "code": 200,
  "meta": {
    "message": "Success"
  }
}
```

**SDK Code**

```python Two addresses
import requests

url = "https://api-b2b.bigcommerce.com/api/v3/io/addresses/bulk"

payload = {
    "0": {
        "addressLine1": "512 Bluebonnet Lane",
        "addressline2": "Building 1",
        "city": "Austin",
        "companyId": 123456,
        "countryCode": "US",
        "countryName": "United States",
        "externalId": "123456",
        "extraFields": {
            "fieldName": "Tax Provider Tax Code",
            "fieldValue": "G"
        },
        "firstName": "Marie",
        "isBilling": False,
        "isDefaultBilling": False,
        "isDefaultShipping": False,
        "isShipping": True,
        "label": "Austin Warehouse",
        "lastName": "Curie",
        "phoneNumber": "512-200-1234",
        "stateCode": "TX",
        "stateName": "Texas",
        "zipCode": "78704"
    },
    "1": {
        "addressLine1": "737 Lone Star Road",
        "addressline2": "Suite 200",
        "city": "Austin",
        "companyId": 123456,
        "countryCode": "US",
        "countryName": "United States",
        "externalId": "123456",
        "extraFields": {
            "fieldName": "Tax Provider Tax Code",
            "fieldValue": "G"
        },
        "firstName": "Isaac",
        "isBilling": True,
        "isDefaultBilling": False,
        "isDefaultShipping": False,
        "isShipping": False,
        "label": "Austin HQ",
        "lastName": "Newton",
        "phoneNumber": "512-100-1000",
        "stateCode": "TX",
        "stateName": "Texas",
        "zipCode": "78726"
    },
    "firstName": "Marie",
    "lastName": "Curie",
    "addressLine1": "512 Bluebonnet Lane",
    "city": "Austin",
    "stateName": "Texas",
    "countryName": "United States",
    "companyId": 123456
}
headers = {
    "X-Auth-Token": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Two addresses
const url = 'https://api-b2b.bigcommerce.com/api/v3/io/addresses/bulk';
const options = {
  method: 'POST',
  headers: {'X-Auth-Token': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"0":{"addressLine1":"512 Bluebonnet Lane","addressline2":"Building 1","city":"Austin","companyId":123456,"countryCode":"US","countryName":"United States","externalId":"123456","extraFields":{"fieldName":"Tax Provider Tax Code","fieldValue":"G"},"firstName":"Marie","isBilling":false,"isDefaultBilling":false,"isDefaultShipping":false,"isShipping":true,"label":"Austin Warehouse","lastName":"Curie","phoneNumber":"512-200-1234","stateCode":"TX","stateName":"Texas","zipCode":"78704"},"1":{"addressLine1":"737 Lone Star Road","addressline2":"Suite 200","city":"Austin","companyId":123456,"countryCode":"US","countryName":"United States","externalId":"123456","extraFields":{"fieldName":"Tax Provider Tax Code","fieldValue":"G"},"firstName":"Isaac","isBilling":true,"isDefaultBilling":false,"isDefaultShipping":false,"isShipping":false,"label":"Austin HQ","lastName":"Newton","phoneNumber":"512-100-1000","stateCode":"TX","stateName":"Texas","zipCode":"78726"},"firstName":"Marie","lastName":"Curie","addressLine1":"512 Bluebonnet Lane","city":"Austin","stateName":"Texas","countryName":"United States","companyId":123456}'
};

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

```go Two addresses
package main

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

func main() {

	url := "https://api-b2b.bigcommerce.com/api/v3/io/addresses/bulk"

	payload := strings.NewReader("{\n  \"0\": {\n    \"addressLine1\": \"512 Bluebonnet Lane\",\n    \"addressline2\": \"Building 1\",\n    \"city\": \"Austin\",\n    \"companyId\": 123456,\n    \"countryCode\": \"US\",\n    \"countryName\": \"United States\",\n    \"externalId\": \"123456\",\n    \"extraFields\": {\n      \"fieldName\": \"Tax Provider Tax Code\",\n      \"fieldValue\": \"G\"\n    },\n    \"firstName\": \"Marie\",\n    \"isBilling\": false,\n    \"isDefaultBilling\": false,\n    \"isDefaultShipping\": false,\n    \"isShipping\": true,\n    \"label\": \"Austin Warehouse\",\n    \"lastName\": \"Curie\",\n    \"phoneNumber\": \"512-200-1234\",\n    \"stateCode\": \"TX\",\n    \"stateName\": \"Texas\",\n    \"zipCode\": \"78704\"\n  },\n  \"1\": {\n    \"addressLine1\": \"737 Lone Star Road\",\n    \"addressline2\": \"Suite 200\",\n    \"city\": \"Austin\",\n    \"companyId\": 123456,\n    \"countryCode\": \"US\",\n    \"countryName\": \"United States\",\n    \"externalId\": \"123456\",\n    \"extraFields\": {\n      \"fieldName\": \"Tax Provider Tax Code\",\n      \"fieldValue\": \"G\"\n    },\n    \"firstName\": \"Isaac\",\n    \"isBilling\": true,\n    \"isDefaultBilling\": false,\n    \"isDefaultShipping\": false,\n    \"isShipping\": false,\n    \"label\": \"Austin HQ\",\n    \"lastName\": \"Newton\",\n    \"phoneNumber\": \"512-100-1000\",\n    \"stateCode\": \"TX\",\n    \"stateName\": \"Texas\",\n    \"zipCode\": \"78726\"\n  },\n  \"firstName\": \"Marie\",\n  \"lastName\": \"Curie\",\n  \"addressLine1\": \"512 Bluebonnet Lane\",\n  \"city\": \"Austin\",\n  \"stateName\": \"Texas\",\n  \"countryName\": \"United States\",\n  \"companyId\": 123456\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-Auth-Token", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

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

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

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

}
```

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

url = URI("https://api-b2b.bigcommerce.com/api/v3/io/addresses/bulk")

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

request = Net::HTTP::Post.new(url)
request["X-Auth-Token"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"0\": {\n    \"addressLine1\": \"512 Bluebonnet Lane\",\n    \"addressline2\": \"Building 1\",\n    \"city\": \"Austin\",\n    \"companyId\": 123456,\n    \"countryCode\": \"US\",\n    \"countryName\": \"United States\",\n    \"externalId\": \"123456\",\n    \"extraFields\": {\n      \"fieldName\": \"Tax Provider Tax Code\",\n      \"fieldValue\": \"G\"\n    },\n    \"firstName\": \"Marie\",\n    \"isBilling\": false,\n    \"isDefaultBilling\": false,\n    \"isDefaultShipping\": false,\n    \"isShipping\": true,\n    \"label\": \"Austin Warehouse\",\n    \"lastName\": \"Curie\",\n    \"phoneNumber\": \"512-200-1234\",\n    \"stateCode\": \"TX\",\n    \"stateName\": \"Texas\",\n    \"zipCode\": \"78704\"\n  },\n  \"1\": {\n    \"addressLine1\": \"737 Lone Star Road\",\n    \"addressline2\": \"Suite 200\",\n    \"city\": \"Austin\",\n    \"companyId\": 123456,\n    \"countryCode\": \"US\",\n    \"countryName\": \"United States\",\n    \"externalId\": \"123456\",\n    \"extraFields\": {\n      \"fieldName\": \"Tax Provider Tax Code\",\n      \"fieldValue\": \"G\"\n    },\n    \"firstName\": \"Isaac\",\n    \"isBilling\": true,\n    \"isDefaultBilling\": false,\n    \"isDefaultShipping\": false,\n    \"isShipping\": false,\n    \"label\": \"Austin HQ\",\n    \"lastName\": \"Newton\",\n    \"phoneNumber\": \"512-100-1000\",\n    \"stateCode\": \"TX\",\n    \"stateName\": \"Texas\",\n    \"zipCode\": \"78726\"\n  },\n  \"firstName\": \"Marie\",\n  \"lastName\": \"Curie\",\n  \"addressLine1\": \"512 Bluebonnet Lane\",\n  \"city\": \"Austin\",\n  \"stateName\": \"Texas\",\n  \"countryName\": \"United States\",\n  \"companyId\": 123456\n}"

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

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

HttpResponse<String> response = Unirest.post("https://api-b2b.bigcommerce.com/api/v3/io/addresses/bulk")
  .header("X-Auth-Token", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"0\": {\n    \"addressLine1\": \"512 Bluebonnet Lane\",\n    \"addressline2\": \"Building 1\",\n    \"city\": \"Austin\",\n    \"companyId\": 123456,\n    \"countryCode\": \"US\",\n    \"countryName\": \"United States\",\n    \"externalId\": \"123456\",\n    \"extraFields\": {\n      \"fieldName\": \"Tax Provider Tax Code\",\n      \"fieldValue\": \"G\"\n    },\n    \"firstName\": \"Marie\",\n    \"isBilling\": false,\n    \"isDefaultBilling\": false,\n    \"isDefaultShipping\": false,\n    \"isShipping\": true,\n    \"label\": \"Austin Warehouse\",\n    \"lastName\": \"Curie\",\n    \"phoneNumber\": \"512-200-1234\",\n    \"stateCode\": \"TX\",\n    \"stateName\": \"Texas\",\n    \"zipCode\": \"78704\"\n  },\n  \"1\": {\n    \"addressLine1\": \"737 Lone Star Road\",\n    \"addressline2\": \"Suite 200\",\n    \"city\": \"Austin\",\n    \"companyId\": 123456,\n    \"countryCode\": \"US\",\n    \"countryName\": \"United States\",\n    \"externalId\": \"123456\",\n    \"extraFields\": {\n      \"fieldName\": \"Tax Provider Tax Code\",\n      \"fieldValue\": \"G\"\n    },\n    \"firstName\": \"Isaac\",\n    \"isBilling\": true,\n    \"isDefaultBilling\": false,\n    \"isDefaultShipping\": false,\n    \"isShipping\": false,\n    \"label\": \"Austin HQ\",\n    \"lastName\": \"Newton\",\n    \"phoneNumber\": \"512-100-1000\",\n    \"stateCode\": \"TX\",\n    \"stateName\": \"Texas\",\n    \"zipCode\": \"78726\"\n  },\n  \"firstName\": \"Marie\",\n  \"lastName\": \"Curie\",\n  \"addressLine1\": \"512 Bluebonnet Lane\",\n  \"city\": \"Austin\",\n  \"stateName\": \"Texas\",\n  \"countryName\": \"United States\",\n  \"companyId\": 123456\n}")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api-b2b.bigcommerce.com/api/v3/io/addresses/bulk', [
  'body' => '{
  "0": {
    "addressLine1": "512 Bluebonnet Lane",
    "addressline2": "Building 1",
    "city": "Austin",
    "companyId": 123456,
    "countryCode": "US",
    "countryName": "United States",
    "externalId": "123456",
    "extraFields": {
      "fieldName": "Tax Provider Tax Code",
      "fieldValue": "G"
    },
    "firstName": "Marie",
    "isBilling": false,
    "isDefaultBilling": false,
    "isDefaultShipping": false,
    "isShipping": true,
    "label": "Austin Warehouse",
    "lastName": "Curie",
    "phoneNumber": "512-200-1234",
    "stateCode": "TX",
    "stateName": "Texas",
    "zipCode": "78704"
  },
  "1": {
    "addressLine1": "737 Lone Star Road",
    "addressline2": "Suite 200",
    "city": "Austin",
    "companyId": 123456,
    "countryCode": "US",
    "countryName": "United States",
    "externalId": "123456",
    "extraFields": {
      "fieldName": "Tax Provider Tax Code",
      "fieldValue": "G"
    },
    "firstName": "Isaac",
    "isBilling": true,
    "isDefaultBilling": false,
    "isDefaultShipping": false,
    "isShipping": false,
    "label": "Austin HQ",
    "lastName": "Newton",
    "phoneNumber": "512-100-1000",
    "stateCode": "TX",
    "stateName": "Texas",
    "zipCode": "78726"
  },
  "firstName": "Marie",
  "lastName": "Curie",
  "addressLine1": "512 Bluebonnet Lane",
  "city": "Austin",
  "stateName": "Texas",
  "countryName": "United States",
  "companyId": 123456
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'X-Auth-Token' => '<apiKey>',
  ],
]);

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

```csharp Two addresses
using RestSharp;

var client = new RestClient("https://api-b2b.bigcommerce.com/api/v3/io/addresses/bulk");
var request = new RestRequest(Method.POST);
request.AddHeader("X-Auth-Token", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"0\": {\n    \"addressLine1\": \"512 Bluebonnet Lane\",\n    \"addressline2\": \"Building 1\",\n    \"city\": \"Austin\",\n    \"companyId\": 123456,\n    \"countryCode\": \"US\",\n    \"countryName\": \"United States\",\n    \"externalId\": \"123456\",\n    \"extraFields\": {\n      \"fieldName\": \"Tax Provider Tax Code\",\n      \"fieldValue\": \"G\"\n    },\n    \"firstName\": \"Marie\",\n    \"isBilling\": false,\n    \"isDefaultBilling\": false,\n    \"isDefaultShipping\": false,\n    \"isShipping\": true,\n    \"label\": \"Austin Warehouse\",\n    \"lastName\": \"Curie\",\n    \"phoneNumber\": \"512-200-1234\",\n    \"stateCode\": \"TX\",\n    \"stateName\": \"Texas\",\n    \"zipCode\": \"78704\"\n  },\n  \"1\": {\n    \"addressLine1\": \"737 Lone Star Road\",\n    \"addressline2\": \"Suite 200\",\n    \"city\": \"Austin\",\n    \"companyId\": 123456,\n    \"countryCode\": \"US\",\n    \"countryName\": \"United States\",\n    \"externalId\": \"123456\",\n    \"extraFields\": {\n      \"fieldName\": \"Tax Provider Tax Code\",\n      \"fieldValue\": \"G\"\n    },\n    \"firstName\": \"Isaac\",\n    \"isBilling\": true,\n    \"isDefaultBilling\": false,\n    \"isDefaultShipping\": false,\n    \"isShipping\": false,\n    \"label\": \"Austin HQ\",\n    \"lastName\": \"Newton\",\n    \"phoneNumber\": \"512-100-1000\",\n    \"stateCode\": \"TX\",\n    \"stateName\": \"Texas\",\n    \"zipCode\": \"78726\"\n  },\n  \"firstName\": \"Marie\",\n  \"lastName\": \"Curie\",\n  \"addressLine1\": \"512 Bluebonnet Lane\",\n  \"city\": \"Austin\",\n  \"stateName\": \"Texas\",\n  \"countryName\": \"United States\",\n  \"companyId\": 123456\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Two addresses
import Foundation

let headers = [
  "X-Auth-Token": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "0": [
    "addressLine1": "512 Bluebonnet Lane",
    "addressline2": "Building 1",
    "city": "Austin",
    "companyId": 123456,
    "countryCode": "US",
    "countryName": "United States",
    "externalId": "123456",
    "extraFields": [
      "fieldName": "Tax Provider Tax Code",
      "fieldValue": "G"
    ],
    "firstName": "Marie",
    "isBilling": false,
    "isDefaultBilling": false,
    "isDefaultShipping": false,
    "isShipping": true,
    "label": "Austin Warehouse",
    "lastName": "Curie",
    "phoneNumber": "512-200-1234",
    "stateCode": "TX",
    "stateName": "Texas",
    "zipCode": "78704"
  ],
  "1": [
    "addressLine1": "737 Lone Star Road",
    "addressline2": "Suite 200",
    "city": "Austin",
    "companyId": 123456,
    "countryCode": "US",
    "countryName": "United States",
    "externalId": "123456",
    "extraFields": [
      "fieldName": "Tax Provider Tax Code",
      "fieldValue": "G"
    ],
    "firstName": "Isaac",
    "isBilling": true,
    "isDefaultBilling": false,
    "isDefaultShipping": false,
    "isShipping": false,
    "label": "Austin HQ",
    "lastName": "Newton",
    "phoneNumber": "512-100-1000",
    "stateCode": "TX",
    "stateName": "Texas",
    "zipCode": "78726"
  ],
  "firstName": "Marie",
  "lastName": "Curie",
  "addressLine1": "512 Bluebonnet Lane",
  "city": "Austin",
  "stateName": "Texas",
  "countryName": "United States",
  "companyId": 123456
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api-b2b.bigcommerce.com/api/v3/io/addresses/bulk")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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()
```