iRetail PRO store node 1.0.0-m1: tax-rates

9 operations

← All documentation · Source: contracts openapi/store-v1.yaml at 8000474.

← iRetail PRO store node 1.0.0-m1

Operations

GET /v1/tax-rates Tax rates of this store.

operationId listTaxRates · Permission store.read

Parameters

Name In Type Description
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Responses

  • 200 OK array of TaxRate
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
PUT /v1/tax-rates/{code} Create or change a tax rate.

operationId putTaxRate · Permission store.edit

Parameters

Name In Type Description
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).
code required path string Tax code.
Approval-Token header string One-time approval from POST /v1/approvals for this operation's permission.

Request body required

Responses

DELETE /v1/tax-rates/{code} Delete a tax rate no item or service charge uses (409 conflict otherwise).

operationId deleteTaxRate · Permission store.edit

Parameters

Name In Type Description
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).
code required path string Tax code.
Approval-Token header string One-time approval from POST /v1/approvals for this operation's permission.

Responses

  • 204 Done
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 404 Error (spec/API.md). Error
  • 409 Error (spec/API.md). Error
GET /v1/tax-provider Where this store's tax rates come from, and how the last sync went (spec/TAX.md).

operationId getTaxProvider · Permission store.read

Parameters

Name In Type Description
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Responses

PUT /v1/tax-provider Set the tax service that fills this store's rates; the key is only named.

operationId putTaxProvider · Permission store.edit

Parameters

Name In Type Description
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).
Approval-Token header string One-time approval from POST /v1/approvals for this operation's permission.

Request body required

Responses

POST /v1/tax-provider/sync Ask the tax service for the rates now; answers the status after the attempt.

operationId syncTaxProvider · Permission store.edit

Parameters

Name In Type Description
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Responses

GET /v1/deposits Container deposits of this store (spec/TAX.md).

operationId listDeposits · Permission store.read

Parameters

Name In Type Description
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).

Responses

  • 200 OK array of Deposit
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
PUT /v1/deposits/{code} Create or change a container deposit.

operationId putDeposit · Permission store.edit

Parameters

Name In Type Description
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).
code required path string Deposit code.
Approval-Token header string One-time approval from POST /v1/approvals for this operation's permission.

Request body required

Responses

  • 200 OK Deposit
  • 400 Error (spec/API.md). Error
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 409 Error (spec/API.md). Error
DELETE /v1/deposits/{code} Delete a deposit no item names.

operationId deleteDeposit · Permission store.edit

Parameters

Name In Type Description
IRetail-App header string Which app sends the request, at which version: <app>/<version>, optionally a space and (<platform>), as cashier/1.2.0 (windows-x64) or manager/1.2.0 (web). The register (cashier), the back office and the console (manager) and the device gateway (gateway) send it on every request; a request without it is not one of the apps and is served as the current API, and a device token of an app's kind without it is an app of an unknown version; a header that does not parse counts as absent. The node may refuse an app 426 app_update_required by it, except on the operations marked x-app-update-exempt. Not a security boundary (spec/API.md, Transport; spec/RELEASES.md, Who is asking).
code required path string Deposit code.
Approval-Token header string One-time approval from POST /v1/approvals for this operation's permission.

Responses

  • 204 Done
  • 401 Error (spec/API.md). Error
  • 403 Error (spec/API.md). Error
  • 404 Error (spec/API.md). Error
  • 409 Error (spec/API.md). Error

Schemas

Error object

Every error response.

error required string Stable code, see spec/API.md.
message required string English text for logs.
details object

LocalizedText map of string

Text by language code; the organization's default language must be present.

TaxRate object

code required string
rate_ppm required integer
name required LocalizedText
jurisdiction required "state" | "county" | "city" | "district" | null The taxing jurisdiction (spec/TAX.md); null for a code that is not a US jurisdiction.
categories required array of TaxCategory | null The categories the code taxes; null for every category.
exempt_categories required array of TaxCategory
holidays required array of TaxHoliday

TaxRatePut object

The fields beyond rate and name default to a code with no jurisdiction that taxes every category, always.

rate_ppm required integer
name required LocalizedText
jurisdiction "state" | "county" | "city" | "district" | null The taxing jurisdiction (spec/TAX.md); null for a code that is not a US jurisdiction.
categories array of TaxCategory | null The categories the code taxes; null for every category.
exempt_categories array of TaxCategory
holidays array of TaxHoliday

TaxProviderAddress object

line1 required string
city required string
region required string
postal_code required string

TaxProviderPut object

provider required "avalara" | "taxjar" | null
account_id string | null Avalara's account number; null for TaxJar.
key_name string | null The node reads the key from IRETAIL_TAX_KEY_<NAME> or the file IRETAIL_TAX_KEY_<NAME>_FILE names; never the key itself.
sandbox boolean
address TaxProviderAddress | null
mapping object Which tax code takes each jurisdiction's rate.

TaxRateChange object

code required string
from_ppm required integer
to_ppm required integer

TaxProviderStatus object

state required "never" | "ok" | "failed"
last_attempt_at required string (date-time) | null
last_success_at required string (date-time) | null
error required "key_missing" | "provider_unreachable" | "provider_refused" | "bad_answer" | null
changed required array of TaxRateChange The codes the last successful sync moved, in store order.

TaxProvider object

provider required "avalara" | "taxjar" | null
account_id required string | null Avalara's account number; null for TaxJar.
key_name required string | null The node reads the key from IRETAIL_TAX_KEY_<NAME> or the file IRETAIL_TAX_KEY_<NAME>_FILE names; never the key itself.
key_present required boolean Whether the node finds the named key; the key never leaves the node.
sandbox required boolean
address required TaxProviderAddress | null
mapping required object Which tax code takes each jurisdiction's rate.
status required TaxProviderStatus

TaxCategory "general" | "grocery" | "prepared_food" | "candy" | "soft_drink" | "dietary_supplement" | "clothing" | "otc_drug" | "rx_drug" | "medical_equipment" | "alcohol" | "tobacco" | "nontaxable"

An item's tax category (spec/TAX.md, "Item categories").

general · grocery · prepared_food · candy · soft_drink · dietary_supplement · clothing · otc_drug · rx_drug · medical_equipment · alcohol · tobacco · nontaxable

TaxHoliday object

A window when the code does not tax some categories (spec/TAX.md, "Tax holidays").

from required string (date)
to required string (date)
categories required array of TaxCategory
max_unit_price_minor required integer (int64) | null

Deposit object

A container deposit a state requires (spec/TAX.md, "Container deposits").

code required string
name required LocalizedText
amount_minor required integer (int64)
taxable required boolean Whether the deposit joins the line's tax base for the codes the line carries.

DepositPut object

name required LocalizedText
amount_minor required integer (int64)
taxable required boolean