Loop54 Engine (V3)

Download OpenAPI specification:Download

Loop54 Search is a learning search engine for e-commerce. It helps online shoppers find what they’re looking for, and allows them to explore a wider range of relevant products in a retailer’s catalogue.

User initiated

Operations for getting products, or other entities, and to collect user behavior.

Perform a search request

Used for performing search requests to the engine.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

User-Id
required
string <= 100 characters
Example: Luke.Skywalker

A unique identifier of the end user that initiated the action.

User-Ip
string
Example: 127.0.0.1

The IP address of the end user.

User-Useragent
string
Example: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

The User-Agent header sent by the end user.

User-Referer
string
Example: https://www.loop54.com/docs

The referer header sent by the end user.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Loop54-key
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Request Body schema: application/json
query
required
string <= 100 characters

The query to search for.

object (entityCollectionParameters)

Parameters for specifying which results to retrieve.

object (entityCollectionParameters)

Parameters for specifying which related results to retrieve.

object (queryCollectionParameters)

Parameters for specifying which spelling suggestions to retrieve.

object (queryCollectionParameters)

Parameters for specifying which related queries to retrieve.

object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "query": "forest fighting equipment",
  • "resultsOptions": {
    },
  • "relatedResultsOptions": {
    },
  • "spellingSuggestionsOptions": {
    },
  • "relatedQueriesOptions": {
    },
  • "customData": {
    }
}

Response samples

Content type
application/json
{
  • "customData": {
    },
  • "makesSense": true,
  • "spellingSuggestions": {
    },
  • "relatedQueries": {
    },
  • "results": {
    },
  • "relatedResults": {
    },
  • "redirect": "string"
}

Find autocompletions for a query

Used for performing autocomplete requests to the engine.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

User-Id
required
string <= 100 characters
Example: Luke.Skywalker

A unique identifier of the end user that initiated the action.

User-Ip
string
Example: 127.0.0.1

The IP address of the end user.

User-Useragent
string
Example: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

The User-Agent header sent by the end user.

User-Referer
string
Example: https://www.loop54.com/docs

The referer header sent by the end user.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Loop54-key
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Request Body schema: application/json
query
required
string <= 100 characters

The query to find suggestions.

object (queryCollectionParameters)

Parameters for specifying which query suggestions to retrieve.

object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "query": "forest fighting equip",
  • "queriesOptions": {
    },
  • "customData": {
    }
}

Response samples

Content type
application/json
{
  • "customData": {
    },
  • "scopedQuery": {
    },
  • "queries": {
    }
}

Create behavior events

Used to signal the engine that the user has exhibited a behavior.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

User-Id
required
string <= 100 characters
Example: Luke.Skywalker

A unique identifier of the end user that initiated the action.

User-Ip
string
Example: 127.0.0.1

The IP address of the end user.

User-Useragent
string
Example: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

The User-Agent header sent by the end user.

User-Referer
string
Example: https://www.loop54.com/docs

The referer header sent by the end user.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Loop54-key
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Request Body schema: application/json
required
Array of objects (event)

Array of events submitted to the engine.

object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "events": [
    ],
  • "customData": {
    }
}

Response samples

Content type
application/json
Example
{
  • "customData": {
    }
}

Get entities

Used to perform a request to get entities.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

User-Id
required
string <= 100 characters
Example: Luke.Skywalker

A unique identifier of the end user that initiated the action.

User-Ip
string
Example: 127.0.0.1

The IP address of the end user.

User-Useragent
string
Example: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

The User-Agent header sent by the end user.

User-Referer
string
Example: https://www.loop54.com/docs

The referer header sent by the end user.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Loop54-key
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Request Body schema: application/json
object (entityCollectionParameters)

Parameters for specifying which results to retrieve and how to format them.

object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "resultsOptions": {
    },
  • "customData": {
    }
}

Response samples

Content type
application/json
{
  • "customData": {
    },
  • "results": {
    }
}

Get Complementary entities

Used to perform a request to get entities that are complementary to a selected entity.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

User-Id
required
string <= 100 characters
Example: Luke.Skywalker

A unique identifier of the end user that initiated the action.

User-Ip
string
Example: 127.0.0.1

The IP address of the end user.

User-Useragent
string
Example: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

The User-Agent header sent by the end user.

User-Referer
string
Example: https://www.loop54.com/docs

The referer header sent by the end user.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Loop54-key
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Request Body schema: application/json
required
object (entity)

The entity to find complementary entities to.

object (entityCollectionParameters)

Parameters for specifying which complementary results to retrieve and how to format them.

object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "entity": {
    },
  • "resultsOptions": {
    },
  • "customData": {
    }
}

Response samples

Content type
application/json
{
  • "customData": {
    },
  • "results": {
    }
}

Get basket recommendations

Used to perform a request to get recommendations for a set of product ids.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

User-Id
required
string <= 100 characters
Example: Luke.Skywalker

A unique identifier of the end user that initiated the action.

User-Ip
string
Example: 127.0.0.1

The IP address of the end user.

User-Useragent
string
Example: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

The User-Agent header sent by the end user.

User-Referer
string
Example: https://www.loop54.com/docs

The referer header sent by the end user.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Loop54-key
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Request Body schema: application/json
required
Array of objects (entity)

The entities to find recommendations for.

object (entityCollectionParameters)

Parameters for specifying which recommendations results to retrieve and how to format them.

object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "entities": [
    ],
  • "resultsOptions": {
    },
  • "customData": {
    }
}

Response samples

Content type
application/json
{
  • "customData": {
    },
  • "results": {
    }
}

Get recommendations

Used to perform a request to get personalized recommendations.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

User-Id
required
string <= 100 characters
Example: Luke.Skywalker

A unique identifier of the end user that initiated the action.

User-Ip
string
Example: 127.0.0.1

The IP address of the end user.

User-Useragent
string
Example: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

The User-Agent header sent by the end user.

User-Referer
string
Example: https://www.loop54.com/docs

The referer header sent by the end user.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Loop54-key
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Request Body schema: application/json
object (entityCollectionParameters)

Parameters for specifying which recommendations results to retrieve and how to format them.

object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "resultsOptions": {
    },
  • "customData": {
    }
}

Response samples

Content type
application/json
{
  • "customData": {
    },
  • "results": {
    }
}

Get related entities

Used to perform a request to get entities related to a selected entity.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

User-Id
required
string <= 100 characters
Example: Luke.Skywalker

A unique identifier of the end user that initiated the action.

User-Ip
string
Example: 127.0.0.1

The IP address of the end user.

User-Useragent
string
Example: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

The User-Agent header sent by the end user.

User-Referer
string
Example: https://www.loop54.com/docs

The referer header sent by the end user.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Loop54-key
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Request Body schema: application/json
required
object (entity)

The entity to find related entities to.

object (entityCollectionParameters)

Parameters for specifying which related results to retrieve and how to format them.

object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "entity": {
    },
  • "resultsOptions": {
    },
  • "customData": {
    }
}

Response samples

Content type
application/json
{
  • "customData": {
    },
  • "results": {
    }
}

Get popular entities

Used to perform a request to get entities that a user (or all users) most commonly interacted with or navigated to.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

User-Id
required
string <= 100 characters
Example: Luke.Skywalker

A unique identifier of the end user that initiated the action.

User-Ip
string
Example: 127.0.0.1

The IP address of the end user.

User-Useragent
string
Example: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

The User-Agent header sent by the end user.

User-Referer
string
Example: https://www.loop54.com/docs

The referer header sent by the end user.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Loop54-key
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Request Body schema: application/json
behaviorType
required
string

The interaction or navigation type to include (such as "click", "purchase" or "search").

entityType
Array of strings

The entity types to include (such as "Product" or "Query") or null for all.

forUserId
string

A user ID to retrieve the most common/recent entities for that user or null to retrieve the globally most common/recent entities. The literal "(CurrentUser)" can be specified to use the user ID from the User-Id request header.

object (entityCollectionParameters)

Parameters for specifying how to filter and sort the results.

object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "behaviorType": "string",
  • "entityType": [
    ],
  • "forUserId": "string",
  • "resultsOptions": {
    },
  • "customData": {
    }
}

Response samples

Content type
application/json
{
  • "customData": {
    },
  • "results": {
    }
}

Get recent entities

Used to perform a request to get entities that a user (or all users) most recently interacted with or navigated to.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

User-Id
required
string <= 100 characters
Example: Luke.Skywalker

A unique identifier of the end user that initiated the action.

User-Ip
string
Example: 127.0.0.1

The IP address of the end user.

User-Useragent
string
Example: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

The User-Agent header sent by the end user.

User-Referer
string
Example: https://www.loop54.com/docs

The referer header sent by the end user.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Loop54-key
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Request Body schema: application/json
behaviorType
required
string

The interaction or navigation type to include (such as "click", "purchase" or "search").

entityType
Array of strings

The entity types to include (such as "Product" or "Query") or null for all.

forUserId
string

A user ID to retrieve the most common/recent entities for that user or null to retrieve the globally most common/recent entities. The literal "(CurrentUser)" can be specified to use the user ID from the User-Id request header.

object (entityCollectionParameters)

Parameters for specifying how to filter and sort the results.

object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "behaviorType": "string",
  • "entityType": [
    ],
  • "forUserId": "string",
  • "resultsOptions": {
    },
  • "customData": {
    }
}

Response samples

Content type
application/json
{
  • "customData": {
    },
  • "results": {
    }
}

Get entities by indexed attribute

Used to perform a request to get entities with an indexed string attribute. For attributes that are not indexed, use GetEntities with a filter instead. To find out what attributes are indexed in the engine call /getIndexedAttributes. To find out what values are available call /getIndexedAttributeValues.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

User-Id
required
string <= 100 characters
Example: Luke.Skywalker

A unique identifier of the end user that initiated the action.

User-Ip
string
Example: 127.0.0.1

The IP address of the end user.

User-Useragent
string
Example: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

The User-Agent header sent by the end user.

User-Referer
string
Example: https://www.loop54.com/docs

The referer header sent by the end user.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Loop54-key
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Request Body schema: application/json
required
object (gebaAttributeNameValuePair)

The attribute name-value-pair to find entities connected to. Note: this attribute needs to be indexed in the engine. See the endpoint GetIndexedAttributes.

object (entityCollectionParameters)

Parameters for specifying which results to retrieve and how to format them.

object (requestAliasFields)

Provides human-readable labels in the Portal.

object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "attribute": {
    },
  • "resultsOptions": {
    },
  • "requestAlias": {
    },
  • "customData": {
    }
}

Response samples

Content type
application/json
{
  • "customData": {
    },
  • "results": {
    }
}

Administrative

Operations for updating the indexed products

Get indexed attributes

Used to perform a request to get information about attributes, indexed and non-indexed.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

Loop54-key
required
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Request Body schema: application/json
object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "customData": {
    }
}

Response samples

Content type
application/json
{
  • "customData": {
    },
  • "attributes": [
    ],
  • "indexedAttributes": [
    ]
}

Get indexed attribute values

Used to perform a request to get a list of all unique values that are indexed for the provided attribute. To find out what attributes are indexed in the engine call /getIndexedAttributes.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

Loop54-key
required
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Request Body schema: application/json
attributeName
required
string

The name of the attribute for which to fetch indexed values.

object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "attributeName": "category",
  • "customData": {
    }
}

Response samples

Content type
application/json
{
  • "customData": {
    },
  • "values": [
    ]
}

Perform full sync

Used for telling the engine to re-sync the catalog.

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

Loop54-key
required
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Request Body schema: application/json
object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "customData": {
    }
}

Response samples

Content type
application/json
Example
{
  • "customData": {
    }
}

Other

Custom Request

Used to trigger predefined client-specific actions.

path Parameters
requestName
required
string

Which action to trigger

header Parameters
Api-Version
required
string
Example: V3

What version of the API to use.

Loop54-key
required
string
Example: 9cdfb439c7876e703e307864c9167a15

Your API key.

Lib-Version
string
Example: js:2018-01-01

What library is used to generate this request.

Request Body schema: application/json
object

Any additional, non-standard, data. Contact support for information about how and when to use this.

Responses

Request samples

Content type
application/json
{
  • "customData": {
    }
}

Response samples

Content type
application/json
Example
{
  • "customData": {
    }
}