Elastic Path Account Addresses API
The API to organize account addresses.
The API to organize account addresses.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/elastic-path-account-addresses-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.1.0
info:
version: 25.1126.6886238
x-version-timestamp: 2025-11-26 19:10:23+00:00
title: Addresses Introduction Account Addresses API
description: 'The Addresses API allows you to organize account addresses. Addresses are a sub-resource of `account` resources, an account can have multiple addresses, such as home, work, and neighbour.
You can use an account address with either [client_credentials access token](/docs/api/authentication/create-an-access-token) or a combination of [implicit access token](/docs/api/authentication/create-an-access-token) and [Account Management authentication](/docs/api/accounts/post-v-2-account-members-tokens) token.
'
contact:
name: Elastic Path
url: https://www.elasticpath.com
email: support@elasticpath.com
license:
url: https://elasticpath.dev
name: MIT
servers:
- url: https://useast.api.elasticpath.com
description: US East
- url: https://euwest.api.elasticpath.com
description: EU West
security:
- BearerToken: []
tags:
- name: Account Addresses
description: The API to organize account addresses.
paths:
/v2/accounts/{accountID}/addresses:
post:
tags:
- Account Addresses
summary: Create an Account Address
description: Create an address for an Account.
operationId: post-v2-account-address
parameters:
- name: accountID
in: path
description: The ID of the account you want to create an address for.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Address'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: object
$ref: '#/components/schemas/AccountAddressResponse'
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
data:
type: object
$ref: '#/components/schemas/AccountAddressResponse'
'400':
$ref: '#/components/responses/ErrorBadRequest'
'404':
$ref: '#/components/responses/ErrorNotFound'
get:
tags:
- Account Addresses
summary: Get Account Addresses
description: 'Get all addresses for an Account.
You can use pagination with this resource. For more information, see [pagination](/guides/Getting-Started/pagination).
### Filtering
The following operators and attributes are available for [filtering](/guides/Getting-Started/filtering) addresses:
| Attribute | Operators | Example |
|----------------|---------------------------------|---------------------------------------|
| `name` | `eq`,`in`,`like`,`ilike`,`text` | `ilike(name,"*home*")` |
| `first_name` | `eq`,`in`,`like`,`ilike`,`text` | `ilike(first_name,"Ron*")` |
| `last_name` | `eq`,`in`,`like`,`ilike`,`text` | `ilike(last_name,"*swan*")` |
| `phone_number` | `eq`,`in`,`like`,`ilike`,`text` | `ilike(phone_number,"*555*")` |
| `company_name` | `eq`,`in`,`like`,`ilike`,`text` | `ilike(company_name,"*enterprises*")` |
| `instructions` | `eq`,`in`,`like`,`ilike`,`text` | `text(instructions,"behind bin")` |
| `line_1` | `eq`,`in`,`like`,`ilike`,`text` | `ilike(line_1,"*Sunny Street*")` |
| `line_2` | `eq`,`in`,`like`,`ilike`,`text` | `ilike(line_2,"*Unit*")` |
| `city` | `eq`,`in`,`like`,`ilike`,`text` | `eq(city,"Sunny Town")` |
| `county` | `eq`,`in`,`like`,`ilike`,`text` | `eq(county,"Sunnyville")` |
| `region` | `eq`,`in`,`like`,`ilike`,`text` | `eq(region,"California")` |
| `postcode` | `eq`,`in`,`like`,`ilike`,`text` | `eq(postcode,"SU33 1YY")` |
| `country` | `eq`,`in`,`like`,`ilike`,`text` | `eq(country,"GB")` |
'
operationId: get-v2-account-addresses
parameters:
- name: accountID
in: path
description: The ID of the account you want to retrieve.
required: true
schema:
type: string
- name: page[offset]
in: query
description: The number of records to offset the results by.
required: false
schema:
type: integer
minimum: 0
maximum: 10000
default: 0
- name: page[limit]
in: query
description: The number of records per page. If not specified, defaults to the `page_length` setting from the Settings API.
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 25
- name: page[total_method]
in: query
description: The method used to calculate the total count. `lower_bound` limits expensive count operations, `observed` uses a lightweight +1 fetch strategy that will indicate if there is a next page.
required: false
schema:
type: string
enum:
- lower_bound
- observed
default: lower_bound
- name: filter
in: query
description: Filter addresses using a simple query language.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/AccountAddressResponse'
meta:
$ref: '#/components/schemas/PaginationMeta'
links:
$ref: '#/components/schemas/PaginationLinks'
'400':
$ref: '#/components/responses/ErrorBadRequest'
'404':
$ref: '#/components/responses/ErrorNotFound'
security:
- BearerToken: []
/v2/accounts/{accountID}/addresses/{addressID}:
get:
tags:
- Account Addresses
summary: Get an Account Address
description: Get a specific address for an Account.
operationId: get-v2-account-address
parameters:
- name: accountID
in: path
description: The ID of the account you want to retrieve.
required: true
schema:
type: string
- name: addressID
in: path
description: The ID of the address you want to retrieve.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: object
$ref: '#/components/schemas/AccountAddressResponse'
'404':
$ref: '#/components/responses/ErrorNotFound'
security:
- BearerToken: []
put:
tags:
- Account Addresses
summary: Update an Account Address
description: Update an address for an Account.
operationId: put-v2-account-address
parameters:
- name: accountID
in: path
description: The ID of the account you want to create an address for.
required: true
schema:
type: string
- name: addressID
in: path
description: The ID of the address you want to update.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Address'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
type: object
$ref: '#/components/schemas/AccountAddressResponse'
'400':
$ref: '#/components/responses/ErrorBadRequest'
'404':
$ref: '#/components/responses/ErrorNotFound'
security:
- BearerToken: []
delete:
tags:
- Account Addresses
summary: Delete an Account Address
description: Delete an address for an Account.
operationId: delete-v2-account-address
parameters:
- name: accountID
in: path
description: The ID of the account that contains the address to delete.
required: true
schema:
type: string
- name: addressID
in: path
description: The ID of the address to delete.
required: true
schema:
type: string
responses:
'204':
description: No Content
'404':
$ref: '#/components/responses/ErrorNotFound'
security:
- BearerToken: []
components:
schemas:
MetaTimestamps:
type: object
properties:
timestamps:
type: object
properties:
created_at:
description: The date the address is created.
type: string
example: '2021-02-23T09:40:33.882Z'
updated_at:
description: The date the address is updated.
type: string
example: '2021-02-23T09:40:33.882Z'
AccountAddressResponse:
allOf:
- $ref: '#/components/schemas/AddressResponse'
- type: object
properties:
relationships:
type: object
properties:
account:
type: object
properties:
id:
description: The ID of the account.
type: string
example: 11afcf9b-971b-4fdb-8e10-f2ecf970718e
type:
description: The type of object being returned.
type: string
example: account
ErrorResponse:
type: object
required:
- errors
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
Address:
type: object
properties:
type:
type: string
description: Specifies the type of object. Set this value to `address`.
const: address
first_name:
type: string
description: The first name of the recipient on this address.
example: Ron
last_name:
type: string
description: The last name of the recipient on this address.
example: Swanson
name:
type: string
description: The name for the address saved, such as `home`, `work` or `wife’s office`.
example: Home
phone_number:
type: string
description: A phone number for this address.
example: (555) 555-1234
instructions:
type: string
description: Any delivery instructions for this address.
example: Leave behind bin
company_name:
type: string
description: The company name at this address.
example: Ron Swanson Enterprises
line_1:
type: string
description: The first portion of the address, usually the street address.
example: 1 Sunny Street
line_2:
type: string
description: The second portion of the address, usually an apartment or unit number.
example: Unit 101
city:
type: string
description: The city for this address.
example: Sunny Town
county:
type: string
description: The county for this address.
example: Sunnyville
region:
type: string
description: The state, province, territory, etc. for this address.
example: acc-legal-name
postcode:
type: string
description: The ZIP Code, Postcode, or other postal reference string for this delivery address.
example: SU33 1YY
country:
type: string
description: A two digit code for the country this address is in, expressed as per the ISO 3166-2 standard.
example: GB
Error:
type: object
properties:
status:
type: integer
description: The HTTP response code of the error.
title:
type: string
description: A brief summary of the error.
detail:
type: string
description: Optional additional detail about the error.
source:
type: string
description: Optional field indicating the source of the error.
PaginationMeta:
type: object
properties:
page:
$ref: '#/components/schemas/PaginationPage'
results:
$ref: '#/components/schemas/PaginationResults'
AddressResponse:
allOf:
- $ref: '#/components/schemas/Address'
- type: object
properties:
id:
type: string
description: The unique identifier for an Address.
example: 5f8da740-6680-463e-b31c-190b2db4bf9d
meta:
$ref: '#/components/schemas/MetaTimestamps'
links:
type: object
properties:
self:
description: A URL to the specific resource.
type: string
example: https://useast.api.elasticpath.com/v2/accounts/deb6b25f-8451-4211-9a22-95610333df23/addresses
PaginationLinks:
type: object
properties:
current:
type: string
description: The URL to the current page.
example: https://useast.api.elasticpath.com/v2/accounts/deb6b25f-8451-4211-9a22-95610333df23/addresses?page[offset]=0&page[limit]=25
first:
type: string
description: The URL to the first page.
example: https://useast.api.elasticpath.com/v2/accounts/deb6b25f-8451-4211-9a22-95610333df23/addresses?page[offset]=0&page[limit]=25
last:
type:
- string
- 'null'
description: The URL to the last page. May be null if the total is unknown.
example: https://useast.api.elasticpath.com/v2/accounts/deb6b25f-8451-4211-9a22-95610333df23/addresses?page[offset]=50&page[limit]=25
next:
type:
- string
- 'null'
description: The URL to the next page. Null if on the last page.
example: https://useast.api.elasticpath.com/v2/accounts/deb6b25f-8451-4211-9a22-95610333df23/addresses?page[offset]=25&page[limit]=25
prev:
type:
- string
- 'null'
description: The URL to the previous page. Null if on the first page.
example: null
PaginationPage:
type: object
properties:
limit:
type: integer
description: The maximum number of records per page.
example: 25
offset:
type: integer
description: The current offset by number of records.
example: 0
current:
type: integer
description: The current page number.
example: 1
total:
type: integer
description: The total number of pages.
example: 3
PaginationResults:
type: object
properties:
total:
type: integer
description: The total number of results.
example: 75
total_method:
type: string
description: The method used to calculate the total. `exact` means the precise count is known, `lower_bound` means the count is at least this value, `observed` means the count is estimated from observations.
enum:
- exact
- lower_bound
- observed
example: exact
responses:
ErrorNotFound:
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
not-found-error:
value:
errors:
- status: 404
title: Not Found
detail: account not found
ErrorBadRequest:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
bad-request-error:
value:
errors:
- status: 400
title: Bad Request
detail: 'Validation failed: field ''Name'' on the ''min'' tag.'
securitySchemes:
BearerToken:
type: http
scheme: bearer