Cortex Client Developer Documentation

Lists

Lists

A list is a collection resource that returns ordered links to other resources.

Cortex lists follow this format:
  • An element link for each resource in the list.

  • A type set to elasticpath.collections.links. This type indicates there are no properties associated with the list, only links to other resources.

Lists Example: lineitems

lineitems are a list resource that contain links to each lineitem in the shopper's cart. In the lineitems resource, each lineitem is represented as an element link with a type set to elasticpath.collections.links:
{
  "self": {
    "type": "elasticpath.collections.links",
    "uri": "/carts/mobee/guz=/lineitems",
    "href": "http://api.elasticpath.net/cortex/carts/mobee/guz=/lineitems",
    "max-age": 0
  },
  "links": [
    {
      "rel": "element",
      "rev": "list",
      "type": "elasticpath.carts.line-item",
      "uri": "/carts/mobee/guz=/lineitems/hfq=",
      "href": "http://api.elasticpath.net/cortex/carts/mobee/guz=/lineitems/hfq="
    },
    {
      "rel": "element",
      "rev": "list",
      "type": "elasticpath.carts.line-item",
      "uri": "/carts/mobee/guz=/lineitems/gbq=",
      "href": "http://api.elasticpath.net/cortex/carts/mobee/guz=/lineitems/gbq="
    },
    {
      "rel": "cart",
      "rev": "lineitems",
      "type": "elasticpath.carts.cart",
      "uri": "/carts/mobee/guz=",
      "href": "http://api.elasticpath.net/cortex/carts/mobee/guz="
    }
  ]
}

Pagination

Lists can be paginated when large numbers of links return.

Cortex paginated lists follow this format:
  • An element link for each resource on a page.
  • A next link to retrieve the next page of links.
  • A previous link to retrieve the previous page of links.
  • A type set to elasticpath.collections.pagination, which indicates the list is paginated.
  • A pagination object with the following fields:
    • current: The current page number.
    • page-size: The number of links on each page, excluding the next/previous pagination links.
    • pages: The total number of pages.
    • results: The total number of links, excluding the next/previous pagination links.
    • results-on-page: The number of links on the current page, excluding the next/previous pagination links.

Lists Pagination Example: Item Keyword Search

An item keyword search returns a paginated list resource that links to each item found by the keyword search:
{
  "self": {
    "type": "elasticpath.collections.pagination",
    "uri": "/searches/mobee/keywords/items/m43g=/pages/2",
    "href": "http://api.elasticpath.net/cortex/searches/mobee/keywords/items/m43g=/pages/2",
    "max-age": 600
  },
  "pagination": {
    "current": 2,
    "page-size": 5,
    "pages": 6,
    "results": 29,
    "results-on-page": 5
  },
  "links": [
    {
      "rel": "element",
      "type": "elasticpath.items.item",
      "uri": "/items/mobee/m5yi=",
      "href": "http://api.elasticpath.net/cortex/items/mobee/m5yi="
    },
    {
      "rel": "element",
      "type": "elasticpath.items.item",
      "uri": "/items/mobee/m5ypi=",
      "href": "http://api.elasticpath.net/cortex/items/mobee/m5ypi="
    },
    {
      "rel": "element",
      "type": "elasticpath.items.item",
      "uri": "/items/mobee/m5yq=",
      "href": "http://api.elasticpath.net/cortex/items/mobee/m5yq="
    },
    {
      "rel": "element",
      "type": "elasticpath.items.item",
      "uri": "/items/mobee/m5ya=",
      "href": "http://api.elasticpath.net/cortex/items/mobee/m5ya="
    },
    {
      "rel": "element",
      "type": "elasticpath.items.item",
      "uri": "/items/mobee/m5y6=",
      "href": "http://api.elasticpath.net/cortex/items/mobee/m5y6="
    },
    {
      "rel": "previous",
      "type": "elasticpath.collections.pagination",
      "uri": "/searches/mobee/keywords/items/m43g=/pages/1",
      "href": "http://api.elasticpath.net/cortex/searches/mobee/keywords/items/m43g=/pages/1"
    },
    {
      "rel": "next",
      "type": "elasticpath.collections.pagination",
      "uri": "/searches/mobee/keywords/items/m43g=/pages/3",
      "href": "http://api.elasticpath.net/cortex/searches/mobee/keywords/items/m43g=/pages/3"
    }
  ]
}