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
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
application/jsonTaxRatePut
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
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
-
200OKTaxProvider -
401Error (spec/API.md).Error -
403Error (spec/API.md).Error
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
application/jsonTaxProviderPut
Responses
-
200OKTaxProvider -
400Error (spec/API.md).Error -
401Error (spec/API.md).Error -
403Error (spec/API.md).Error -
409Error (spec/API.md).Error
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
-
200OKTaxProvider -
401Error (spec/API.md).Error -
403Error (spec/API.md).Error -
409Error (spec/API.md).Error
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
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
application/jsonDepositPut
Responses
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
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 |