---
title: "Returns articles"
method: GET
path: "/articles"
tags: ["Articles"]
---

# Returns articles

`GET /articles`

## Query parameters

- `id` integer
- `per_page` integer
- `page` integer
- `order_by` string
- `order_direction` 'asc' | 'desc'
- `return` string
- `group_by` string
- `with` string
- `exclude` integer
- `q` string
- `group_id` integer
- `picture_id` integer
- `name` string
- `manufacturer` string
- `supplier_article_nr` string
- `manufacturer_article_nr` string
- `ean` string
- `unit_price` number, float
- `vat_rate` number, float
- `vat_included` '0' | '1'
- `currency` 'EUR' | 'USD' | 'CHF' | 'UAH' | 'PLN' | 'RON'
- `price_date` string, date
- `unit` 'BAG' | 'BAR' | 'BOTTLE' | 'BOX' | 'BUCKET' | 'BUNCH' | 'CAN' | 'CANISTER' | 'CARDBOARD' | 'CUBIC_METRE' | 'CENTIMETERS' | 'CONTAINER' | 'DAYS' | 'DOZEN' | 'FLAT_FEE' | 'GRAMS' | 'HOURS' | 'KILOGRAMS' | 'KILOMETER' | 'KILOWATT_PEAK' | 'LITRE' | 'METRES' | 'MILLILITRE' | 'MILLIMETRES' | 'PACK' | 'PAIR' | 'PANEL' | 'PARCEL' | 'PERCENT' | 'PIECE' | 'ROLL' | 'RUNNING_METER' | 'SAC' | 'SET' | 'SQUAREMETER' | 'TONS' | 'TRIMMING' | 'TUBE'
- `article_url` string
- `info` string
- `source` string
- `source_external_id` string
- `dangerous_material` boolean
- `assignments` integer

## Response `200`

Articles list

- union
  - object — Generic paginated response wrapper
    - `data` object[] — Articles list
      - `id` integer — ID
      - `first_line` string — First line
      - `icon` string — Icon
      - `color` string — Color
      - `contrast_color` 'dark' | 'white' — Contrast color
      - `custom_number` string — Custom number
      - `picture_is_avatar` boolean — Picture is avatar
      - `group_id` integer — Article group
      - `picture_id` integer — Photo
      - `name` string — Name
      - `manufacturer` string — Brand
      - `supplier_article_nr` string — Supplier article number
      - `manufacturer_article_nr` string — Article number
      - `ean` string — EAN
      - `unit` 'BAG' | 'BAR' | 'BOTTLE' | 'BOX' | 'BUCKET' | 'BUNCH' | 'CAN' | 'CANISTER' | 'CARDBOARD' | 'CUBIC_METRE' | 'CENTIMETERS' | 'CONTAINER' | 'DAYS' | 'DOZEN' | 'FLAT_FEE' | 'GRAMS' | 'HOURS' | 'KILOGRAMS' | 'KILOMETER' | 'KILOWATT_PEAK' | 'LITRE' | 'METRES' | 'MILLILITRE' | 'MILLIMETRES' | 'PACK' | 'PAIR' | 'PANEL' | 'PARCEL' | 'PERCENT' | 'PIECE' | 'ROLL' | 'RUNNING_METER' | 'SAC' | 'SET' | 'SQUAREMETER' | 'TONS' | 'TRIMMING' | 'TUBE' — Unit
      - `vat_included` '0' | '1' — VAT included
      - `unit_price` number, float — Price
      - `vat_rate` number, float — Vat rate
      - `currency` 'EUR' | 'USD' | 'CHF' | 'UAH' | 'PLN' | 'RON' — Currency
      - `price_date` string, date, nullable — Price date
      - `article_url` string — Article URL
      - `dangerous_material` boolean — Dangerous goods
      - `info` string — Detailed description
      - `source` string — Source
      - `source_external_id` string, nullable — Source ID
      - `created_at` string, date-time — Created
      - `updated_at` string, date-time — Updated
    - `links` object
      - `first` string, nullable
      - `last` string, nullable
      - `prev` string, nullable
      - `next` string, nullable
    - `meta` object
      - `current_page` integer
      - `from` integer, nullable
      - `last_page` integer
      - `links` object[]
        - `url` string, nullable
        - `label` string
        - `active` boolean
      - `path` string
      - `per_page` integer
      - `to` integer, nullable
      - `total` integer
  - AggregateResponse — Returned instead of the paginated list when the "return=" parameter is used.
    - `data` object
      - `count` integer — Response envelope for the "return=" aggregate parameter (see general--return). Exactly one of the properties is present per response, depending on the requested aggregate.
      - `sum` number, nullable
      - `avg` number, nullable
      - `min` unknown
      - `max` unknown
  - GroupedAggregateResponse — Returned instead of the paginated list when the "group_by=" parameter is used. One row per bucket.
    - `data` object[]
      - `count` integer — Response envelope for the "group_by=" parameter (see general--group_by). Each element is one bucket: the grouped column plus the requested aggregate (count by default, or one of sum/min/max/avg via "return=").
      - `sum` number, nullable
      - `avg` number, nullable
      - `min` unknown
      - `max` unknown

## Other responses

- `401` — The request lacks valid authentication credentials.
- `403` — The token is valid but lacks the permission for this action.
- `500` — An unexpected error occurred on the server (e.g. a requested relation does not exist).

---

[API](https://skmtc.net/craftboxx/apis/craftboxx-api-documentation.md) · [All operations](https://skmtc.net/craftboxx/apis/craftboxx-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/craftboxx/craftboxx-api-documentation/revisions/c01f07a02f77/schema)
