# Download products as JSON

**GET** `https://api.zoined.com/v2/download/products.json?limit=1000&offset=0&product_id=123k`

Endpoint: GET /v2/download/products.json
Security: bearerAuth

## Security:

  - `bearerAuth` (unknown)
    http bearer token

## Query parameters:

  - `limit` (number)
    How many entries to return

  - `offset` (number)
    Which offset to return data from

  - `product_id` (string)
    Return data of a product based on given id

## Response 200:

  - `200` (unknown)
    Request has been processed successfully.
**Headers**
- `Content-Type: application/json`

## Response 200 fields (application/json):

  - `product_id` (string, required)
    Product ID
    Example: XYZ

  - `product_name` (string, required)
    Product Name
    Example: Widget XYZ

  - `product_description` (string)
    Product description
    Example: Best performance XYZ on the market

  - `average_price` (number)
    Running average purchase price for product.
    Example: 8

  - `purchase_price` (number)
    Default purchase price for product. Used if sales transaction doesn't have purchase price set.
    Example: 10

  - `sales_price` (number)
    Default retail price for product with taxes.
    Example: 20

  - `sales_price_wo_vat` (number)
    Default retail price for product without taxes.
    Example: 16

  - `vat_rate` (number)
    VAT/tax rate
    Example: 24

  - `unit_of_measure` (string)
    Unit of measure
    Example: PCS

  - `product_size` (string)
    Product size
    Example: XS

  - `product_width` (string)
    Product width
    Example: 5"

  - `product_height` (string)
    Product height
    Example: 10"

  - `product_color` (string)
    Product color
    Example: Dark Blue

  - `product_type` (string)
    Product type
    Example: Type A

  - `product_season` (string)
    Product season
    Example: Spring

  - `product_brand` (string)
    Product brand
    Example: Tiger

  - `model` (string)
    a (string, optional) - Product model
    Example: XYZ B40

  - `model_number` (string)
    Product model number
    Example: X311

  - `country_of_origin` (string)
    Country of origin
    Example: Moldovia

  - `freight` (number)
    Freight
    Example: 5

  - `duty` (number)
    Duty
    Example: 0.24

  - `supplier_id` (string)
    Supplier ID
    Example: 221

  - `fabric` (string)
    Product fabric
    Example: Felt

  - `buyer` (string)
    Buyer name
    Example: Lena Shields

  - `ean` (string)
    Ean code
    Example: Ean code

  - `parent_product_id` (string)
    Parent Product ID
    Example: XY

  - `image_url` (string)
    Url for external product image file
    Example: http://example.com?product=XYZ

  - `custom_field_1` (string)
    Custom field 1
    Example: EU only

  - `custom_field_2` (string)
    Custom field 2
    Example: EU only

  - `custom_field_3` (string)
    Custom field 3
    Example: EU only

  - `custom_field_4` (string)
    Custom field 4
    Example: EU only

  - `custom_field_5` (string)
    Custom field 5
    Example: EU only

  - `custom_field_6` (string)
    Custom field 6
    Example: EU only

  - `custom_field_7` (string)
    Custom field 7
    Example: EU only

  - `custom_field_8` (string)
    Custom field 8
    Example: EU only

  - `custom_field_9` (string)
    Custom field 9
    Example: EU only

  - `custom_field_10` (string)
    Custom field 10
    Example: EU only

  - `custom_field_11` (string)
    Custom field 11
    Example: EU only

  - `custom_field_12` (string)
    Custom field 12
    Example: EU only

  - `custom_field_13` (string)
    Custom field 13
    Example: EU only

  - `custom_field_14` (string)
    Custom field 14
    Example: EU only

  - `custom_field_15` (string)
    Custom field 15
    Example: EU only

  - `custom_field_16` (string)
    Custom field 16
    Example: EU only

  - `custom_field_17` (string)
    Custom field 17
    Example: EU only

  - `custom_field_18` (string)
    Custom field 18
    Example: EU only

  - `custom_field_19` (string)
    Custom field 19
    Example: EU only

  - `custom_field_20` (string)
    Custom field 20
    Example: EU only

  - `custom_field_21` (string)
    Custom field 21
    Example: EU only

  - `custom_field_22` (string)
    Custom field 22
    Example: EU only

  - `custom_field_23` (string)
    Custom field 23
    Example: EU only

  - `custom_field_24` (string)
    Custom field 24
    Example: EU only

  - `custom_field_25` (string)
    Custom field 25
    Example: EU only

  - `custom_field_26` (string)
    Custom field 26
    Example: EU only

  - `custom_field_27` (string)
    Custom field 27
    Example: EU only

  - `custom_field_28` (string)
    Custom field 28
    Example: EU only

  - `custom_field_29` (string)
    Custom field 29
    Example: EU only

  - `custom_field_30` (string)
    Custom field 30
    Example: EU only

  - `custom_field_31` (string)
    Custom field 31
    Example: EU only

  - `custom_field_32` (string)
    Custom field 32
    Example: EU only

  - `custom_field_33` (string)
    Custom field 33
    Example: EU only

  - `custom_field_34` (string)
    Custom field 34
    Example: EU only

  - `custom_field_35` (string)
    Custom field 35
    Example: EU only

  - `custom_field_36` (string)
    Custom field 36
    Example: EU only

  - `custom_field_37` (string)
    Custom field 37
    Example: EU only

  - `custom_field_38` (string)
    Custom field 38
    Example: EU only

  - `custom_field_39` (string)
    Custom field 39
    Example: EU only

  - `custom_field_40` (string)
    Custom field 40
    Example: EU only

  - `custom_field_41` (string)
    Custom field 41
    Example: EU only

  - `custom_field_42` (string)
    Custom field 42
    Example: EU only

  - `custom_field_43` (string)
    Custom field 43
    Example: EU only

  - `custom_field_44` (string)
    Custom field 44
    Example: EU only

  - `custom_field_45` (string)
    Custom field 45
    Example: EU only

  - `custom_field_46` (string)
    Custom field 46
    Example: EU only

  - `custom_field_47` (string)
    Custom field 47
    Example: EU only

  - `custom_field_48` (string)
    Custom field 48
    Example: EU only

  - `custom_field_49` (string)
    Custom field 49
    Example: EU only

  - `custom_field_50` (string)
    Custom field 50
    Example: EU only

  - `custom_metric_1` (number)
    Custom metric 1
    Example: 1

  - `custom_metric_2` (number)
    Custom metric 2
    Example: 100

  - `custom_metric_3` (number)
    Custom metric 3
    Example: 2.2

  - `custom_metric_4` (number)
    Custom metric 4
    Example: 1.05

  - `custom_metric_5` (number)
    Custom metric 5
    Example: 10000

  - `custom_metric_6` (number)
    Custom metric 6
    Example: 150

  - `custom_metric_7` (number)
    Custom metric 7
    Example: 1000

  - `custom_metric_8` (number)
    Custom metric 8
    Example: 2.52

  - `custom_metric_9` (number)
    Custom metric 9
    Example: 1.5

  - `custom_metric_10` (number)
    Custom metric 10
    Example: 2000

## Response 400:

  - `400` (unknown)
    Invalid or malformed request.
**Headers**
- `Content-Type: application/json`

## Response 400 fields (application/json):

  - `status` (string, required)
    Status of the operation OK / Not OK
    Example: Not OK

  - `msg` (string, required)
    Message describing result of operation
    Example: Reason for error

## Response 401:

  - `401` (unknown)
    Missing or invalid authorization token in header
**Headers**
- `Content-Type: application/json`

## Response 401 fields (application/json):

  - `status` (string, required)
    Status of the operation OK / Not OK
    Example: Not OK

  - `msg` (string, required)
    Message describing result of operation
    Example: Unauthorized

## Response 500:

  - `500` (unknown)
    Internal error or exception
**Headers**
- `Content-Type: application/json`

## Response 500 fields (application/json):

  - `status` (string, required)
    Status of the operation OK / Not OK
    Example: Not OK

  - `msg` (string, required)
    Message describing result of operation
    Example: Reason for error

## Response 200 examples:

  - `response` (unknown)

## Response 400 examples:

  - `response` (unknown)

## Response 401 examples:

  - `response` (unknown)

## Response 500 examples:

  - `response` (unknown)

