Elastic Path Account Addresses API

The API to organize account addresses.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/elastic-path-account-addresses-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

elastic-path-account-addresses-api-openapi.yml Raw ↑
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