BoxHero API Reference

BoxHero API can be used for retrieving data from outside the app.

Endpoint

https://rest.boxhero-app.com

Request Example

curl -X 'GET' \
'https://rest.boxhero-app.com/v1/products?location_ids=12345&location_ids=34567&limit=100' \
-H 'accept: application/json' \
-H 'Authorization: Bearer test-api-token-123'

Authorization

In the [Settings] - [Integrations & API] menu, you can issue a new API token. All API requests should have Authorization header as a Bearer {API token}.

Rate limits

We rate limit the API requests as follows.
  • 5 queries per second for each endpoint.
Once you are rate limited, the response will be an error message with the following additional information.
  • X-Ratelimit-Limit - Maximum queries per minute
  • X-Ratelimit-Remaining - Remaining queries
  • X-Ratelimit-Reset - Time to remaining query count reset (in seconds)

Response

Successes

Any response with an HTTP status code within the 200 range means that the API is processed successfully.

Errors

A response with an HTTP status code in the 400 or 500 range means that the request failed to be processed.
  • 400 range: error due to information provided with the request (ex: missing a required parameter).
  • 500 range: error due to a problem associated with the server.
When an error occurs, expect the following response.
{
"id": "ex_ku3gij67k9xzc8ef6r5esyu5",
"type": "/errors/tokens/invalid",
"title": "Authentication token is invalid. Please provide a valid token.",
"correlation_id": "rq_z4g7dh55ykol7v2cx6homkpd",
"given": "invalid-token-123"
}
  • id : A unique ID to identify the error.
  • type : A code in the form of a URL that identifies the type of error.
  • title : Provide the contents of the error in human-readable form.
  • correlation_id : Points to the ID of the request associated with the error.
  • others : Additional fields may be included to provide additional information, such as "given" in the example.

Common Error Types

Type
Description
/errors/not-found
Fires when the requested resource cannot be found (for example, an item with a specific ID does not exist).
/errors/invalid-request
There is an error in the parameters provided with the request. (The 'errors' field in the response will contain parameter-specific errors).
/errors/invalid-team-mode
Fires when the requested query cannot be processed in the current team mode (for example, using the location lookup API in basic mode).
/errors/tokens/required
Fires when an API token is required to process the request but is not provided.
/errors/tokens/invalid
Fires if the API token provided is invalid (e.g., the API token has expired).
/errors/too-many-requests
A request has exceeded the rate limit.
/errors/unhandled
There was a server-side error that was not handled.
/errors/core/usage-limit-exceeded
Cannot process request due to usage limit. Please upgrade your team's plan.

Error Report and Development Requests

If the API is not working as expected or you experience other difficulties, please send us an email with your response to the email address listed below.
Additionally, if you have any development requests regarding the API, please send us an email to the following:

Resources

Team

get
/v1/teams/linked

Items

get
/v1/items
post
/v1/items
get
/v1/items/{item_id}
put
/v1/items/{item_id}
delete
/v1/items/{item_id}

Item Attributes

get
/v1/item-attrs
post
/v1/item-attrs
get
/v1/item-attrs/{attr_id}
put
/v1/item-attrs/{attr_id}
delete
/v1/item-attrs/{attr_id}
put
/v1/item-attrs/ranks

Partners

get
/v1/partners
post
/v1/partners
get
/v1/partners/{partner_id}
put
/v1/partners/{partner_id}
delete
/v1/partners/{partner_id}

Locations

get
/v1/locations
post
/v1/locations
get
/v1/locations/{location_id}
put
/v1/locations/{location_id}
delete
/v1/locations/{location_id}

Transactions (Basic mode)

get
/v1/txs
post
/v1/txs
get
/v1/txs/{tx_id}
put
/v1/txs/{tx_id}
delete
/v1/txs/{tx_id}

Transactions (Location mode)

get
/v1/location-txs
post
/v1/location-txs
get
/v1/location-txs/{tx_id}
put
/v1/location-txs/{tx_id}
delete
/v1/location-txs/{tx_id}
Last modified 3mo ago