> For the complete documentation index, see [llms.txt](https://apidocs.akinon.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidocs.akinon.com/omnitron/whippy-ware/stock-lists.md).

# Stock Lists

Stock Lists enable the mapping between a predefined stock list ID in Omnitron and the corresponding rule to be applied to that stock list. This association allows the utilization of rule sets created in Omnitron and OMS (Order Management System).

### List Stock Lists

This method is used to get a list of stock list objects.

`GET` **List-Stock-Lists**

**Path:** `/api/v1/stock-lists/`

**Parameters**

| Parameter  | Data Type | In     | Description                                |
| ---------- | --------- | ------ | ------------------------------------------ |
| api\_token | string    | header | The API key of the customer account        |
| limit      | string    | query  | The amount of line items returned per page |
| page       | string    | query  | The number of page returned                |

**Example Request**

```python
import requests

url = "http://localhost:8000/api/v1/stock-lists/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload={}
headers = {
  'Accept': 'application/json',
  'Authorization': 'Token {}'.format(api_token),
}

response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
```

**Example Response (200 OK)**

The response includes the following parameters.

| Parameter         | Data Type | Description                       |
| ----------------- | --------- | --------------------------------- |
| id                | integer   | The primary key of the stock list |
| name              | string    | The name of the list              |
| code              | integer   | The code of the stock list        |
| remote\_id        | integer   | The remote ID                     |
| stock\_list\_rule | string    | The rule of the stock list        |
| created\_date     | date      | The creation date                 |
| modified\_date    | date      | The last modified date            |
| is\_active        | boolean   | The activation status of the rule |

```json
{
	"count": 3,
	"next": "https://{whippy_api_url}/api/v1/stock-lists/?page=2",
	"previous": null,
	"results": [
    	{
        	"id": 1,
        	"created_date": "2023-05-09T14:42:44.507114+03:00",
        	"modified_date": "2023-05-09T14:54:38.997168+03:00",
        	"is_active": true,
        	"code": "alpha_stock_list",
        	"name": "Alpha Stock List",
        	"remote_id": 1,
        	"stock_list_rule": 1
    	},
    	{
        	"id": 2,
        	"created_date": "2023-05-09T14:44:25.500852+03:00",
        	"modified_date": "2023-05-09T14:54:41.981423+03:00",
        	"is_active": true,
        	"code": "marketplace_stock_list",
        	"name": "Marketplace Stock List",
        	"remote_id": 2,
        	"stock_list_rule": 1
    	},
    	{
        	"id": 3,
        	"created_date": "2023-05-09T14:46:44.973248+03:00",
        	"modified_date": "2023-05-09T14:54:45.502269+03:00",
        	"is_active": true,
        	"code": "warehouse_stock_list",
        	"name": "Warehouse Stock List",
        	"remote_id": 3,
        	"stock_list_rule": 1
    	}
	]
}
```

### Stock List Instance

This method is used to get a list of stock instance.

`GET` **Stock-List-Instance**

**Path:** `/api/v1/stock-lists/{stocklist_id}/`

**Parameters**

| Parameter       | Data Type | In     | Description                                                                    |
| --------------- | --------- | ------ | ------------------------------------------------------------------------------ |
| api\_token      | string    | header | The API key of the customer account                                            |
| {stocklist\_id} | string    | query  | The ID of the stock list (also referred to as the stock list code in Omnitron) |

**Example Request**

```python
import requests

url = "http://localhost:8000/api/v1/stock-lists/1/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload={}
headers = {
  'Accept': 'application/json',
  'Authorization': 'Token {}'.format(api_token)
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
```

**Example Response (200 OK)**

The response includes the following parameters.

| Parameter         | Data Type | Description                       |
| ----------------- | --------- | --------------------------------- |
| id                | integer   | The primary key of the stock list |
| name              | string    | The name of the list              |
| code              | integer   | The code of the stock list        |
| remote\_id        | integer   | The remote ID                     |
| stock\_list\_rule | string    | The rule of the stock list        |
| created\_date     | date      | The creation date                 |
| modified\_date    | date      | The last modified date            |
| is\_active        | boolean   | The activation status of the rule |

```json
{
	"id": 1,
	"created_date": "2023-05-09T14:42:44.507114+03:00",
	"modified_date": "2023-05-09T14:54:38.997168+03:00",
	"is_active": true,
	"code": "alpha_stock_list",
	"name": "Alpha Stock List",
	"remote_id": 1,
	"stock_list_rule": 1
}
```

### Create Stock List

This method is used to create a new stock list object.

`POST` **Create-Stock-List**

**Path:** `/api/v1/stock-lists/`

**Parameters**

| Parameter         | Data Type | In     | Required | Description                         |
| ----------------- | --------- | ------ | :------: | ----------------------------------- |
| api\_token        | string    | header |     ✓    | The API key of the customer account |
| code              | string    | body   |     ✓    | The code of the stock list          |
| name              | string    | body   |     ✓    | The name of the stock list          |
| remote\_id        | integer   | body   |     ✓    | The remote ID                       |
| stock\_list\_rule | integer   | body   |     ✓    | The rule of the stock list          |

**Example Request**

```python
import requests
import json

url = "https://{whippy_api_url}/api/v1/stock-lists/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload = json.dumps({
  "code": "new_stock_list",
  "name": "Shop New Stock List",
  "remote_id": 5,
  "stock_list_rule": 1,
  "is_active": True
})
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Token {}'.format(api_token)
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
```

**Example Response (201 Created)**

The response includes the following parameters.

| Parameter         | Data Type | Description                               |
| ----------------- | --------- | ----------------------------------------- |
| id                | string    | The primary key of the created stock list |
| name              | string    | The name of the rule                      |
| code              | string    | The code of the stock list                |
| remote\_id        | integer   | The remote ID                             |
| stock\_list\_rule | integer   | The rule of the stock list                |
| created\_date     | date      | The creation date                         |
| modified\_date    | date      | The last modified date                    |
| is\_active        | boolean   | The activation status of the rule         |

```json
{
	"id": 4,
	"created_date": "2023-05-10T09:16:42.009484+03:00",
	"modified_date": "2023-05-10T09:16:42.009517+03:00",
	"is_active": true,
	"code": "new_stock_list",
	"name": "Shop New Stock List",
	"remote_id": 5,
	"stock_list_rule": 1
}
```

**Example Response (400 Bad Request)**

```json
{
   "code": [
       "This field is required."
   ],
   "name": [
       "This field is required."
   ],
   "remote_id": [
       "This field is required."
   ],
   "stock_list_rule": [
       "This field is required."
   ]
}
```

### Search Stock Lists

This method is used to search stock list object with the specified filters.

`GET` **Search-Stock-List**

**Path:** `stock-lists/?name=&lt;string>&is_active=&lt;string>&remote_id=&lt;number>&code=&lt;string>&code__contains=&lt;string>&created_date__gt=&lt;string>&created_date__gte=&lt;string>&created_date__lt=&lt;string>&created_date__lte=&lt;string>&created_date=&lt;string>&modified_date__gt=&lt;string>&modified_date__gte=&lt;string>&modified_date__lt=&lt;string>&modified_date__lte=&lt;string>&modified_date=&lt;string>&rule_name=&lt;string>&sort=&lt;string>&page=&lt;integer>&limit=&lt;integer>`

**Filters**

The following parameters can be used to filter GET request results.

| Parameter      | Data Type | In     | Description                                |
| -------------- | --------- | ------ | ------------------------------------------ |
| api\_token     | string    | header | The API key of the customer account        |
| name           | string    | query  | The name of the rule                       |
| code           | string    | query  | The code of the stock                      |
| remote\_id     | string    | query  | The remote ID                              |
| created\_date  | date      | query  | The creation date                          |
| modified\_date | date      | query  | The last modified date                     |
| is\_active     | boolean   | query  | The activation status of the rule          |
| limit          | string    | query  | The amount of line items returned per page |
| page           | integer   | query  | The number of page returned                |

**Example Request**

```python
import requests

url = "https://{whippy_api_url}/api/v1/stock-lists/?remote_id=4"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload={}
headers = {
  'Accept': 'application/json',
  'Authorization': 'Token {}'.format(api_token),
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
```

**Example Response (200 OK)**

The response includes the following parameters.

| Parameter         | Data Type | Description                         |
| ----------------- | --------- | ----------------------------------- |
| id                | string    | The primary key of the created list |
| name              | string    | The name of the rule                |
| code              | string    | The code of the stock list          |
| remote\_id        | integer   | The remote ID                       |
| stock\_list\_rule | integer   | The rule of the stock list          |
| created\_date     | date      | The creation date                   |
| modified\_date    | date      | The last modified date              |
| is\_active        | boolean   | The activation status of the rule   |

```json
{
	"count": 1,
	"next": "https://{whippy_api_url}/api/v1/stock-lists/?page=2&remote_id=1",
	"previous": null,
	"results": [
    	{
        	"id": 1,
        	"created_date": "2023-05-09T14:42:44.507114+03:00",
        	"modified_date": "2023-05-09T17:44:28.736384+03:00",
        	"is_active": true,
        	"code": "alpha_stock_list",
        	"name": "Alpha Stock List",
        	"remote_id": 4,
        	"stock_list_rule": 1
    	}
	]
}
```

### Stock List Partial Update

This method is used to partially update the specified stock list object with PATCH request.

`PATCH` **Stock-List-Partial-Update**

**Path:** `/api/v1/stock-lists/{stocklist_id}/`

**Parameters**

| Parameter       | Data Type | In     | Description                                                                    |
| --------------- | --------- | ------ | ------------------------------------------------------------------------------ |
| api\_token      | string    | header | The API key of the customer account                                            |
| {stocklist\_id} | string    | query  | The ID of the stock list (also referred to as the stock list code in Omnitron) |

**Example Request**

```python
import requests
import json
url = "http://localhost:8000/api/v1/stock-lists/1/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload = json.dumps({
  "remote_id": 4
})
headers = {
  'Content-Type': 'application/json'
  'Authorization': 'Token {}'.format(api_token)
}
response = requests.request("PATCH", url, headers=headers, data=payload)
print(response.text)
```

**Example Response (200 OK)**

The response includes the following parameters.

| Parameter         | Data Type | Description                       |
| ----------------- | --------- | --------------------------------- |
| id                | integer   | The primary key of the stock list |
| name              | string    | The name of the stock list        |
| code              | integer   | The code of the stock list        |
| remote\_id        | integer   | The remote ID                     |
| stock\_list\_rule | integer   | The ID of the stock list rule     |
| created\_date     | date      | The creation date                 |
| modified\_date    | date      | The last modified date            |
| is\_active        | boolean   | The activation status of the rule |

```json
{
	"id": 1,
	"created_date": "2023-05-09T14:42:44.507114+03:00",
	"modified_date": "2023-05-09T17:28:05.664177+03:00",
	"is_active": true,
	"code": "alpha_stock_list",
	"name": "Alpha Stock List",
	"remote_id": 4,
	"stock_list_rule": 1
}
```

### Stock List Full Update

This method is used to update all fields of the specified stock list object with PUT request.

`PUT` **Stock-List**

**Path:** `/api/v1/stock-lists/{stocklist_id}/`

**Example Request**

```python
import requests
import json

url = "http://localhost:8000/api/v1/stock-lists/1/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload = json.dumps({
  "is_active": True,
  "code": "alpha_stock_list",
  "name": "Alpha Stock List",
  "remote_id": 4,
  "stock_list_rule": 1
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Token {}'.format(api_token)
}

response = requests.request("PUT", url, headers=headers, data=payload)

print(response.text)
```

**Example Response (200 OK)**

```json
{
	"id": 1,
	"created_date": "2023-05-09T14:42:44.507114+03:00",
	"modified_date": "2023-05-09T17:44:28.736384+03:00",
	"is_active": true,
	"code": "alpha_stock_list",
	"name": "Alpha Stock List",
	"remote_id": 4,
	"stock_list_rule": 1
}
```

**Example Response (400 Bad Request)**

```json
{
   "remote_id": [
       "This field is required."
   ],
   "code": [
       "This field is required."
   ],
   "name": [
       "This field is required."
   ],
   "stock_list_rule": [
       "This field is required."
   ]
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://apidocs.akinon.com/omnitron/whippy-ware/stock-lists.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
