Product Information Management (1.0.0)

Download OpenAPI specification:Download

fabric PIM resource helps you with your products resource management. From product search, product category and getting SKUs to bulk inserts, PIM allows you to manage the end to end products.

Authentication

api_key

Security Scheme Type API Key
Header parameter name: x-api-key

Category

Category APIs

Get categories

Categories (also known as nodes) form hierarchies. These hierarchies are used to organize products. For example, the "Computers" category may contain several sub-categories, like "Laptops" and "PCs". A Macbook Pro is a product that would then fit inside the "Laptops" category.

Each category has an ID. This endpoint accepts one or more category IDs, to return the categories associated with those IDs. Alternatively, the endpoint can return all categories if size and page (for pagination) are provided and/or filter categories, usually for a keyword in the names of the categories. By default, categories will be filtered by Active ALTERNATE Hierarchies

Request
query Parameters
ids
Array of strings

Array of 24-char hexadecimal identifiers of hierarchy categories to fetch.

If omitted, page and size are required, since all categories are retrieved in pages instead.

Example: ids=["6196b45b5cb04b7ce167cb46"]
nodeIds
Array of integers

Array of node identifiers of hierarchy categories to fetch.

If omitted, page and size are required, since all categories are retrieved in pages instead.

Example: nodeIds=[1, 2, 3]
keyword
string

Keyword searches the category names for the given keyword.

Example: keyword=computers
type
string

Category type to retrieve. The primary hierarchy contains all nodes, whereas alternate hierarchies exist to export alternate organizations of the primary hierarchy.

If omitted ALTERNATE will be used by default.

Enum: "PRIMARY" "ALTERNATE" "ALL"
Example: type=ALL
status
string

Category status to retrieve. Only ALTERNATE Hierarchies can be filtered by this param.

If omitted ACTIVE will be used by default.

Enum: "ACTIVE" "INACTIVE" "ALL"
Example: status=ALL
page
number

The page to retrieve. Used for pagination.

This is only relevant when specific IDs are omitted from the call. It is always paired with size.

Example: page=1
size
number

The size of the pages to retrieve. Used for pagination.

This is only relevant when specific IDs are omitted from the call. It is always paired with page.

Example: size=10
header Parameters
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

The requested categories

400

A generic client error

500

A generic server error

get/v1/category
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "categories": [
    ]
}

Create Category

Categories (also known as nodes) form hierarchies. These hierarchies are used to organize products. For example, the "Computers" category may contain several sub-categories, like "Laptops" and "PCs". A Macbook Pro is a product that would then fit inside the "Laptops" category.

This endpoint accepts the name, parent, and type of a category, and creates it.

Request
Security:
header Parameters
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Request Body schema: application/json
name
required
string

Category name.

active
boolean

Category's active status. Only for ALTERNATE Hierarchies.

parentNodeId
string

Category parent's node ID, since categories form a hierarchy tree.

If omitted, new node will be created under the root PRIMARY node.

order
number

Category's order.

type
string

Hierarchy type. Can only be the alternate hierarchy.

Provide this field to create a new root node, only needed if parentNodeId is omitted.

Value: "ALTERNATE"
Responses
200

Created category

400

A generic client error

500

A generic server error

post/v1/category
Request samples
application/json
{
  • "name": "notes",
  • "active": true,
  • "parentNodeId": 1,
  • "order": 3,
  • "type": "ALTERNATE"
}
Response samples
application/json
{
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "action": "CREATE",
  • "name": "Furniture",
  • "parentId": "6170135a49b4af38190970fa",
  • "order": 3,
  • "createdOn": "2021-12-01T00:00:00.000Z",
  • "modifiedOn": "2021-12-01T00:00:00.000Z",
  • "breadcrumbs": [
    ]
}

Modify Category

Categories (also known as nodes) form hierarchies. These hierarchies are used to organize products. For example, the "Computers" category may contain several sub-categories, like "Laptops" and "PCs". A Macbook Pro is a product that would then fit inside the "Laptops" category.

This endpoint allows the name, parent, or order (within category siblings) of a category to be changed.

Request
Security:
path Parameters
nodeId
required
number

Category node ID.

Example: 15
header Parameters
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Request Body schema: application/json
name
string

Category's name.

active
boolean

Category's active status. Only for ALTERNATE Hierarchies.

parentNodeId
number

Category parent's node ID, since categories form a hierarchy tree.

order
number

Category's order amongst its sibling categories (i.e. categories with the same parent).

Responses
200

Updated category

400

A generic client error

500

A generic server error

put/v1/category/{nodeId}
Request samples
application/json
{
  • "name": "string",
  • "active": true,
  • "parentNodeId": 1,
  • "order": 3
}
Response samples
application/json
{
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "action": "CREATE",
  • "name": "Furniture",
  • "parentId": "6170135a49b4af38190970fa",
  • "order": 3,
  • "createdOn": "2021-12-01T00:00:00.000Z",
  • "modifiedOn": "2021-12-01T00:00:00.000Z",
  • "breadcrumbs": [
    ]
}

Search categories

Search categories, usually for a keyword in the names of the categories.

Searching categories will be done with one of ids, keyword, status or type. If all of these are missing, then this will return all results in a paginated form, thus requiring page and size.

Request
query Parameters
keyword
string

Keyword searches the category names for the given keyword.

If ids, keyword, status or type are omitted, all categories are retrieved.

Example: keyword=computers
ids
Array of numbers

The categories identified by ids to retrieve.

If ids, keyword, status or type are omitted, all categories are retrieved.

Example: ids=[15, 16]
type
string

Category type to retrieve. The primary hierarchy contains all nodes, whereas alternate hierarchies exist to export alternate organizations of the primary hierarchy.

If omitted ALL will be used by default.

Enum: "PRIMARY" "ALTERNATE" "ALL"
Example: type=ALL
status
string

Category status to retrieve. Only ALTERNATE Hierarchies can be filtered by this param.

If omitted ACTIVE will be used by default.

Enum: "ACTIVE" "INACTIVE" "ALL"
Example: status=ALL
page
number

The page to retrieve. Used for pagination.

This is only relevant when specific IDs are omitted from the call. It is always paired with size.

Example: page=1
size
number

The size of the pages to retrieve. Used for pagination.

This is only relevant when specific IDs are omitted from the call. It is always paired with page.

Example: size=10
header Parameters
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

List of requested categories

400

A generic client error

500

A generic server error

get/v1/category/search
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "categories": [
    ]
}

Get a category tree

Get a tree of categories. Categories have parents and children, forming a hierarchy. This call returns the tree of categories rooted in the category identified by id.

Request
query Parameters
id
string

The 24-char hexadecimal identifier of the category to use as root of tree to return.

Example: id=6196b44a5cb04b7ce167cb34
depth
number

Since the tree can grow large, this limits how large the tree returned is.

Example: depth=1
nodeId
integer

The node id of the category

Example: nodeId=12
header Parameters
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

The category tree

400

A generic client error

500

A generic server error

get/v1/category/tree
Response samples
application/json
{
  • "id": "6196b44a5cb04b7ce167cb34",
  • "name": "computers",
  • "attributes": [
    ],
  • "children": [
    ]
}

Get SKUs in a category

This will return the SKUs of all products that belong to a particular category.

Request
query Parameters
id
required
string

The 24-char hexadecimal identifier of the category.

Example: id=6196b45b5cb04b7ce167cb46
nodeId
integer

The node id of the category

Example: nodeId=2
page
number

The page to retrieve. Used for pagination.

This is only relevant when specific IDs are omitted from the call. It is always paired with size.

Example: page=1
size
number

The size of the pages to retrieve. Used for pagination.

This is only relevant when specific IDs are omitted from the call. It is always paired with page.

Example: size=10
header Parameters
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

List of SKUs associated with given category

400

A generic client error

500

A generic server error

get/v1/category/sku
Response samples
application/json
{
  • "totalSize": 3,
  • "pageSize": 10,
  • "pages": 1,
  • "skus": [
    ]
}

Get category attributes by ID

Usually you'll get a category's details with a call to /v1/category, but this is an alternative if you have a category's ID, and want the attributes only.

Request
query Parameters
id
required
string

The 24-char hexadecimal identifier of the category.

Example: id=619a8ba6f1875f6dbcaf0521
nodeId
integer

The node id of the category

Example: nodeId=2
status
string

Attribute status, that being whether it is assigned to a category or not.

Enum: "ASSIGNED" "UNASSIGNED"
page
number

The page to retrieve. Used for pagination.

This is only relevant when specific IDs are omitted from the call. It is always paired with size.

Example: page=1
size
number

The size of the pages to retrieve. Used for pagination.

This is only relevant when specific IDs are omitted from the call. It is always paired with page.

Example: size=10
header Parameters
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

List of category's attributes

400

A generic client error

500

A generic server error

get/v1/category/attribute
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "attributes": [
    ]
}

Modify category attributes

Categories have attributes that are attached to themselves specifically, rather than the products that belong to categories. This call allows modification of those attributes.

Request
Security:
header Parameters
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Request Body schema: application/json
id
string

The 24-char hexadecimal identifier of the category. This is one of two identifiers that exist for each node, the other being nodeId.

If id is omitted, nodeId is required.

nodeId
number

The category's node ID. This is one of two identifiers that exist for each node, the other being id. This identifier is just a number, which is simpler for people to deal with than id.

If nodeId is omitted, id is required.

required
Array of objects

Category attributes to modify

Responses
200

The category's attributes

400

A generic client error

500

A generic server error

post/v1/category/attribute
Request samples
application/json
{
  • "id": "6196b45b5cb04b7ce167cb46",
  • "nodeId": 25,
  • "attributes": [
    ]
}
Response samples
application/json
{
  • "id": "619a8ba6f1875f6dbcaf0521",
  • "name": "notes",
  • "attributes": [
    ]
}

Create or update category attributes in bulk

Create or update multiple category attributes in one call.

While POST /v1/category/attribute supports a singular update to an attribute, this supports both create and update for multiple attributes at the same time.

Request
Security:
header Parameters
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Request Body schema: application/json
Array
action
required
string

The action to perform.

If CREATE, id must be omitted.

If UPDATE, or DELETE, id must be provided

Performing CREATE will replace any existing category attribute with the same name, if one already exists.

Enum: "CREATE" "UPDATE" "DELETE"
id
string

The attribute's ID.

name
required
string

The attribute's name.

description
string

Accurate description of what this attribute represents.

type
required
string

The data type of the attribute, indicating the kind of value it holds.

Enum: "TEXT" "BOOLEAN" "SERIAL" "DECIMAL" "INTEGER" "DATETIME" "OPTIONS"
textSubType
string

Conditionally required property for type of text for the TEXT type attributes.

Enum: "SMALL_TEXT" "TEXT_AREA" "HTML"
serialStart
number

Conditionally required property to indicate starting value for the SERIAL type attributes.

optionsType
string

Conditionally required property to indicate the selectable values for the OPTIONS type attributes.

Enum: "TEXT" "BOOLEAN" "DECIMAL" "INTEGER" "DATETIME"
format
string

The format of the attribute.

Currently this is used only for formatting DATETIME type attributes.

formula
string

A JavaScript expression that will be used to dynamically compute the attribute's value.

The type returned by this expression must match the attribute's type.

When this is provided, validation is ignored.

object
Responses
200

Bulk attribute response

400

A generic client error

500

A generic server error

post/v1/category/attribute/bulk
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "attributes": {
    }
}

Get available item attributes

A category specifies the required and optional attributes that all products (aka items) within that category must have. This call returns the attributes those products support for the requested category.

Be aware that categories can inherit attributes for their products from the category's parents as well.

Request
query Parameters
id
string

The 24-char hexadecimal identifier of the category. This is one of two identifiers that exist for each node, the other being nodeId.

If id is present, status is required.

Example: id=6196b45b5cb04b7ce167cb46
nodeId
number

The category's node ID. This is one of two identifiers that exist for each node, the other being id. This identifier is just a number, which is simpler for people to deal with than id.

If nodeId is present, status is required.

Example: nodeId=25
status
string

Item attribute status, that being whether it is assigned to a category or not.

This is only relevant when id or nodeId is provided, and is then required.

Enum: "ASSIGNED" "UNASSIGNED"
page
number

The page to retrieve. Used for pagination.

This is only relevant when specific IDs are omitted from the call. It is always paired with size.

Example: page=1
size
number

The size of the pages to retrieve. Used for pagination.

This is only relevant when specific IDs are omitted from the call. It is always paired with page.

Example: size=10
header Parameters
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

Item attributes for this category

400

A generic client error

500

A generic server error

get/v1/category/item-attribute
Response samples
application/json
{
  • "id": "6170135a49b4af38190970fa",
  • "nodeId": 15,
  • "hierarchy": "Food",
  • "page": 1,
  • "size": 10,
  • "pages": 10,
  • "attributes": [
    ]
}

Modify category item attributes

A category specifies the required and optional attributes that all products (aka items) within that category must have. This call modifies the attributes those products support for the requested category.

Request
Security:
header Parameters
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Request Body schema: application/json
id
string

The 24-char hexadecimal identifier of the category. This is one of two identifiers that exist for each node, the other being nodeId.

If id is omitted, nodeId is required.

nodeId
number

The category's node ID. This is one of two identifiers that exist for each node, the other being id. This identifier is just a number, which is simpler for people to deal with than id.

If nodeId is omitted, id is required.

required
Array of objects

Category item attributes to modify

Responses
200

The category's item attributes

400

A generic client error

500

A generic server error

post/v1/category/item-attribute
Request samples
application/json
{
  • "id": "string",
  • "nodeId": 0,
  • "itemAttributes": [
    ]
}
Response samples
application/json
{
  • "id": "619a8ba6f1875f6dbcaf0521",
  • "name": "sku",
  • "type": "ITEM",
  • "itemAttributes": [
    ]
}

Get available Node Sources

Get available Node Sources

Request
query Parameters
id
string

The category's ID

Note, if id is omitted, "nodeId" will be required.

nodeId
number

The category's node ID

Note, if id is omitted, "id" will be required.

status
string

Node source status. If omitted "ASSIGNED" will be used by default.

Enum: "ASSIGNED" "UNASSIGNED"
page
required
string

The page of node sources.

size
required
string

The page size of node sources.

header Parameters
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

The node sources

400

A generic client error

500

A generic server error

get/v1/category/source
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "name": "Furniture",
  • "sources": [
    ]
}

Modify Node Sources by ID

Modify Node Sources by ID

Request
Security:
header Parameters
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Request Body schema: application/json
id
string
nodeId
number
Array of objects
Responses
200

Created category

400

A generic client error

500

A generic server error

post/v1/category/source
Request samples
application/json
{
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "sources": [
    ]
}
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "name": "Furniture",
  • "sources": [
    ],
  • "sourceExclusions": [
    ]
}

Get available Node Source Exclusions

Get available Node Source Exclusions

Request
query Parameters
id
string

The category's ID

Note, if id is omitted, "nodeId" will be required.

nodeId
number

The category's node ID

Note, if id is omitted, "id" will be required.

status
string

Node source status. If omitted "ASSIGNED" will be used by default.

Enum: "ASSIGNED" "UNASSIGNED"
page
required
string

The page of node sources.

size
required
string

The page size of node sources.

header Parameters
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

The node sources

400

A generic client error

500

A generic server error

get/v1/category/source/exclusion
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "name": "Furniture",
  • "sourceExclusions": [
    ]
}

Modify Node Source Exclusions by ID

Modify Node Source Exclusions by ID

Request
Security:
header Parameters
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Request Body schema: application/json
id
string
nodeId
number
Array of objects
Responses
200

Created category

400

A generic client error

500

A generic server error

post/v1/category/source/exclusion
Request samples
application/json
{
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "sourceExclusions": [
    ]
}
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "name": "Furniture",
  • "sources": [
    ],
  • "sourceExclusions": [
    ]
}

Get available item attributes

A category specifies the required and optional attributes that all products (aka items) within that category must have. This call returns the attributes those products support for the requested category.

Be aware that categories can inherit attributes for their products from the category's parents as well.

Request
Security:
query Parameters
id
string

The 24-char hexadecimal identifier of the category. This is one of two identifiers that exist for each node, the other being nodeId.

If id is present, status is required.

Example: id=6196b45b5cb04b7ce167cb46
nodeId
number

The category's node ID. This is one of two identifiers that exist for each node, the other being id. This identifier is just a number, which is simpler for people to deal with than id.

If nodeId is present, status is required.

Example: nodeId=25
status
string

Item attribute status, that being whether it is assigned to a category or not.

This is only relevant when id or nodeId is provided, and is then required.

Enum: "ASSIGNED" "UNASSIGNED"
page
number

The page to retrieve. Used for pagination.

This is only relevant when specific IDs are omitted from the call. It is always paired with size.

Example: page=1
size
number

The size of the pages to retrieve. Used for pagination.

This is only relevant when specific IDs are omitted from the call. It is always paired with page.

Example: size=10
header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

Item attributes for this category

400

A generic client error

500

A generic server error

get/v1/category/item-attribute/condition
Response samples
application/json
{
  • "id": "6170135a49b4af38190970fa",
  • "nodeId": 15,
  • "hierarchy": "Food",
  • "page": 1,
  • "size": 10,
  • "pages": 10,
  • "attributes": [
    ]
}

Modify category item attributes

A category specifies the required and optional attributes that all products (aka items) within that category must have. This call modifies the attributes those products support for the requested category.

Request
header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Request Body schema: application/json
id
string

The 24-char hexadecimal identifier of the category. This is one of two identifiers that exist for each node, the other being nodeId.

If id is omitted, nodeId is required.

nodeId
number

The category's node ID. This is one of two identifiers that exist for each node, the other being id. This identifier is just a number, which is simpler for people to deal with than id.

If nodeId is omitted, id is required.

required
Array of objects

Category item attributes to modify

Responses
200

The category's item attributes

400

A generic client error

500

A generic server error

post/v1/category/item-attribute/condition
Request samples
application/json
{
  • "id": "string",
  • "nodeId": 0,
  • "itemAttributes": [
    ]
}
Response samples
application/json
{
  • "id": "619a8ba6f1875f6dbcaf0521",
  • "name": "sku",
  • "type": "ITEM",
  • "itemAttributes": [
    ]
}

Product

Product APIs

Get products by SKU or ItemId

Get products, supports both ITEMS & BUNDLES

One of the following are required in the query parameters

page and size or array of SKUs or array of itemIds

Note, status and date query parameters will work only with pagination

Response samples, multiple examples have been added, click on the examples dropdown for respective response contract

Request
query Parameters
skus
Array of strings

The SKUs to retrieve

Note, if omitted, all products are retrieved.

itemIds
Array of strings

The ItemIds to retrieve

Note, if omitted, all products are retrieved, and this is only relevant when skus are omitted.

page
string

The page of products to retrieve.

Note, this is only relevant when skus or itemIds are omitted.

size
string

The page size.

Note, this is only relevant when skus or itemIds are omitted.

status
string

Status of the products to retrieve.

Enum: "ACTIVE" "INACTIVE"
createdAfter
string

To fetch items created after a specific date

Valid date formats - "YYYY/MM/DD", "YYYY-MM-DDTHH:mm:ss.SSSZ"

Note, this is only relevant when skus or itemIds are omitted.

Example: createdAfter=2021-05-28T16:36:50.055Z
createdBefore
string

To fetch items created before a specific date

Valid date formats - "YYYY/MM/DD", "YYYY-MM-DDTHH:mm:ss.SSSZ"

Note, this is only relevant when skus or itemIds are omitted.

Example: createdBefore=2021-05-28T16:36:50.055Z
modifiedAfter
string

To fetch items modified after a specific date

Valid date formats - "YYYY/MM/DD", "YYYY-MM-DDTHH:mm:ss.SSSZ"

Note, this is only relevant when skus or itemIds are omitted.

Example: modifiedAfter=2021-05-28T16:36:50.055Z
modifiedBefore
string

To fetch items modified before a specific date

Valid date formats - "YYYY/MM/DD", "YYYY-MM-DDTHH:mm:ss.SSSZ"

Note, this is only relevant when skus or itemIds are omitted.

Example: modifiedBefore=2021-05-28T16:36:50.055Z
header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

The products (type ITEMS)

400

A generic client error

500

Internal Server Error

get/v1/product
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "products": [
    ]
}

Search products by SKU, ItemId or title

Search products by SKU, ItemId or title

Request
query Parameters
keyword
string

Keyword searches the items for sku or title

skus
Array of strings

The SKUs to retrieve

Note, if omitted, all products are retrieved, and this is only relevant when keyword is omitted.

itemIds
Array of strings

The ItemIds to retrieve

Note, if omitted, all products are retrieved, and this is only relevant when keyword and skus are omitted.

page
string

The page of products to retrieve.

size
integer

The page size.

type
string

Product type to retrieve.

Enum: "ITEM" "BUNDLE" "ALL"
allAttributes
boolean

Retrieve all attributes of the products

excludeChildren
boolean

Exclude children of the products

onlyChildren
boolean

Exclude parent products

header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

The products

400

A generic client error

500

Internal Server Error

get/v1/product/search
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "products": [
    ]
}

Get product attributes by SKU or ItemId

Get product attributes by SKU or ItemId

Request
query Parameters
sku
string

The product's SKU Note, this is only relevant when itemId is omitted.

itemId
string

The product's itemId Note, this is only relevant when sku is omitted.

header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

The product attributes

400

A generic client error

500

Internal Server Error

get/v1/product/attribute
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "attributes": [
    ]
}

Create or update product attributes in bulk

Create or update product attributes in bulk

Request
header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Request Body schema: application/json
Array
action
string

The action to perform.

If CREATE, id must be omitted. If UPDATE, or DELETE, id must be provided

Performing CREATE will replace any existing product attribute with the same name, if one already exists.

Enum: "CREATE" "UPDATE" "DELETE"
id
string

The attribute's ID.

name
string

The attribute's name.

description
string

The attribute's description.

mapping
string

The product attribute's mapping. This corresponds to the Attribute Mapping settings of PIM: sku,title, image, active, isVariant Most attributes will not have a mapping, in which case this will be null. Warning: Be careful adding or removing mappings of attributes, as it can lead to bad data.

type
string

The data type of the attribute.

Enum: "TEXT" "BOOLEAN" "SERIAL" "DECIMAL" "INTEGER" "DATETIME" "OPTIONS"
serialStart
number

Conditionally required property to indicate starting value for the SERIAL type attributes.

optionsType
string

Conditionally required property to indicate the selectable values for the OPTIONS type attributes.

Enum: "TEXT" "BOOLEAN" "DECIMAL" "INTEGER" "DATETIME"
format
string

The format of the attribute.

Currently this is used only for formatting DATETIME type attributes.

formula
string

A JavaScript expression that will be used to dynamically compute the attribute's value. The type returned by this expression must match the attribute's type. When this is provided, validation is ignored.

object
Responses
200

Bulk attribute response

400

A generic client error

500

A generic server error

post/v1/product/attribute/bulk
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "attributes": {
    }
}

Create products in bulk

Create products in bulk with attribute values

Request
header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Request Body schema: application/json
sku
string

Product sku value

type
string

It can be either ITEM or BUNDLE, by default type will be ITEM

nodeName
string

Name of the node(along with parent node names) for which the product needs to be created

parentSku
string

Sku value of the parent

Array of objects (AttributeValue)

Node item attributes along with values

Array of objects (BundleItems)

Items to be added to the bundle, this will contain sku and quantity

Responses
200

The products

400

A generic client error

422

The failing items

500

Internal Server Error

post/v1/product/bulk/insert
Request samples
application/json
{
  • "sku": "sku_abc",
  • "type": "ITEM",
  • "nodeName": "level0->level1->level2",
  • "parentSku": "sku123",
  • "attributeValues": [
    ],
  • "bundleItems": [
    ]
}
Response samples
application/json
{
  • "success": [
    ],
  • "failed": [
    ],
  • "itemIds": [
    ]
}

Update products in bulk

Update products in bulk with attribute values

Request
header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Request Body schema: application/json
type
string

It can be either ITEM or BUNDLE, by default type will be ITEM

skus
Array of strings

Array of skus are required

action
string

Action is required, can be either update or delete

Enum: "UPDATE" "DELETE"
parentSku
string

Parent sku, is optional.

Array of objects (AttributeValue)

Node item attributes along with values

Responses
200

The products

400

A generic client error

422

The failing items

500

Internal Server Error

post/v1/product/bulk/update
Request samples
application/json
{
  • "type": "ITEM",
  • "skus": [
    ],
  • "action": "UPDATE",
  • "parentSku": "sku234",
  • "attributeValues": [
    ]
}
Response samples
application/json
{
  • "success": [
    ],
  • "failed": [
    ],
  • "itemIds": [
    ]
}

Vendor

Vendor APIs

Create vendor

Create vendor API. It supports creating a single vendor or multiple vendors in single request

Request
header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

If this header is omitted, the Authorization header is required instead for many calls.

Request Body schema: application/json
Array
required
Array of objects

Node Vendor attributes along with values

action
required
string
Default: "CREATE"

Action is required, default CREATE

Value: "CREATE"
Responses
200

The vendor response

400

A generic client error

500

Internal Server Error

post/v1/vendor
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "vendorResponse": {
    }
}

Search vendors by Query

Search vendors by Query

Request
query Parameters
vendorIds
Array of numbers

The vendor Ids

vendorStatus
string

The vendor Status

Example: vendorStatus=ACTIVE
size
integer

The page size. Note, this is only relevant when vendorIds or vendorStatus are omitted.

page
string

The page of vendors to retrieve. Note, this is only relevant when vendorIds or vendorStatus is omitted.

header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

If this header is omitted, the Authorization header is required instead for many calls.

object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

The vendors

400

A generic client error

500

Internal Server Error

get/v1/vendor
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "vendors": [
    ]
}

Update vendor

Update Vendor API. It supports both bulk and single update requests

Request
header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

If this header is omitted, the Authorization header is required instead for many calls.

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

Node Vendor attributes along with values

action
required
string
Default: "UPDATE"

Action is required, default UPDATE

Value: "UPDATE"
Responses
200

The vendors

400

A generic client error

500

Internal Server Error

post/v1/vendor/update
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "vendorResponse": {
    }
}

Get vendor By Id

Get Vendor By Vendor Id

Request
path Parameters
vendorId
required
string

The vendor's ID

header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

If this header is omitted, the Authorization header is required instead for many calls.

object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

The vendors

400

A generic client error

500

Internal Server Error

get/v1/vendor/{vendorId}
Response samples
application/json
{
  • "id": "string",
  • "attributes": [
    ]
}

Get vendor attributes by vendorId, name or mapping

Get vendor attributes by vendorId, name or mapping

Request
header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

If this header is omitted, the Authorization header is required instead for many calls.

object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Responses
200

The vendor attributes

400

A generic client error

500

Internal Server Error

get/v1/vendor/attribute
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "attributes": [
    ]
}

Create or Update Attributes for Vendor in bulk

Create or Update Attributes for Vendor in bulk

Request
header Parameters
Authorization
string

The Authorization is a access-token (JWT) received after login from copilot-application.

If omitted, x-site-context is required. Some calls require Authorization even with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
x-api-key
string

The x-api-key is a key allowing access to the API without Authorization. This key can only be provided to you by fabric Inc upon request.

If this header is omitted, the Authorization header is required instead for many calls.

object

The x-site-context is a JSON object, and needs to contain account, stage, date & channel attributes.

If this header is omitted, the Authorization header is required instead.

Request Body schema: application/json
Array
action
string

The action to perform.

If CREATE, id must be omitted. If UPDATE, or DELETE, id must be provided

Performing CREATE will replace any existing vendor attribute with the same name, if one already exists.

Enum: "CREATE" "UPDATE" "DELETE"
id
string

The attribute's ID.

name
string

The attribute's name.

description
string

Accurate description of what this attribute represents.

mapping
string

The vendor attribute's mapping. This corresponds to the Attribute Mapping settings of PIM: vendorName,vendorId, vendorStatus Most attributes will not have a mapping, in which case this will be null. Warning: Be careful adding or removing mappings of attributes, as it can lead to bad data.

type
string

The data type of the attribute.

Enum: "TEXT" "BOOLEAN" "SERIAL" "DECIMAL" "INTEGER" "DATETIME" "OPTIONS"
serialStart
number

Conditionally required property to indicate starting value for the SERIAL type attributes.

optionsType
string

Conditionally required property to indicate the selectable values for the OPTIONS type attributes.

Enum: "TEXT" "BOOLEAN" "DECIMAL" "INTEGER" "DATETIME"
format
string

The format of the attribute.

Currently this is used only for formatting DATETIME type attributes.

formula
string

A JavaScript expression that will be used to dynamically compute the attribute's value. The type returned by this expression must match the attribute's type. When this is provided, validation is ignored.

object
Responses
200

Bulk attribute response

400

A generic client error

500

A generic server error

post/v1/vendor/attribute/bulk
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "attributes": {
    }
}

Options

Get OPTIONS for /v1/category

Responses
200

200 response

options/v1/category
Response samples
application/json
{ }

Get OPTIONS for /v1/category/{nodeId}

Request
path Parameters
nodeId
required
number

Category node ID.

Example: 15
Responses
200

200 response

options/v1/category/{nodeId}
Response samples
application/json
{ }

Get OPTIONS for /v1/category/search

Responses
200

200 response

options/v1/category/search
Response samples
application/json
{ }

Get OPTIONS for /v1/category/tree

Responses
200

200 response

options/v1/category/tree
Response samples
application/json
{ }

Get OPTIONS for /v1/category/sku

Responses
200

200 response

options/v1/category/sku
Response samples
application/json
{ }

Get OPTIONS for /v1/category/attribute

Responses
200

200 response

options/v1/category/attribute
Response samples
application/json
{ }

Get OPTIONS for /v1/category/attribute/bulk

Responses
200

200 response

options/v1/category/attribute/bulk
Response samples
application/json
{ }

Get OPTIONS for /v1/category/item-attribute

Responses
200

200 response

options/v1/category/item-attribute
Response samples
application/json
{ }

Get OPTIONS for /v1/category/source

Responses
200

200 response

options/v1/category/source
Response samples
application/json
{ }

Get OPTIONS for /v1/category/exclusion

Responses
200

200 response

options/v1/category/source/exclusion
Response samples
application/json
{ }