epx delivery-times
Reads and changes delivery times, the days on which a site delivers to a zone, and their time slots; reads the delivery windows open to a cart, checks and counts the orders of a delivery window and names its delivery cycle. Its reads require different OAuth scopes; the help of each names them. Its writes require the shipping.shipping_manage scope. Command:epx delivery-times [flags], epx delivery-times [command]
Flags: only the global flags.
Subcommands
epx delivery-times bulk-create
Create delivery times in bulk.epx delivery-times create
Create a delivery time.epx delivery-times delete
Delete a delivery time.epx delivery-times generate-cycle
Name the delivery cycle of a delivery window.epx delivery-times get
Show one delivery time.epx delivery-times increment-counter
Count one more order in a delivery window.epx delivery-times list
List delivery times.epx delivery-times patch
Change a delivery time.epx delivery-times slots
Read and change the time slots of a delivery time.epx delivery-times update
Replace a delivery time.epx delivery-times validate
Check whether a delivery window can take an order.epx delivery-times windows
List the delivery windows open to a cart.
epx delivery-times bulk-create
Create delivery times in bulk. Creates the delivery times in--file, a JSON array of delivery times, each as create
takes it.
Emporix takes up to 50 items in one request (epx refuses more), carries out each on
its own and answers with the result of each: when one failed, epx prints the response,
lists the items that failed on standard error (one that failed with 500, 502, 503 or 504
may have been carried out all the same) and exits with the code that their failures
share (for example 5 for a 409 Conflict, 4 for a 404), else 1.
Changes data: on a terminal, epx asks before it sends POST. --yes sends without
asking (required without a terminal, or with --file -); --dry-run prints the request
instead of sending it.
Requires the shipping.shipping_manage scope.
Command: epx delivery-times bulk-create [flags]
Flags
--dry-run
Print the request instead of sending it (excludes-o).--file <PATH>
JSON request body in PATH, sent byte for byte (- reads standard input; sending it then needs--yes; required).-o, --output <format>
Format of the response: json or yaml. Default:json.--validate-overlap <string>
Whether Emporix refuses slots of one shipping method whose time ranges overlap (it does unless given false): true or false.--yes
Send without asking (required without a terminal, or with--file-).
epx delivery-times create
Create a delivery time. Creates a delivery time from the JSON in--file: its siteCode and zoneId (or isForAllZones,
for a day without delivery on every zone of the site), its day (a weekday, singleDate or
datePeriod), isDeliveryDay, timeZoneId and deliveryDayShift, the slots of a delivery day
and optionally the delivery time’s id and name, as epx delivery-times get ID -o json
prints one; a slot with a cutOffDayShift needs a delivery time without deliveryDayShift.
Emporix answers with its id, and refuses a delivery time that overlaps another of its
zone, or is not valid otherwise, with 400 Bad Request (exit 1).
Changes data: on a terminal, epx asks before it sends POST. --yes sends without
asking (required without a terminal, or with --file -); --dry-run prints the request
instead of sending it.
Requires the shipping.shipping_manage scope.
Command: epx delivery-times create [flags]
Flags
--dry-run
Print the request instead of sending it (excludes-o).--file <PATH>
JSON request body in PATH, sent byte for byte (- reads standard input; sending it then needs--yes; required).-o, --output <format>
Format of the response: json or yaml. Default:json.--validate-overlap <string>
Whether Emporix refuses slots of one shipping method whose time ranges overlap (it does unless given false): true or false.--yes
Send without asking (required without a terminal, or with--file-).
epx delivery-times delete
Delete a delivery time. Deletes the delivery time ID with its time slots. Emporix answers an unknown ID as one that it deleted (204 No Content). Deletes data, which cannot be undone. On a terminal, epx sends DELETE only once you type ID at its prompt.--yes sends without asking (required without a terminal);
--dry-run prints the request instead of sending it.
Requires the shipping.shipping_manage scope.
Command: epx delivery-times delete ID [flags]
Flags
--dry-run
Print the request instead of sending it (excludes-o).-o, --output <format>
Format of the response: json or yaml. Default:json.--yes
Send without asking (required without a terminal).
epx delivery-times generate-cycle
Name the delivery cycle of a delivery window. Prints the name of the delivery cycle of a delivery window, as Emporix names it in the delivery windows of a cart and in orders (deliveryCycle inepx delivery-times windows CART_ID -o json): the delivery date, the hour (UTC) of the
slot’s cut-off time and the deliveryCycleName of its cutOffTime, such as 2026-06-20-6morning.
The delivery window is the delivery time --delivery-time on --date, an ISO 8601
date and time such as 2026-11-02T12:00:00.000Z, in its --slot: epx delivery-times list
and epx delivery-times slots list show their IDs.
Emporix answers an unknown delivery time with 403 Forbidden (exit 3), not as not found.
Changes nothing: Emporix serves this read as POST with a JSON body, which the
flags make or --body gives whole.
No OAuth scope is needed.
Command: epx delivery-times generate-cycle [flags]
Flags
--body <FILE>
Send the JSON request body in FILE as given (- reads standard input) instead of the one the other flags make.--columns <names>
Print only these columns of table and csv, in this order: comma-separated names (any case) among CYCLE.--date <DATE>
The delivery DATE and time, ISO 8601 (required without--body).--delivery-time <ID>
The delivery time’s ID (required without--body).--no-headers
Print table and csv without the header row.-o, --output <format>
Output format: table, json, yaml or csv (csv: the table’s rows; json and yaml: the whole response). Default:table.--slot <ID>
The ID of the delivery time’s slot (required without--body).
epx delivery-times get
Show one delivery time. Reads delivery times, the days on which a site delivers to a zone. ZONE is a zone id (epx shipping zones list --site S), or "all zones" for a day without delivery on every
zone; DAY is a weekday, a date or a date period (from/to); DELIVERS is false for a day
without delivery; DAY SHIFT is how many days the delivery follows an order placed before
the cut-off, when the delivery time sets it (a weekday’s slots may set their own); SLOTS
counts the time slots, which epx delivery-times slots list DELIVERY_TIME_ID lists.
Requires the shipping.shipping_read scope.
Command: epx delivery-times get ID [flags]
Flags
--columns <names>
Print only these columns of table and csv, in this order: comma-separated names (any case) among ID, NAME, SITE, ZONE, DAY, DELIVERS, TIME ZONE, DAY SHIFT, SLOTS.--no-headers
Print table and csv without the header row.-o, --output <format>
Output format: table, json, yaml or csv (csv: the table’s rows; json and yaml: the whole response). Default:table.
epx delivery-times increment-counter
Count one more order in a delivery window. Counts one more order in a delivery window that has capacity left. The delivery window is the delivery time--delivery-time on --date, an ISO 8601
date and time such as 2026-11-02T12:00:00.000Z, in its --slot: epx delivery-times list
and epx delivery-times slots list show their IDs.
The Checkout Service counts each order that it places with a delivery window; only a
checkout of your own needs this. Emporix answers true once it counted the order, and a
window that is full or not offered that day, or a date in the past or in another format,
with 400 Bad Request (exit 1). The body may also come whole from --file.
Changes data: on a terminal, epx asks before it sends POST. --yes sends without
asking (required without a terminal, or with --file -); --dry-run prints the request
instead of sending it.
Requires the shipping.shipping_manage scope.
Command: epx delivery-times increment-counter [flags]
Flags
--date <DATE>
The delivery DATE and time, ISO 8601 (required without--file).--delivery-time <ID>
The delivery time’s ID (required without--file).--dry-run
Print the request instead of sending it (excludes-o).--file <PATH>
JSON request body in PATH, sent byte for byte instead of the one that epx makes (- reads standard input; sending it then needs--yes).-o, --output <format>
Format of the response: json or yaml. Default:json.--slot <ID>
The ID of the delivery time’s slot (required without--file).--yes
Send without asking (required without a terminal, or with--file-).
epx delivery-times list
List delivery times. Reads delivery times, the days on which a site delivers to a zone. ZONE is a zone id (epx shipping zones list --site S), or "all zones" for a day without delivery on every
zone; DAY is a weekday, a date or a date period (from/to); DELIVERS is false for a day
without delivery; DAY SHIFT is how many days the delivery follows an order placed before
the cut-off, when the delivery time sets it (a weekday’s slots may set their own); SLOTS
counts the time slots, which epx delivery-times slots list DELIVERY_TIME_ID lists.
Requires the shipping.shipping_read scope.
Command: epx delivery-times list [flags]
Flags
--columns <names>
Print only these columns of table and csv, in this order: comma-separated names (any case) among ID, NAME, SITE, ZONE, DAY, DELIVERS, TIME ZONE, DAY SHIFT, SLOTS.--limit <n>
Print at most n items; paged reads stop early where they safely can (0: every item).--no-headers
Print table and csv without the header row.-o, --output <format>
Output format: table, json, yaml or csv (csv: the table’s rows; json and yaml: the whole response). Default:table.--stream
Print items as JSON Lines as soon as they are checked, page by page on paged lists, reading up to 10000 pages where a list without it stops after 1000: a check failing on a later page exits 1 after the pages before it (excludes-o,--columnsand--no-headers).
epx delivery-times patch
Change a delivery time. Changes the delivery time ID with the JSON Patch (RFC 6902) in--file: an array of operations whose op is add, remove or replace, such as
[{"op": "replace", "path": "/name", "value": "Mondays"}].
An unknown ID is not found (exit 4).
Changes data: on a terminal, epx asks before it sends PATCH. --yes sends without
asking (required without a terminal, or with --file -); --dry-run prints the request
instead of sending it.
Requires the shipping.shipping_manage scope.
Command: epx delivery-times patch ID [flags]
Flags
--dry-run
Print the request instead of sending it (excludes-o).--file <PATH>
JSON request body in PATH, sent byte for byte (- reads standard input; sending it then needs--yes; required).-o, --output <format>
Format of the response: json or yaml. Default:json.--validate-overlap <string>
Whether Emporix refuses slots of one shipping method whose time ranges overlap (it does unless given false): true or false.--yes
Send without asking (required without a terminal, or with--file-).
epx delivery-times slots
Read and change the time slots of a delivery time. Reads and changes the time slots of a delivery time. Its reads require the shipping.shipping_read scope. Its writes require the shipping.shipping_manage scope. Command:epx delivery-times slots [flags], epx delivery-times slots [command]
Flags: only the global flags.
Subcommands
epx delivery-times slots create
Create a time slot of a delivery time.epx delivery-times slots delete
Delete a time slot of a delivery time.epx delivery-times slots delete-all
Delete every time slot of a delivery time.epx delivery-times slots get
Show one time slot of a delivery time.epx delivery-times slots list
List the time slots of a delivery time.epx delivery-times slots patch
Change a time slot of a delivery time.epx delivery-times slots update
Replace a time slot of a delivery time.
epx delivery-times slots create
Create a time slot of a delivery time. Creates a time slot of a delivery day from the JSON in--file: its shippingMethod (a method
of the delivery time’s zone), deliveryTimeRange (timeFrom and timeTo, local times such as
08:00), cutOffTime (its time, an ISO 8601 timestamp whose time of day counts, and for a
weekday its cutOffDayShift, which the delivery time must not combine with a
deliveryDayShift), capacity (the orders it takes) and optionally its id, as
epx delivery-times slots get DELIVERY_TIME_ID ID -o json prints one. Emporix answers
with its id, and a slot id that exists already with 400 Bad Request (exit 1), not as a
conflict.
DELIVERY_TIME_ID is the ID that epx delivery-times list shows; an unknown one is not found.
Changes data: on a terminal, epx asks before it sends POST. --yes sends without
asking (required without a terminal, or with --file -); --dry-run prints the request
instead of sending it.
Requires the shipping.shipping_manage scope.
Command: epx delivery-times slots create DELIVERY_TIME_ID [flags]
Flags
--dry-run
Print the request instead of sending it (excludes-o).--file <PATH>
JSON request body in PATH, sent byte for byte (- reads standard input; sending it then needs--yes; required).-o, --output <format>
Format of the response: json or yaml. Default:json.--validate-overlap <string>
Whether Emporix refuses slots of one shipping method whose time ranges overlap (it does unless given false): true or false.--yes
Send without asking (required without a terminal, or with--file-).
epx delivery-times slots delete
Delete a time slot of a delivery time. Deletes the time slot ID of a delivery time. DELIVERY_TIME_ID is the ID thatepx delivery-times list shows; an unknown one is not found.
ID is the ID that epx delivery-times slots list DELIVERY_TIME_ID shows; an unknown one is answered as one that Emporix deleted (204 No Content).
Deletes data, which cannot be undone.
On a terminal, epx sends DELETE only once you type ID at its prompt.
--yes sends without asking (required without a terminal);
--dry-run prints the request instead of sending it.
Requires the shipping.shipping_manage scope.
Command: epx delivery-times slots delete DELIVERY_TIME_ID ID [flags]
Flags
--dry-run
Print the request instead of sending it (excludes-o).-o, --output <format>
Format of the response: json or yaml. Default:json.--yes
Send without asking (required without a terminal).
epx delivery-times slots delete-all
Delete every time slot of a delivery time. Deletes every time slot of a delivery time. DELIVERY_TIME_ID is the ID thatepx delivery-times list shows; an unknown one is not found.
Deletes every time slot of the delivery time with one request, which cannot be undone.
On a terminal, epx sends DELETE only once you type DELIVERY_TIME_ID at its prompt.
--yes sends without asking (required without a terminal);
--dry-run prints the request instead of sending it.
Requires the shipping.shipping_manage scope.
Command: epx delivery-times slots delete-all DELIVERY_TIME_ID [flags]
Flags
--dry-run
Print the request instead of sending it (excludes-o).-o, --output <format>
Format of the response: json or yaml. Default:json.--yes
Send without asking (required without a terminal).
epx delivery-times slots get
Show one time slot of a delivery time. Reads one time slot of a delivery time. DELIVERY_TIME_ID is the ID thatepx delivery-times list shows; an unknown one is not found.
ID is the ID that epx delivery-times slots list DELIVERY_TIME_ID shows; an unknown one is not found.
METHOD is the shipping method of the slot (epx shipping zones methods list), FROM and TO
its delivery window in the delivery time’s TIME ZONE, CUT-OFF the latest time of day to
order for the slot (sent as an ISO 8601 timestamp whose date Emporix ignores), CUT-OFF DAYS
how many days the delivery follows such an order (weekday delivery times only; otherwise
see DAY SHIFT in epx delivery-times list), and CAPACITY how many orders the slot takes.
Requires the shipping.shipping_read scope.
Command: epx delivery-times slots get DELIVERY_TIME_ID ID [flags]
Flags
--columns <names>
Print only these columns of table and csv, in this order: comma-separated names (any case) among ID, METHOD, FROM, TO, CUT-OFF, CUT-OFF DAYS, CAPACITY.--no-headers
Print table and csv without the header row.-o, --output <format>
Output format: table, json, yaml or csv (csv: the table’s rows; json and yaml: the whole response). Default:table.
epx delivery-times slots list
List the time slots of a delivery time. Reads the time slots of a delivery time. DELIVERY_TIME_ID is the ID thatepx delivery-times list shows; an unknown one is not found.
METHOD is the shipping method of the slot (epx shipping zones methods list), FROM and TO
its delivery window in the delivery time’s TIME ZONE, CUT-OFF the latest time of day to
order for the slot (sent as an ISO 8601 timestamp whose date Emporix ignores), CUT-OFF DAYS
how many days the delivery follows such an order (weekday delivery times only; otherwise
see DAY SHIFT in epx delivery-times list), and CAPACITY how many orders the slot takes.
Requires the shipping.shipping_read scope.
Command: epx delivery-times slots list DELIVERY_TIME_ID [flags]
Flags
--columns <names>
Print only these columns of table and csv, in this order: comma-separated names (any case) among ID, METHOD, FROM, TO, CUT-OFF, CUT-OFF DAYS, CAPACITY.--limit <n>
Print at most n items; paged reads stop early where they safely can (0: every item).--no-headers
Print table and csv without the header row.-o, --output <format>
Output format: table, json, yaml or csv (csv: the table’s rows; json and yaml: the whole response). Default:table.--stream
Print items as JSON Lines as soon as they are checked, page by page on paged lists, reading up to 10000 pages where a list without it stops after 1000: a check failing on a later page exits 1 after the pages before it (excludes-o,--columnsand--no-headers).
epx delivery-times slots patch
Change a time slot of a delivery time. Changes the time slot ID of a delivery time with the JSON Patch (RFC 6902) in--file: an array of operations whose op is add, remove or replace, such as
[{"op": "replace", "path": "/capacity", "value": 50}].
DELIVERY_TIME_ID is the ID that epx delivery-times list shows; an unknown one is not found.
ID is the ID that epx delivery-times slots list DELIVERY_TIME_ID shows; an unknown one is not found.
Changes data: on a terminal, epx asks before it sends PATCH. --yes sends without
asking (required without a terminal, or with --file -); --dry-run prints the request
instead of sending it.
Requires the shipping.shipping_manage scope.
Command: epx delivery-times slots patch DELIVERY_TIME_ID ID [flags]
Flags
--dry-run
Print the request instead of sending it (excludes-o).--file <PATH>
JSON request body in PATH, sent byte for byte (- reads standard input; sending it then needs--yes; required).-o, --output <format>
Format of the response: json or yaml. Default:json.--validate-overlap <string>
Whether Emporix refuses slots of one shipping method whose time ranges overlap (it does unless given false): true or false.--yes
Send without asking (required without a terminal, or with--file-).
epx delivery-times slots update
Replace a time slot of a delivery time. Replaces the time slot ID of a delivery time with the one in--file, as create takes it.
DELIVERY_TIME_ID is the ID that epx delivery-times list shows; an unknown one is not found.
ID is the ID that epx delivery-times slots list DELIVERY_TIME_ID shows; an unknown one is not found.
Changes data: on a terminal, epx asks before it sends PUT. --yes sends without
asking (required without a terminal, or with --file -); --dry-run prints the request
instead of sending it.
Requires the shipping.shipping_manage scope.
Command: epx delivery-times slots update DELIVERY_TIME_ID ID [flags]
Flags
--dry-run
Print the request instead of sending it (excludes-o).--file <PATH>
JSON request body in PATH, sent byte for byte (- reads standard input; sending it then needs--yes; required).-o, --output <format>
Format of the response: json or yaml. Default:json.--validate-overlap <string>
Whether Emporix refuses slots of one shipping method whose time ranges overlap (it does unless given false): true or false.--yes
Send without asking (required without a terminal, or with--file-).
epx delivery-times update
Replace a delivery time. Replaces the delivery time ID with the one in--file, as create takes it. With
metadata.version in the body, as epx delivery-times get ID -o json prints it, Emporix
refuses the write as a conflict (exit 5) when the delivery time changed since it was read;
without it, Emporix replaces it whatever its version. An unknown ID is not found (exit 4).
Changes data: on a terminal, epx asks before it sends PUT. --yes sends without
asking (required without a terminal, or with --file -); --dry-run prints the request
instead of sending it.
Requires the shipping.shipping_manage scope.
Command: epx delivery-times update ID [flags]
Flags
--dry-run
Print the request instead of sending it (excludes-o).--file <PATH>
JSON request body in PATH, sent byte for byte (- reads standard input; sending it then needs--yes; required).-o, --output <format>
Format of the response: json or yaml. Default:json.--validate-overlap <string>
Whether Emporix refuses slots of one shipping method whose time ranges overlap (it does unless given false): true or false.--yes
Send without asking (required without a terminal, or with--file-).
epx delivery-times validate
Check whether a delivery window can take an order. Checks whether a delivery window can take an order. The delivery window is the delivery time--delivery-time on --date, an ISO 8601
date and time such as 2026-11-02T12:00:00.000Z, in its --slot: epx delivery-times list
and epx delivery-times slots list show their IDs.
VALID is true when it can; Emporix answers a date in the past or in another format, or a
window that is full or not offered that day, with 400 Bad Request (exit 1), and an unknown
delivery time as not found (exit 4).
Changes nothing: Emporix serves this read as POST with a JSON body, which the
flags make or --body gives whole.
No OAuth scope is needed.
Command: epx delivery-times validate [flags]
Flags
--body <FILE>
Send the JSON request body in FILE as given (- reads standard input) instead of the one the other flags make.--columns <names>
Print only these columns of table and csv, in this order: comma-separated names (any case) among VALID.--date <DATE>
The delivery DATE and time, ISO 8601 (required without--body).--delivery-time <ID>
The delivery time’s ID (required without--body).--no-headers
Print table and csv without the header row.-o, --output <format>
Output format: table, json, yaml or csv (csv: the table’s rows; json and yaml: the whole response). Default:table.--slot <ID>
The ID of the delivery time’s slot (required without--body).
epx delivery-times windows
List the delivery windows open to a cart. Reads the delivery windows in which a cart can be delivered to the country and postal code set on the cart. DATE is the delivery day, FROM and TO the delivery time range on it, METHOD the shipping method, ZONE the shipping zone, CUT-OFF the latest time to order for the window, SLOT the time slot of its delivery time, whichepx delivery-times slots list DELIVERY_TIME_ID lists, and ID the id of that delivery
time (epx delivery-times get ID); the delivery cycle is only in -o json.
For another postal code than the cart’s, run
epx api get /shipping/{tenant}/actualDeliveryWindows/CART_ID -p postalCode=CODE.
CART_ID is the id of a cart; an unknown one is not found (exit 4).
No OAuth scope is needed.
Command: epx delivery-times windows CART_ID [flags]
Flags
--columns <names>
Print only these columns of table and csv, in this order: comma-separated names (any case) among DATE, FROM, TO, METHOD, ZONE, CUT-OFF, SLOT, ID.--limit <n>
Print at most n items; paged reads stop early where they safely can (0: every item).--no-headers
Print table and csv without the header row.-o, --output <format>
Output format: table, json, yaml or csv (csv: the table’s rows; json and yaml: the whole response). Default:table.--stream
Print items as JSON Lines as soon as they are checked, page by page on paged lists, reading up to 10000 pages where a list without it stops after 1000: a check failing on a later page exits 1 after the pages before it (excludes-o,--columnsand--no-headers).