Locations

Create, read, update, delete, reorder, and subscribe to store locations through the Store API.

Locations require the read_locations scope for reads and write_locations for writes. Locations contain a name, slug, online-fulfillment setting, address, and phone number. On creation, slug is optional and is generated from name when omitted. fulfills_online_orders defaults to true. On update, a provided slug must be non-empty and valid. A merchant token creates a merchant-managed location. An app token creates an app-managed location owned by that app in this store. Apps can read merchant-managed locations and their own app-managed locations, but cannot discover another app's locations. With write_locations, an app can update or delete merchant-managed locations and its own app-managed locations. Uninstalling the app makes its locations merchant-owned without deleting inventory history; each is deactivated unless orders still hold reserved stock there. While an app's installation is still setting up or its setup failed, stock at its locations is not sold online. Reinstalling does not silently reactivate them. Permanently deleting the app removes its managed location rows. Primary locations, the final active online-fulfilling location, locations with non-zero inventory or reservations, locations involved in active transfers, and locations with protected inventory history cannot be deleted. Empty zero-level rows are cleaned during confirmed deletion and do not block it. App tokens cannot reorder locations; reordering is merchant-only and requires the complete location ID list.

Endpoints#

Location limits

GET read_locations

Fetch location limits and per-field constraints.

Returns the per-field maximum lengths, list limits, sort columns, and request caps that apply to location endpoints.

Headers

Name Type Description
Authorization required string

Bearer Store API token.

List locations

GET read_locations

List store locations.

Returns paginated locations. The primary location is pinned first, so limit=1 returns it when the token can see it; the chosen sort orders the remaining rows. Merchant tokens can read all locations. App tokens can read merchant-managed locations and locations owned by that app. For app-managed rows, app_id identifies the owner, app_name and app_slug describe it when available, and app_installation_active reports whether that owning app is currently installed and active. Merchant-managed rows have a null app_id, omit the optional app name and slug, and report app_installation_active: false. active_merchant_total is the number of active merchant-managed locations before list filters and pagination. Archived locations are hidden unless status=archived is requested; is_archived is always false on the other views. A merchant-managed row whose app was uninstalled reports that app in previous_app_id and previous_app_name.

Query parameters

Name Type Description
page integer

Page number.

Example: 1
limit integer

Page size.

Example: 20
search string

Search locations by name, slug, city, state/province, or address line.

Example: Main Warehouse
status string

Filter by active, inactive or archived. Archived locations appear only with archived.

Example: active
fulfills_online_orders boolean

When true, return only locations that fulfill online orders. Combines with status.

Example: true
sort_by string

Sort field from the Location list contract.

Allowed values
namefulfillment_prioritycreated_atupdated_at
Example: fulfillment_priority
sort_direction string

Sort direction from the Location list contract.

Allowed values
ascdesc
Example: asc
writable_only boolean

When true, return only locations the authenticated caller may write. Merchant tokens exclude app-managed locations; app tokens retain merchant-managed locations and locations owned by that app.

Example: false

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Get a location

GET read_locations

Fetch one location by id.

Returns the location when it is visible to the authenticated token. address_lines is its address laid out the way its country writes it, ending with the country name, ready to display. Merchant tokens can read any location in their store. App tokens can read merchant-managed locations and locations owned by that app; another app's managed location is reported as LOCATION_NOT_FOUND.

Path parameters

Name Type Description
id required string

Location id.

Example: d6a26466-7903-4e2f-8fd7-7c59f3c8cd9a

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Errors

  • 404 LOCATION_NOT_FOUND

    Location does not exist in this store.

Create a location

POST write_locations

Create a merchant-managed or app-managed location.

Creates a location. name is required; slug is generated when omitted. Ownership follows the authenticated token: app tokens create app-managed locations owned by their active installation, while merchant tokens create merchant-managed locations. App-managed rows use the installation's separate bounded allowance and do not consume the merchant location allowance.

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
name required string

Location name.

Example: Main Warehouse
slug string

Optional slug. Omit to generate from name.

Example: main-warehouse
fulfills_online_orders boolean

Whether this location fulfills online orders. Defaults to true when omitted on create.

Example: true
address_line1 string

Street address line 1.

Example: 123 Market Street
address_line2 string

Street address line 2.

Example: Suite 4
city string

City.

Example: San Francisco
state_province string

State, province, or region.

Example: CA
postal_code string

Postal, ZIP, or PIN code. Validated against the selected country's format. India PINs are checked against the India Post directory; unknown PINs and PIN/state mismatches are rejected.

Example: 94105
country_code string

Uppercase ISO 3166-1 alpha-2 country code.

Example: US
phone string

Phone number. Validated and normalized using the country code when provided.

Example: +14155550100

Errors

  • 400 LOCATION_NAME_REQUIRED

    Name is empty after normalization.

  • 400 LOCATION_NAME_TOO_LONG

    Name exceeds the Location contract max length.

  • 400 LOCATION_SLUG_INVALID_FORMAT

    Slug is not valid for location URLs.

  • 400 LOCATION_SLUG_TOO_LONG

    Slug exceeds the Location contract max length.

  • 400 LOCATION_SLUG_GENERATION_FAILED

    A slug cannot be generated from the supplied name; provide one explicitly.

  • 400 LOCATION_COUNTRY_CODE_INVALID

    Country code is invalid.

  • 400 LOCATION_STATE_PROVINCE_TOO_LONG

    State or province exceeds the Location contract max length.

  • 400 LOCATION_PHONE_TOO_LONG

    Phone exceeds the Location contract max length.

  • 400 LOCATION_PHONE_INVALID

    Phone number is invalid for the selected country.

  • 400 AUTH_NAME_TOO_LONG

    An address line or city exceeds its documented maximum length.

  • 400 AUTH_NAME_INVALID_CHARS

    An address line or city contains control characters.

  • 400 AUTH_NAME_CONSECUTIVE_SPACES

    An address line or city contains consecutive spaces.

  • 400 VALIDATE_POSTAL_TOO_LONG

    Postal code exceeds its documented maximum length.

  • 400 VALIDATE_POSTAL_INVALID_CHARS

    Postal code contains unsupported characters.

  • 400 VALIDATE_POSTAL_INVALID_FORMAT

    Postal code does not match the selected country's expected format.

  • 400 VALIDATE_POSTAL_INVALID_FORMAT_BARE

    Postal code does not match the selected country's format.

  • 400 VALIDATE_POSTAL_UNKNOWN_PINCODE

    India PIN is not in the postal directory.

  • 400 VALIDATE_POSTAL_PINCODE_STATE_MISMATCH

    India PIN does not belong to the selected state.

  • 409 LOCATION_DUPLICATE

    Name or slug already exists in this store.

  • 409 LOCATION_UNIQUE_SLUG_GENERATION_FAILED

    A unique generated slug could not be allocated.

  • 400 LOCATION_APP_ID_REQUIRED

    An app token could not be resolved to an active app identity for an app-managed location.

  • 403 LOCATION_LIMIT_REACHED

    The merchant or app installation location allowance has been reached.

  • 403 APP_OAUTH_APP_NOT_INSTALLED

    The app does not have an active installation in this store.

Update a location

PUT write_locations

Update a location.

Updates provided location fields. Omitted fields are unchanged. fulfillment_priority is not updateable through this endpoint; it is merchant-owned routing metadata changed only through reorder. Merchant-managed locations follow normal write_locations access. An app-managed location can be updated only by the active installation that owns it; merchants and other apps receive LOCATION_APP_MANAGED_NO_EDIT.

Path parameters

Name Type Description
id required string

Location id.

Example: d6a26466-7903-4e2f-8fd7-7c59f3c8cd9a

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
is_active boolean

Whether the location is active. Primary locations must remain active, and a location cannot be deactivated while orders hold reservations there or transfers are pending or in transit.

Example: true
name string

Location name.

Example: Main Warehouse
slug string

Optional slug. Omitted values are unchanged; a supplied slug must be non-empty and valid.

Example: main-warehouse
fulfills_online_orders boolean

Whether this location fulfills online orders. Omitted values are unchanged. It cannot be switched off while orders hold reservations there.

Example: true
address_line1 string

Street address line 1.

Example: 123 Market Street
address_line2 string

Street address line 2.

Example: Suite 4
city string

City.

Example: San Francisco
state_province string

State, province, or region.

Example: CA
postal_code string

Postal, ZIP, or PIN code. Validated against the selected country's format. India PINs are checked against the India Post directory; unknown PINs and PIN/state mismatches are rejected.

Example: 94105
country_code string

Uppercase ISO 3166-1 alpha-2 country code.

Example: US
phone string

Phone number. Validated and normalized using the country code when provided.

Example: +14155550100

Errors

  • 400 LOCATION_NAME_REQUIRED

    Name is empty after normalization.

  • 400 LOCATION_NAME_TOO_LONG

    Name exceeds the Location contract max length.

  • 400 LOCATION_SLUG_INVALID_FORMAT

    Slug is not valid for location URLs.

  • 400 LOCATION_SLUG_TOO_LONG

    Slug exceeds the Location contract max length.

  • 400 LOCATION_COUNTRY_CODE_INVALID

    Country code is invalid.

  • 400 LOCATION_STATE_PROVINCE_TOO_LONG

    State or province exceeds the Location contract max length.

  • 400 LOCATION_PHONE_TOO_LONG

    Phone exceeds the Location contract max length.

  • 400 LOCATION_PHONE_INVALID

    Phone number is invalid for the selected country.

  • 400 AUTH_NAME_TOO_LONG

    An address line or city exceeds its documented maximum length.

  • 400 AUTH_NAME_INVALID_CHARS

    An address line or city contains control characters.

  • 400 AUTH_NAME_CONSECUTIVE_SPACES

    An address line or city contains consecutive spaces.

  • 400 VALIDATE_POSTAL_TOO_LONG

    Postal code exceeds its documented maximum length.

  • 400 VALIDATE_POSTAL_INVALID_CHARS

    Postal code contains unsupported characters.

  • 400 VALIDATE_POSTAL_INVALID_FORMAT

    Postal code does not match the selected country's expected format.

  • 400 VALIDATE_POSTAL_INVALID_FORMAT_BARE

    Postal code does not match the selected country's format.

  • 400 VALIDATE_POSTAL_UNKNOWN_PINCODE

    India PIN is not in the postal directory.

  • 400 VALIDATE_POSTAL_PINCODE_STATE_MISMATCH

    India PIN does not belong to the selected state.

  • 409 LOCATION_DUPLICATE

    Name or slug already exists in this store.

  • 400 LOCATION_SLUG_REQUIRED

    A supplied slug cannot be empty on update.

  • 400 LOCATION_PRIMARY_MUST_BE_ACTIVE

    The primary location must remain active.

  • 400 LOCATION_PRIMARY_MUST_FULFILL

    The primary location must fulfill online orders.

  • 400 LOCATION_PRIMARY_ADDRESS_REQUIRED

    A live store's primary location must retain its required address fields.

  • 400 LOCATION_LAST_FULFILLMENT

    At least one location must fulfill online orders.

  • 403 LOCATION_LIMIT_REACHED

    The merchant or app installation location allowance would be exceeded when activating this location.

  • 403 LOCATION_APP_MANAGED_NO_EDIT

    App-managed locations can be edited only by their owning active installation.

  • 403 APP_OAUTH_APP_NOT_INSTALLED

    The owning app does not have an active installation in this store.

  • 404 LOCATION_NOT_FOUND

    Location does not exist in this store.

  • 409 LOCATION_ARCHIVED_NO_EDIT

    Archived locations must be restored before they can be changed.

  • 409 LOCATION_DEACTIVATE_HAS_RESERVATIONS

    Location cannot be deactivated while orders hold reservations there.

  • 409 LOCATION_DEACTIVATE_HAS_TRANSFERS

    Location cannot be deactivated with pending or in-transit stock transfers.

  • 409 LOCATION_ONLINE_FULFILLMENT_HAS_RESERVATIONS

    fulfills_online_orders cannot be switched off while orders hold reservations at this location.

Archive a location

POST write_locations

Archive an empty location.

Archives a location that is empty: no non-zero stock, no pending or in-transit transfers, and no order still holding a reservation there. The primary location cannot be archived. An archived location is inactive, hidden from lists unless status=archived is requested, does not count toward the location allowance and cannot be edited until it is restored. Archiving an archived location succeeds without changes. Ownership follows update: an app-managed location can be archived only by its owning active installation. Fires locations/deactivated when the location was active, and locations/update with is_archived in changed_fields.

Path parameters

Name Type Description
id required string

Location id.

Example: d6a26466-7903-4e2f-8fd7-7c59f3c8cd9a

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Errors

  • 403 LOCATION_APP_MANAGED_NO_EDIT

    App-managed locations can be archived or restored only by their owning active installation.

  • 403 APP_OAUTH_APP_NOT_INSTALLED

    The owning app does not have an active installation in this store.

  • 404 LOCATION_NOT_FOUND

    Location does not exist in this store.

  • 409 LOCATION_ARCHIVE_PRIMARY

    Primary location cannot be archived.

  • 409 LOCATION_ARCHIVE_HAS_INVENTORY

    Location still has non-zero product, variant, or inventory-group stock.

  • 409 LOCATION_ARCHIVE_HAS_TRANSFERS

    Location has pending or in-transit stock transfers.

  • 409 LOCATION_ARCHIVE_HAS_RESERVATIONS

    Orders still hold reservations at this location.

Restore a location

POST write_locations

Restore an archived location.

Restores an archived location as an active location. Restoring counts against the allowance exactly like activating: the plan limit for a merchant-managed location, the installation's allowance for an app-managed one. Restoring a location that is not archived succeeds without changes. Fires locations/activated and locations/update with is_archived in changed_fields.

Path parameters

Name Type Description
id required string

Location id.

Example: d6a26466-7903-4e2f-8fd7-7c59f3c8cd9a

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Errors

  • 403 LOCATION_APP_MANAGED_NO_EDIT

    App-managed locations can be archived or restored only by their owning active installation.

  • 403 APP_OAUTH_APP_NOT_INSTALLED

    The owning app does not have an active installation in this store.

  • 404 LOCATION_NOT_FOUND

    Location does not exist in this store.

  • 403 LOCATION_LIMIT_REACHED

    Restoring would exceed the merchant or app installation location allowance.

Delete a location

DELETE write_locations

Delete a location.

Deletes a location only when it is empty and not primary or the last active online-fulfilling location. Empty means no non-zero stock, no pending or in-transit transfers and no order still holding a reservation there. Past orders, reservations, fulfillments, stock movements and transfers do not block deletion; they keep the location's name after it is gone. Empty zero-level storage rows do not block deletion and are cleaned atomically. Archived locations can be deleted. The first request returns CONFIRMATION_REQUIRED with impact warnings and a single-use confirmation token; retry with confirmed: true and that token. Remaining locations are renumbered automatically so fulfillment priority stays gapless. App-managed locations can be deleted only by their owning active installation.

Path parameters

Name Type Description
id required string

Location id.

Example: d6a26466-7903-4e2f-8fd7-7c59f3c8cd9a

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
confirmed boolean

Set to true on the confirmation retry.

Example: true
confirmation_token string

Single-use token returned by the first delete request.

Example: token

Errors

  • 403 LOCATION_APP_MANAGED_NO_DELETE

    App-managed locations can be deleted only by their owning active installation.

  • 403 APP_OAUTH_APP_NOT_INSTALLED

    The owning app does not have an active installation in this store.

  • 404 LOCATION_NOT_FOUND

    Location does not exist in this store.

  • 409 LOCATION_DELETE_PRIMARY

    Primary location cannot be deleted.

  • 409 LOCATION_DELETE_HAS_INVENTORY

    Location still has non-zero product, variant, or inventory-group stock.

  • 409 LOCATION_DELETE_HAS_TRANSFERS

    Location has pending or in-transit stock transfers.

  • 409 LOCATION_DELETE_HAS_RESERVATIONS

    Orders still hold reservations at this location.

  • 409 LOCATION_DELETE_LAST_FULFILLMENT

    Cannot delete the only location that fulfills online orders.

  • 409 CONFIRMATION_REQUIRED

    The deletion is allowed but requires acknowledgement of the returned impact warnings. Repeat the request with confirmed: true and the supplied single-use confirmation_token.

  • 400 LOCATION_CONFIRMATION_INVALID

    Invalid or expired confirmation token.

Reorder locations

POST write_locations

Set the full fulfillment priority order.

Merchant API tokens only. Fulfillment priority is merchant-owned routing metadata, not app-owned location data, so merchants may include app-managed locations in the order. Send every location id exactly once, with the primary location first: array position 0 becomes priority 0, position 1 becomes priority 1, and so on. Include the primary location, inactive locations, and app-managed locations returned by GET /locations; this changes routing priority but not ownership or status. Archived locations are not listed and must not be included; they keep their relative order after every listed location. Partial lists, duplicates, malformed ids, and ids from another store are rejected atomically.

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
ordered_ids required array<uuid>

The complete location-id set from GET /locations, ordered from highest to lowest fulfillment priority.

Example: ["d6a26466-7903-4e2f-8fd7-7c59f3c8cd9a", "91d83dd2-2bb5-42f8-8db7-5ef755ad749c"]

Errors

  • 403 FORBIDDEN

    App tokens cannot change the store-wide fulfillment order; use a merchant API token.

  • 400 LOCATION_REORDER_INVALID

    The reorder list must include every location exactly once, with the primary location first.

Fields#

Field

Type

Create

Update

Required

Translatable

name

text

Yes

Yes

create

No

slug

slug

Yes

Yes

No

is_active

boolean

No

Yes

No

fulfills_online_orders

boolean

Yes

Yes

No

address_line1

text

Yes

Yes

No

address_line2

text

Yes

Yes

No

city

text

Yes

Yes

No

state_province

text

Yes

Yes

No

postal_code

text

Yes

Yes

No

country_code

select

Yes

Yes

No

phone

text

Yes

Yes

No

is_primary

boolean

No

No

No

is_app_managed

boolean

No

No

No

app_id

text

No

No

No

app_name

text

No

No

No

app_slug

slug

No

No

No

app_installation_active

boolean

No

No

No

is_archived

boolean

No

No

No

previous_app_id

text

No

No

No

previous_app_name

text

No

No

No

fulfillment_priority

integer

No

No

No

created_at

datetime

No

No

No

updated_at

datetime

No

No

No

Webhook events#

Subscribe to these events to keep your integration in sync with locations. Each event shows the required Store API scope and store permission, the available payload fields, and an example payload. Subscription setup is validated against those permissions; delivery is always restricted to the subscription's store.

Location created

EVENT locations/create App scope: read_locations Staff permission: locations:read

Fired when a new location is created.

Payload fields

Field Type Description
resource_type string Selectable in the Payload builder
resource_id string Selectable in the Payload builder
occurred_at string Selectable in the Payload builder
current.id string Selectable in the Payload builder
current.name string Selectable in the Payload builder
current.slug string Selectable in the Payload builder
current.app_id string Selectable in the Payload builder
current.is_app_managed boolean Selectable in the Payload builder
current.is_primary boolean Selectable in the Payload builder
current.is_active boolean Selectable in the Payload builder
current.fulfills_online_orders boolean Selectable in the Payload builder
current.fulfillment_priority integer Selectable in the Payload builder
current.address_line1 string Selectable in the Payload builder
current.address_line2 string Selectable in the Payload builder
current.city string Selectable in the Payload builder
current.state_province string Selectable in the Payload builder
current.postal_code string Selectable in the Payload builder
current.country_code string Selectable in the Payload builder
current.phone string Selectable in the Payload builder
current.is_archived boolean Selectable in the Payload builder
current.previous_app_id string Selectable in the Payload builder
current.previous_app_name string Selectable in the Payload builder

Location updated

EVENT locations/update App scope: read_locations Staff permission: locations:read

Fired when a location's non-state fields change, including fulfillment_priority changes from a reorder. State transitions fire their specific topic instead; if state and non-state fields change in one save, both fire. Archiving or restoring a location, and an uninstall handing an app's locations to the merchant, also fire this topic with is_archived or app_id and previous_app_id/previous_app_name in changed_fields.

Payload fields

Field Type Description
resource_type string Selectable in the Payload builder
resource_id string Selectable in the Payload builder
occurred_at string Selectable in the Payload builder
previous.id string Selectable in the Payload builder
previous.name string Selectable in the Payload builder
previous.slug string Selectable in the Payload builder
previous.app_id string Selectable in the Payload builder
previous.is_app_managed boolean Selectable in the Payload builder
previous.is_primary boolean Selectable in the Payload builder
previous.is_active boolean Selectable in the Payload builder
previous.fulfills_online_orders boolean Selectable in the Payload builder
previous.fulfillment_priority integer Selectable in the Payload builder
previous.address_line1 string Selectable in the Payload builder
previous.address_line2 string Selectable in the Payload builder
previous.city string Selectable in the Payload builder
previous.state_province string Selectable in the Payload builder
previous.postal_code string Selectable in the Payload builder
previous.country_code string Selectable in the Payload builder
previous.phone string Selectable in the Payload builder
previous.is_archived boolean Selectable in the Payload builder
previous.previous_app_id string Selectable in the Payload builder
previous.previous_app_name string Selectable in the Payload builder
current.id string Selectable in the Payload builder
current.name string Selectable in the Payload builder
current.slug string Selectable in the Payload builder
current.app_id string Selectable in the Payload builder
current.is_app_managed boolean Selectable in the Payload builder
current.is_primary boolean Selectable in the Payload builder
current.is_active boolean Selectable in the Payload builder
current.fulfills_online_orders boolean Selectable in the Payload builder
current.fulfillment_priority integer Selectable in the Payload builder
current.address_line1 string Selectable in the Payload builder
current.address_line2 string Selectable in the Payload builder
current.city string Selectable in the Payload builder
current.state_province string Selectable in the Payload builder
current.postal_code string Selectable in the Payload builder
current.country_code string Selectable in the Payload builder
current.phone string Selectable in the Payload builder
current.is_archived boolean Selectable in the Payload builder
current.previous_app_id string Selectable in the Payload builder
current.previous_app_name string Selectable in the Payload builder
changed_fields array Selectable in the Payload builder

Location deleted

EVENT locations/delete App scope: read_locations Staff permission: locations:read

Fired when a location is deleted.

Payload fields

Field Type Description
resource_type string Selectable in the Payload builder
resource_id string Selectable in the Payload builder
occurred_at string Selectable in the Payload builder
previous.id string Selectable in the Payload builder
previous.name string Selectable in the Payload builder
previous.slug string Selectable in the Payload builder
previous.app_id string Selectable in the Payload builder
previous.is_app_managed boolean Selectable in the Payload builder
previous.is_primary boolean Selectable in the Payload builder
previous.is_active boolean Selectable in the Payload builder
previous.fulfills_online_orders boolean Selectable in the Payload builder
previous.fulfillment_priority integer Selectable in the Payload builder
previous.address_line1 string Selectable in the Payload builder
previous.address_line2 string Selectable in the Payload builder
previous.city string Selectable in the Payload builder
previous.state_province string Selectable in the Payload builder
previous.postal_code string Selectable in the Payload builder
previous.country_code string Selectable in the Payload builder
previous.phone string Selectable in the Payload builder
previous.is_archived boolean Selectable in the Payload builder
previous.previous_app_id string Selectable in the Payload builder
previous.previous_app_name string Selectable in the Payload builder

Location activated

EVENT locations/activated App scope: read_locations Staff permission: locations:read

Fired when a location's is_active flips from false to true.

Payload fields

Field Type Description
resource_type string Selectable in the Payload builder
resource_id string Selectable in the Payload builder
occurred_at string Selectable in the Payload builder
previous.id string Selectable in the Payload builder
previous.name string Selectable in the Payload builder
previous.slug string Selectable in the Payload builder
previous.app_id string Selectable in the Payload builder
previous.is_app_managed boolean Selectable in the Payload builder
previous.is_primary boolean Selectable in the Payload builder
previous.is_active boolean Selectable in the Payload builder
previous.fulfills_online_orders boolean Selectable in the Payload builder
previous.fulfillment_priority integer Selectable in the Payload builder
previous.address_line1 string Selectable in the Payload builder
previous.address_line2 string Selectable in the Payload builder
previous.city string Selectable in the Payload builder
previous.state_province string Selectable in the Payload builder
previous.postal_code string Selectable in the Payload builder
previous.country_code string Selectable in the Payload builder
previous.phone string Selectable in the Payload builder
previous.is_archived boolean Selectable in the Payload builder
previous.previous_app_id string Selectable in the Payload builder
previous.previous_app_name string Selectable in the Payload builder
current.id string Selectable in the Payload builder
current.name string Selectable in the Payload builder
current.slug string Selectable in the Payload builder
current.app_id string Selectable in the Payload builder
current.is_app_managed boolean Selectable in the Payload builder
current.is_primary boolean Selectable in the Payload builder
current.is_active boolean Selectable in the Payload builder
current.fulfills_online_orders boolean Selectable in the Payload builder
current.fulfillment_priority integer Selectable in the Payload builder
current.address_line1 string Selectable in the Payload builder
current.address_line2 string Selectable in the Payload builder
current.city string Selectable in the Payload builder
current.state_province string Selectable in the Payload builder
current.postal_code string Selectable in the Payload builder
current.country_code string Selectable in the Payload builder
current.phone string Selectable in the Payload builder
current.is_archived boolean Selectable in the Payload builder
current.previous_app_id string Selectable in the Payload builder
current.previous_app_name string Selectable in the Payload builder
changed_fields array Selectable in the Payload builder

Location deactivated

EVENT locations/deactivated App scope: read_locations Staff permission: locations:read

Fired when a location's is_active flips from true to false. Fulfillment integrations typically reassign pending work on this event.

Payload fields

Field Type Description
resource_type string Selectable in the Payload builder
resource_id string Selectable in the Payload builder
occurred_at string Selectable in the Payload builder
previous.id string Selectable in the Payload builder
previous.name string Selectable in the Payload builder
previous.slug string Selectable in the Payload builder
previous.app_id string Selectable in the Payload builder
previous.is_app_managed boolean Selectable in the Payload builder
previous.is_primary boolean Selectable in the Payload builder
previous.is_active boolean Selectable in the Payload builder
previous.fulfills_online_orders boolean Selectable in the Payload builder
previous.fulfillment_priority integer Selectable in the Payload builder
previous.address_line1 string Selectable in the Payload builder
previous.address_line2 string Selectable in the Payload builder
previous.city string Selectable in the Payload builder
previous.state_province string Selectable in the Payload builder
previous.postal_code string Selectable in the Payload builder
previous.country_code string Selectable in the Payload builder
previous.phone string Selectable in the Payload builder
previous.is_archived boolean Selectable in the Payload builder
previous.previous_app_id string Selectable in the Payload builder
previous.previous_app_name string Selectable in the Payload builder
current.id string Selectable in the Payload builder
current.name string Selectable in the Payload builder
current.slug string Selectable in the Payload builder
current.app_id string Selectable in the Payload builder
current.is_app_managed boolean Selectable in the Payload builder
current.is_primary boolean Selectable in the Payload builder
current.is_active boolean Selectable in the Payload builder
current.fulfills_online_orders boolean Selectable in the Payload builder
current.fulfillment_priority integer Selectable in the Payload builder
current.address_line1 string Selectable in the Payload builder
current.address_line2 string Selectable in the Payload builder
current.city string Selectable in the Payload builder
current.state_province string Selectable in the Payload builder
current.postal_code string Selectable in the Payload builder
current.country_code string Selectable in the Payload builder
current.phone string Selectable in the Payload builder
current.is_archived boolean Selectable in the Payload builder
current.previous_app_id string Selectable in the Payload builder
current.previous_app_name string Selectable in the Payload builder
changed_fields array Selectable in the Payload builder

Location fulfillment enabled

EVENT locations/fulfillment_enabled App scope: read_locations Staff permission: locations:read

Fired when a location's fulfills_online_orders flips from false to true.

Payload fields

Field Type Description
resource_type string Selectable in the Payload builder
resource_id string Selectable in the Payload builder
occurred_at string Selectable in the Payload builder
previous.id string Selectable in the Payload builder
previous.name string Selectable in the Payload builder
previous.slug string Selectable in the Payload builder
previous.app_id string Selectable in the Payload builder
previous.is_app_managed boolean Selectable in the Payload builder
previous.is_primary boolean Selectable in the Payload builder
previous.is_active boolean Selectable in the Payload builder
previous.fulfills_online_orders boolean Selectable in the Payload builder
previous.fulfillment_priority integer Selectable in the Payload builder
previous.address_line1 string Selectable in the Payload builder
previous.address_line2 string Selectable in the Payload builder
previous.city string Selectable in the Payload builder
previous.state_province string Selectable in the Payload builder
previous.postal_code string Selectable in the Payload builder
previous.country_code string Selectable in the Payload builder
previous.phone string Selectable in the Payload builder
previous.is_archived boolean Selectable in the Payload builder
previous.previous_app_id string Selectable in the Payload builder
previous.previous_app_name string Selectable in the Payload builder
current.id string Selectable in the Payload builder
current.name string Selectable in the Payload builder
current.slug string Selectable in the Payload builder
current.app_id string Selectable in the Payload builder
current.is_app_managed boolean Selectable in the Payload builder
current.is_primary boolean Selectable in the Payload builder
current.is_active boolean Selectable in the Payload builder
current.fulfills_online_orders boolean Selectable in the Payload builder
current.fulfillment_priority integer Selectable in the Payload builder
current.address_line1 string Selectable in the Payload builder
current.address_line2 string Selectable in the Payload builder
current.city string Selectable in the Payload builder
current.state_province string Selectable in the Payload builder
current.postal_code string Selectable in the Payload builder
current.country_code string Selectable in the Payload builder
current.phone string Selectable in the Payload builder
current.is_archived boolean Selectable in the Payload builder
current.previous_app_id string Selectable in the Payload builder
current.previous_app_name string Selectable in the Payload builder
changed_fields array Selectable in the Payload builder

Location fulfillment disabled

EVENT locations/fulfillment_disabled App scope: read_locations Staff permission: locations:read

Fired when a location's fulfills_online_orders flips from true to false. Fulfillment integrations should stop routing new online orders here.

Payload fields

Field Type Description
resource_type string Selectable in the Payload builder
resource_id string Selectable in the Payload builder
occurred_at string Selectable in the Payload builder
previous.id string Selectable in the Payload builder
previous.name string Selectable in the Payload builder
previous.slug string Selectable in the Payload builder
previous.app_id string Selectable in the Payload builder
previous.is_app_managed boolean Selectable in the Payload builder
previous.is_primary boolean Selectable in the Payload builder
previous.is_active boolean Selectable in the Payload builder
previous.fulfills_online_orders boolean Selectable in the Payload builder
previous.fulfillment_priority integer Selectable in the Payload builder
previous.address_line1 string Selectable in the Payload builder
previous.address_line2 string Selectable in the Payload builder
previous.city string Selectable in the Payload builder
previous.state_province string Selectable in the Payload builder
previous.postal_code string Selectable in the Payload builder
previous.country_code string Selectable in the Payload builder
previous.phone string Selectable in the Payload builder
previous.is_archived boolean Selectable in the Payload builder
previous.previous_app_id string Selectable in the Payload builder
previous.previous_app_name string Selectable in the Payload builder
current.id string Selectable in the Payload builder
current.name string Selectable in the Payload builder
current.slug string Selectable in the Payload builder
current.app_id string Selectable in the Payload builder
current.is_app_managed boolean Selectable in the Payload builder
current.is_primary boolean Selectable in the Payload builder
current.is_active boolean Selectable in the Payload builder
current.fulfills_online_orders boolean Selectable in the Payload builder
current.fulfillment_priority integer Selectable in the Payload builder
current.address_line1 string Selectable in the Payload builder
current.address_line2 string Selectable in the Payload builder
current.city string Selectable in the Payload builder
current.state_province string Selectable in the Payload builder
current.postal_code string Selectable in the Payload builder
current.country_code string Selectable in the Payload builder
current.phone string Selectable in the Payload builder
current.is_archived boolean Selectable in the Payload builder
current.previous_app_id string Selectable in the Payload builder
current.previous_app_name string Selectable in the Payload builder
changed_fields array Selectable in the Payload builder