1. Assets
  2. Retrieve Asset

Assets

Retrieve Asset

GET
`/v1/assets/:asset`

Get a single asset using its id.

js
        const response = await fetch("https://api.packagex.io/v1/assets/ast_czhgjrk5JaVvyATPDbyURp", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const asset = response.data;

      

List Assets

Example

GET
`/v1/assets`

When you want to retrieve multiple assets, your data property on the result will always be an array even if you don't have any assets.

js
        const response = await fetch("https://api.packagex.io/v1/assets", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const assets = response.data; //the array of assets
const pagination = response.pagination; //the pagination object

      

Pagination

If the has_more property on the pagination object is set to true, you know there are more assets in the database that have not been returned to you. The pagination object also has a page property indicating your current offset and a limit property. The total_count property in pagination returns the the total number of assets in the database.

By default the page is set to 1 and the limit is 25.

If we want to query for assets 26 - 50, we would request page 2 with a query parameter.

js
        const response = await fetch("https://api.packagex.io/v1/assets?page=2&limit=25", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const items = response.data; //the array of items 25 - 50
const pagination = response.pagination; //the pagination object

      

Filter

You can filter assets by location_id, assignee, is_warranty_valid, next_maintenance_date (maintenance interval), item_id, layout_id, statuses, warranty_valid_until (warranty validity interval).

  • location_id - Add the ID of one of your locations to get all of the assets currently mapped to that location. For example: location_id=loc_czhgjrk5JaVvyATPDbyURp
js
        const response = await fetch("https://api.packagex.io/v1/assets?location_id=loc_hj7gjrk5JaVvyATPDbyURp&page=3", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const assets = response.data;
const pagination = response.pagination;

      
  • item_id - Add the id of the asset item to get all of the assets created against the item. For example: item_id=item_czhgjrk5JaVvyATPDbyURp
js
        const response = await fetch("https://api.packagex.io/v1/assets?item_id=item_czhgjrk5JaVvyATPDbyURp&page=3", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const assets = response.data;
const pagination = response.pagination;

      
  • layout_id - Add the id of the layout to get all assets currently mapped to that layout. For example: layout_id=layout_czhgjrk5JaVvyATPDbyURp
js
        const response = await fetch("https://api.packagex.io/v1/assets?layout_id=item_czhgjrk5JaVvyATPDbyURp&page=3", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const assets = response.data;
const pagination = response.pagination;

      
  • assignee - This parameter allows you to list all assets that are currently assigned to a given contact.
js
        const response = await fetch("https://api.packagex.io/v1/assets?assignee=ctct_czhgjrk5JaVvyATPDbyURp", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const assets = response.data;
const pagination = response.pagination;

      
  • statuses - Allows you to filter assets that have a given status. You can pass comma separated list of statuses to filter with
js
        const response = await fetch("https://api.packagex.io/v1/assets?statuses=in_use,in_storage", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const assets = response.data;
const pagination = response.pagination;

      
  • list_archived - Allows you to filter assets that have been archived. These assets are not included in asset list unless this option is specified. The response in this case contains only the assets that have been archived.
js
        const response = await fetch("https://api.packagex.io/v1/assets?list_archived=true", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const assets = response.data;
const pagination = response.pagination;

      

Sorting

Sorting describes in what order you want your responses to come in. You can select an available property by which to sort, as well as the direction.

  • order_by - The property by which to sort. Available properties are: created_at, serial_number
  • direction - The direction to sort. Available directions are: asc and desc

By default, assets will be sorted by in ascending order by name, meaning they are returned alphabetically.

js
        const response = await fetch("https://api.packagex.io/v1/assets?order_by=serial_number&direction=asc", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const assets = response.data;
const pagination = response.pagination;

      

There are times when filtering is not enough and you want to find a specific asset by some other attribute, for example by name, SKU, or GTIN, vendor, and serial number. In this case, you can do a fuzzy, typo-tolerant search of every asset in the database.

To search, simply provide a string to search by using the search query param. If you want to highlight matching search results for a frontend, we provide a special property for search-returned shipment objects called _search which will have the matched text surrounded with <mark> handles.

Ordering Search Results

By default, search results are ordered by relevance. However, if you include an order_by parameter along with your search query, the results will be ordered by the specified property instead of by relevance.

Relevance Score

Relevance scores are included in the search results by default. Note that this could add up to 10ms of extra time to the request.

js
        const response = await fetch("https://api.packagex.io/v1/assets?search=coffee", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const asset = response.data[0];

      

Retrieve Serial Number Sequence

GET
`/v1/assets/sequences/:sequence`

Get a single sequence using its id.

js
        const response = await fetch("https://api.packagex.io/v1/assets/sequences/ast_dxEBJ9bS6gyZhxsmrrUMrM", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const asset = response.data;

      

List Sequences

Example

GET
`/v1/assets/sequences`

When you want to retrieve multiple sequences, your data property on the result will always be an array even if you don't have any assets.

js
        const response = await fetch("https://api.packagex.io/v1/assets/sequences", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const assets = response.data; //the array of assets
const pagination = response.pagination; //the pagination object

      

Pagination

If the has_more property on the pagination object is set to true, you know there are more sequences in the database that have not been returned to you. The pagination object also has a page property indicating your current offset and a limit property. The total_count property in pagination returns the the total number of sequences in the database.

By default the page is set to 1 and the limit is 25.

If we want to query for sequences 26 - 50, we would request page 2 with a query parameter.

js
        const response = await fetch("https://api.packagex.io/v1/assets/sequences?page=2&limit=25", {
  method: "GET",
  headers: {
    "PX-API-KEY": process.env.PX_API_KEY,
    "Content-Type": "application/json",
  },
}).then((res) => res.json());

const items = response.data; //the array of sequences 25 - 50
const pagination = response.pagination; //the pagination object