> ## Documentation Index
> Fetch the complete documentation index at: https://www.twicecommerce.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List articles by filters

> Lists articles (stock items) with filtering. Articles are the concrete stock items that fulfil bookings; catalog items are what customers book, and a SKU groups interchangeable articles under one code.



## OpenAPI

````yaml https://server.twicecommerce.com/api/admin/openapi-mintlify.json get /v1/admin/articles/
openapi: 3.0.2
info:
  title: TWICE Admin API
  description: "The TWICE Admin API is the merchant-facing API of the Twice platform. It is currently in alpha: endpoints and schemas may change without notice.\n\n## Webhooks\n\nWebhooks notify your systems when resources change in Twice. A webhook subscription pairs one event type with one HTTPS endpoint of yours; whenever a matching event occurs, we POST the event to that endpoint. Subscriptions and their delivery logs are managed in the Twice admin under **Account → Integrations**.\n\n### Event types\n\n- `order.created`\n- `order.deleted`\n- `order.updated`\n\n### Payload\n\nEvery delivery is an HTTP POST with a JSON body sharing a common envelope. The typed payload of each event type is documented in the **Webhooks** section of the sidebar.\n\n```json\n{\n\t\"eventId\": \"5f2eb3a6-6cbd-4a2e-9350-6e0d1e2f9a11\",\n\t\"eventType\": \"order.created\",\n\t\"eventTime\": \"2026-08-06T12:34:56.789Z\",\n\t\"resource\": \"order\",\n\t\"resourceId\": \"0d9e0a7c-3fd1-4c8f-9c0d-2b7c6f7f2a55\",\n\t\"apiVersion\": \"2025-06\",\n\t\"data\": { \"…\": \"the API representation of the resource, or null for deletes\" }\n}\n```\n\n`data` carries the resource in the same shape the REST API returns it, as of the API version in `apiVersion`. Each subscription is pinned to the API version that was the latest when the subscription was created, so a new API version never changes the payload shape you receive — moving to a newer version is an explicit update of the subscription.\n\n### Acknowledging deliveries\n\nRespond with any **2xx** status to acknowledge a delivery. Any other status — or a timeout — counts as a failed attempt. Respond as quickly as possible and do heavy processing asynchronously after acknowledging.\n\n### Delivery semantics\n\nDeliveries are **at-least-once**: the same event can occasionally be delivered more than once, so deduplicate on the `X-Twice-Event-Id` header (or the equal `eventId` body field). Ordering is not guaranteed — when it matters, use `eventTime` or re-fetch the current state of the resource via the API.\n\n### Retries\n\nFailed deliveries are retried up to 3 times (4 attempts in total) with growing backoff — roughly 10 s, 20 s, 40 s after the preceding attempt — giving up 10 minutes after the first attempt. After 3 consecutive events fail all their attempts, the subscription is automatically disabled (`disabledReason: TOO_MANY_FAILED_DELIVERY_ATTEMPTS`) and must be re-enabled manually in the admin. Individual deliveries can also be redelivered manually from the delivery log.\n\n### Verifying signatures\n\nEach subscription has a signing secret (prefixed `whsec_`), available in the admin. Deliveries carry an HMAC-SHA256 signature of the exact raw request body in the `X-Twice-Signature` header, formatted `sha256=<hex>`. Verify it against the raw body bytes — parse the JSON only after the signature checks out:\n\n```js\nimport { createHmac, timingSafeEqual } from 'node:crypto';\n\nconst expected = 'sha256=' + createHmac('sha256', secret).update(rawBody, 'utf8').digest('hex');\nconst signature = req.headers['x-twice-signature'];\nconst isValid =\n\ttypeof signature === 'string' &&\n\tsignature.length === expected.length &&\n\ttimingSafeEqual(Buffer.from(signature), Buffer.from(expected));\n```"
  version: 2025-06
servers:
  - url: https://server.twicecommerce.com
security:
  - ApiKeyAuth: []
paths:
  /v1/admin/articles/:
    get:
      tags:
        - articles
      summary: List articles by filters
      description: >-
        Lists articles (stock items) with filtering. Articles are the concrete
        stock items that fulfil bookings; catalog items are what customers book,
        and a SKU groups interchangeable articles under one code.
      operationId: admin.articles.list
      parameters:
        - name: filters
          in: query
          style: deepObject
          schema:
            type: object
            properties:
              serviceLocationIds:
                type: array
                items:
                  type: string
              articleIds:
                anyOf:
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - startsWith
                          - endsWith
                          - contains
                          - doesNotContain
                          - eq
                          - ne
                          - gt
                          - gte
                          - lt
                          - lte
                          - inArray
                          - notInArray
                          - between
                          - notBetween
                          - isEmpty
                          - isNotEmpty
                          - isToday
                          - isBeforeToday
                          - isAfterToday
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: string
                          - type: string
                    required:
                      - operator
                      - value
                  - type: array
                    items:
                      type: object
                      properties:
                        operator:
                          type: string
                          enum:
                            - startsWith
                            - endsWith
                            - contains
                            - doesNotContain
                            - eq
                            - ne
                            - gt
                            - gte
                            - lt
                            - lte
                            - inArray
                            - notInArray
                            - between
                            - notBetween
                            - isEmpty
                            - isNotEmpty
                            - isToday
                            - isBeforeToday
                            - isAfterToday
                        value:
                          anyOf:
                            - type: array
                              items:
                                type: string
                            - type: string
                      required:
                        - operator
                        - value
              skuId:
                type: string
              createdAt:
                type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - startsWith
                      - endsWith
                      - contains
                      - doesNotContain
                      - eq
                      - ne
                      - gt
                      - gte
                      - lt
                      - lte
                      - inArray
                      - notInArray
                      - between
                      - notBetween
                      - isEmpty
                      - isNotEmpty
                      - isToday
                      - isBeforeToday
                      - isAfterToday
                  value:
                    anyOf:
                      - type: array
                        items:
                          anyOf:
                            - type: string
                              format: date-time
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            - type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                      - anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: string
                            format: date
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                required:
                  - operator
                  - value
              attributes:
                type: object
                properties:
                  id:
                    type: string
                  operator:
                    type: string
                    enum:
                      - startsWith
                      - endsWith
                      - contains
                      - doesNotContain
                      - eq
                      - ne
                      - gt
                      - gte
                      - lt
                      - lte
                      - inArray
                      - notInArray
                      - between
                      - notBetween
                      - isEmpty
                      - isNotEmpty
                      - isToday
                      - isBeforeToday
                      - isAfterToday
                  value:
                    anyOf:
                      - type: array
                        items:
                          anyOf:
                            - type: boolean
                            - type: string
                            - type: number
                      - anyOf:
                          - type: boolean
                          - type: string
                          - type: number
                  format:
                    type: string
                    enum:
                      - text
                      - number
                      - boolean
                      - date
                      - datetime
                      - select
                      - multiselect
                required:
                  - id
                  - operator
                  - value
              name:
                anyOf:
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - startsWith
                          - endsWith
                          - contains
                          - doesNotContain
                          - eq
                          - ne
                          - gt
                          - gte
                          - lt
                          - lte
                          - inArray
                          - notInArray
                          - between
                          - notBetween
                          - isEmpty
                          - isNotEmpty
                          - isToday
                          - isBeforeToday
                          - isAfterToday
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: string
                          - type: string
                    required:
                      - operator
                      - value
                  - type: array
                    items:
                      type: object
                      properties:
                        operator:
                          type: string
                          enum:
                            - startsWith
                            - endsWith
                            - contains
                            - doesNotContain
                            - eq
                            - ne
                            - gt
                            - gte
                            - lt
                            - lte
                            - inArray
                            - notInArray
                            - between
                            - notBetween
                            - isEmpty
                            - isNotEmpty
                            - isToday
                            - isBeforeToday
                            - isAfterToday
                        value:
                          anyOf:
                            - type: array
                              items:
                                type: string
                            - type: string
                      required:
                        - operator
                        - value
              code:
                anyOf:
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - startsWith
                          - endsWith
                          - contains
                          - doesNotContain
                          - eq
                          - ne
                          - gt
                          - gte
                          - lt
                          - lte
                          - inArray
                          - notInArray
                          - between
                          - notBetween
                          - isEmpty
                          - isNotEmpty
                          - isToday
                          - isBeforeToday
                          - isAfterToday
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: string
                          - type: string
                    required:
                      - operator
                      - value
                  - type: array
                    items:
                      type: object
                      properties:
                        operator:
                          type: string
                          enum:
                            - startsWith
                            - endsWith
                            - contains
                            - doesNotContain
                            - eq
                            - ne
                            - gt
                            - gte
                            - lt
                            - lte
                            - inArray
                            - notInArray
                            - between
                            - notBetween
                            - isEmpty
                            - isNotEmpty
                            - isToday
                            - isBeforeToday
                            - isAfterToday
                        value:
                          anyOf:
                            - type: array
                              items:
                                type: string
                            - type: string
                      required:
                        - operator
                        - value
              skuName:
                anyOf:
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - startsWith
                          - endsWith
                          - contains
                          - doesNotContain
                          - eq
                          - ne
                          - gt
                          - gte
                          - lt
                          - lte
                          - inArray
                          - notInArray
                          - between
                          - notBetween
                          - isEmpty
                          - isNotEmpty
                          - isToday
                          - isBeforeToday
                          - isAfterToday
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: string
                          - type: string
                    required:
                      - operator
                      - value
                  - type: array
                    items:
                      type: object
                      properties:
                        operator:
                          type: string
                          enum:
                            - startsWith
                            - endsWith
                            - contains
                            - doesNotContain
                            - eq
                            - ne
                            - gt
                            - gte
                            - lt
                            - lte
                            - inArray
                            - notInArray
                            - between
                            - notBetween
                            - isEmpty
                            - isNotEmpty
                            - isToday
                            - isBeforeToday
                            - isAfterToday
                        value:
                          anyOf:
                            - type: array
                              items:
                                type: string
                            - type: string
                      required:
                        - operator
                        - value
              skuCode:
                anyOf:
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - startsWith
                          - endsWith
                          - contains
                          - doesNotContain
                          - eq
                          - ne
                          - gt
                          - gte
                          - lt
                          - lte
                          - inArray
                          - notInArray
                          - between
                          - notBetween
                          - isEmpty
                          - isNotEmpty
                          - isToday
                          - isBeforeToday
                          - isAfterToday
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: string
                          - type: string
                    required:
                      - operator
                      - value
                  - type: array
                    items:
                      type: object
                      properties:
                        operator:
                          type: string
                          enum:
                            - startsWith
                            - endsWith
                            - contains
                            - doesNotContain
                            - eq
                            - ne
                            - gt
                            - gte
                            - lt
                            - lte
                            - inArray
                            - notInArray
                            - between
                            - notBetween
                            - isEmpty
                            - isNotEmpty
                            - isToday
                            - isBeforeToday
                            - isAfterToday
                        value:
                          anyOf:
                            - type: array
                              items:
                                type: string
                            - type: string
                      required:
                        - operator
                        - value
              status:
                type: string
                enum:
                  - active
                  - inactive
                  - draft
              available:
                type: boolean
              quantity:
                anyOf:
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - startsWith
                          - endsWith
                          - contains
                          - doesNotContain
                          - eq
                          - ne
                          - gt
                          - gte
                          - lt
                          - lte
                          - inArray
                          - notInArray
                          - between
                          - notBetween
                          - isEmpty
                          - isNotEmpty
                          - isToday
                          - isBeforeToday
                          - isAfterToday
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: number
                          - type: number
                    required:
                      - operator
                      - value
                  - type: array
                    items:
                      type: object
                      properties:
                        operator:
                          type: string
                          enum:
                            - startsWith
                            - endsWith
                            - contains
                            - doesNotContain
                            - eq
                            - ne
                            - gt
                            - gte
                            - lt
                            - lte
                            - inArray
                            - notInArray
                            - between
                            - notBetween
                            - isEmpty
                            - isNotEmpty
                            - isToday
                            - isBeforeToday
                            - isAfterToday
                        value:
                          anyOf:
                            - type: array
                              items:
                                type: number
                            - type: number
                      required:
                        - operator
                        - value
              itemCosts:
                anyOf:
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - startsWith
                          - endsWith
                          - contains
                          - doesNotContain
                          - eq
                          - ne
                          - gt
                          - gte
                          - lt
                          - lte
                          - inArray
                          - notInArray
                          - between
                          - notBetween
                          - isEmpty
                          - isNotEmpty
                          - isToday
                          - isBeforeToday
                          - isAfterToday
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: number
                          - type: number
                    required:
                      - operator
                      - value
                  - type: array
                    items:
                      type: object
                      properties:
                        operator:
                          type: string
                          enum:
                            - startsWith
                            - endsWith
                            - contains
                            - doesNotContain
                            - eq
                            - ne
                            - gt
                            - gte
                            - lt
                            - lte
                            - inArray
                            - notInArray
                            - between
                            - notBetween
                            - isEmpty
                            - isNotEmpty
                            - isToday
                            - isBeforeToday
                            - isAfterToday
                        value:
                          anyOf:
                            - type: array
                              items:
                                type: number
                            - type: number
                      required:
                        - operator
                        - value
              itemIncome:
                anyOf:
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - startsWith
                          - endsWith
                          - contains
                          - doesNotContain
                          - eq
                          - ne
                          - gt
                          - gte
                          - lt
                          - lte
                          - inArray
                          - notInArray
                          - between
                          - notBetween
                          - isEmpty
                          - isNotEmpty
                          - isToday
                          - isBeforeToday
                          - isAfterToday
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: number
                          - type: number
                    required:
                      - operator
                      - value
                  - type: array
                    items:
                      type: object
                      properties:
                        operator:
                          type: string
                          enum:
                            - startsWith
                            - endsWith
                            - contains
                            - doesNotContain
                            - eq
                            - ne
                            - gt
                            - gte
                            - lt
                            - lte
                            - inArray
                            - notInArray
                            - between
                            - notBetween
                            - isEmpty
                            - isNotEmpty
                            - isToday
                            - isBeforeToday
                            - isAfterToday
                        value:
                          anyOf:
                            - type: array
                              items:
                                type: number
                            - type: number
                      required:
                        - operator
                        - value
              purchasePrice:
                anyOf:
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - startsWith
                          - endsWith
                          - contains
                          - doesNotContain
                          - eq
                          - ne
                          - gt
                          - gte
                          - lt
                          - lte
                          - inArray
                          - notInArray
                          - between
                          - notBetween
                          - isEmpty
                          - isNotEmpty
                          - isToday
                          - isBeforeToday
                          - isAfterToday
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: number
                          - type: number
                    required:
                      - operator
                      - value
                  - type: array
                    items:
                      type: object
                      properties:
                        operator:
                          type: string
                          enum:
                            - startsWith
                            - endsWith
                            - contains
                            - doesNotContain
                            - eq
                            - ne
                            - gt
                            - gte
                            - lt
                            - lte
                            - inArray
                            - notInArray
                            - between
                            - notBetween
                            - isEmpty
                            - isNotEmpty
                            - isToday
                            - isBeforeToday
                            - isAfterToday
                        value:
                          anyOf:
                            - type: array
                              items:
                                type: number
                            - type: number
                      required:
                        - operator
                        - value
              profitability:
                anyOf:
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - startsWith
                          - endsWith
                          - contains
                          - doesNotContain
                          - eq
                          - ne
                          - gt
                          - gte
                          - lt
                          - lte
                          - inArray
                          - notInArray
                          - between
                          - notBetween
                          - isEmpty
                          - isNotEmpty
                          - isToday
                          - isBeforeToday
                          - isAfterToday
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: number
                          - type: number
                    required:
                      - operator
                      - value
                  - type: array
                    items:
                      type: object
                      properties:
                        operator:
                          type: string
                          enum:
                            - startsWith
                            - endsWith
                            - contains
                            - doesNotContain
                            - eq
                            - ne
                            - gt
                            - gte
                            - lt
                            - lte
                            - inArray
                            - notInArray
                            - between
                            - notBetween
                            - isEmpty
                            - isNotEmpty
                            - isToday
                            - isBeforeToday
                            - isAfterToday
                        value:
                          anyOf:
                            - type: array
                              items:
                                type: number
                            - type: number
                      required:
                        - operator
                        - value
              condition:
                anyOf:
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - startsWith
                          - endsWith
                          - contains
                          - doesNotContain
                          - eq
                          - ne
                          - gt
                          - gte
                          - lt
                          - lte
                          - inArray
                          - notInArray
                          - between
                          - notBetween
                          - isEmpty
                          - isNotEmpty
                          - isToday
                          - isBeforeToday
                          - isAfterToday
                      value:
                        anyOf:
                          - type: array
                            items:
                              type: string
                          - type: string
                    required:
                      - operator
                      - value
                  - type: array
                    items:
                      type: object
                      properties:
                        operator:
                          type: string
                          enum:
                            - startsWith
                            - endsWith
                            - contains
                            - doesNotContain
                            - eq
                            - ne
                            - gt
                            - gte
                            - lt
                            - lte
                            - inArray
                            - notInArray
                            - between
                            - notBetween
                            - isEmpty
                            - isNotEmpty
                            - isToday
                            - isBeforeToday
                            - isAfterToday
                        value:
                          anyOf:
                            - type: array
                              items:
                                type: string
                            - type: string
                      required:
                        - operator
                        - value
              search:
                type: string
              hasConflicts:
                type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - startsWith
                      - endsWith
                      - contains
                      - doesNotContain
                      - eq
                      - ne
                      - gt
                      - gte
                      - lt
                      - lte
                      - inArray
                      - notInArray
                      - between
                      - notBetween
                      - isEmpty
                      - isNotEmpty
                      - isToday
                      - isBeforeToday
                      - isAfterToday
                  value:
                    anyOf:
                      - type: array
                        items:
                          type: boolean
                      - type: boolean
                required:
                  - operator
                  - value
              tagIds:
                type: array
                items:
                  type: string
              tags:
                type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - startsWith
                      - endsWith
                      - contains
                      - doesNotContain
                      - eq
                      - ne
                      - gt
                      - gte
                      - lt
                      - lte
                      - inArray
                      - notInArray
                      - between
                      - notBetween
                      - isEmpty
                      - isNotEmpty
                      - isToday
                      - isBeforeToday
                      - isAfterToday
                  value:
                    anyOf:
                      - type: array
                        items:
                          type: string
                      - type: string
                required:
                  - operator
                  - value
              scope:
                type: string
                enum:
                  - active
                  - archived
                  - all
        - name: pagination
          in: query
          style: deepObject
          schema:
            type: object
            properties:
              size:
                type: number
              page:
                type: number
            required:
              - size
              - page
        - name: orderBy
          in: query
          style: deepObject
          schema:
            type: object
            properties:
              field:
                type: string
                enum:
                  - unavailability
                  - serviceLocation
                  - skuName
                  - skuCode
                  - purchasePrice
                  - profitability
                  - condition
                  - tags
                  - quantity
                  - hasConflicts
                  - codes
                  - createdAt
                  - name
                  - status
                  - itemCosts
                  - itemIncome
              direction:
                type: string
                enum:
                  - asc
                  - desc
              attributeId:
                type: string
            required:
              - direction
        - name: dateRange
          in: query
          style: deepObject
          schema:
            type: object
            properties:
              start:
                nullable: true
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              end:
                nullable: true
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            required:
              - start
              - end
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  articles:
                    type: object
                    properties:
                      id:
                        type: string
                      codes:
                        type: array
                        items:
                          type: string
                      name:
                        type: string
                      binLocation:
                        nullable: true
                        type: string
                      binLocationOrigin:
                        nullable: true
                        type: string
                        enum:
                          - article
                          - sku
                      status:
                        type: string
                        enum:
                          - active
                          - inactive
                          - draft
                      parentId:
                        nullable: true
                        type: string
                      path:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      archivedAt:
                        nullable: true
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      taxonomyCategoryId:
                        nullable: true
                        type: string
                      taxonomyCategory:
                        nullable: true
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          fullName:
                            type: string
                          level:
                            type: number
                          parentId:
                            nullable: true
                            type: string
                          isLeaf:
                            type: boolean
                        required:
                          - id
                          - name
                          - fullName
                          - level
                          - parentId
                          - isLeaf
                        additionalProperties: false
                      media:
                        type: object
                        properties:
                          fileId:
                            type: string
                          articleId:
                            type: string
                          media:
                            type: object
                            properties:
                              id:
                                type: string
                              tenantId:
                                type: string
                              fileUrl:
                                type: string
                              mimeType:
                                type: string
                              originalName:
                                type: string
                              folderPath:
                                nullable: true
                                type: string
                              size:
                                type: number
                              createdAt:
                                type: string
                              updatedAt:
                                type: string
                              deletedAt:
                                nullable: true
                                type: string
                              updatedById:
                                nullable: true
                                type: string
                              createdById:
                                nullable: true
                                type: string
                            required:
                              - id
                              - tenantId
                              - fileUrl
                              - mimeType
                              - originalName
                              - folderPath
                              - size
                              - createdAt
                              - updatedAt
                              - deletedAt
                              - updatedById
                              - createdById
                            additionalProperties: false
                          orderIndex:
                            type: number
                        required:
                          - fileId
                          - articleId
                          - orderIndex
                        additionalProperties: false
                      documents:
                        type: object
                        properties:
                          fileId:
                            type: string
                          articleId:
                            type: string
                          document:
                            type: object
                            properties:
                              id:
                                type: string
                              tenantId:
                                type: string
                              fileUrl:
                                type: string
                              mimeType:
                                type: string
                              originalName:
                                type: string
                              folderPath:
                                nullable: true
                                type: string
                              size:
                                type: number
                              createdAt:
                                type: string
                              updatedAt:
                                type: string
                              deletedAt:
                                nullable: true
                                type: string
                              updatedById:
                                nullable: true
                                type: string
                              createdById:
                                nullable: true
                                type: string
                            required:
                              - id
                              - tenantId
                              - fileUrl
                              - mimeType
                              - originalName
                              - folderPath
                              - size
                              - createdAt
                              - updatedAt
                              - deletedAt
                              - updatedById
                              - createdById
                            additionalProperties: false
                          orderIndex:
                            type: number
                          comment:
                            nullable: true
                            type: string
                        required:
                          - fileId
                          - articleId
                          - orderIndex
                          - comment
                        additionalProperties: false
                      attributes:
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          key:
                            type: string
                          value:
                            nullable: true
                            anyOf:
                              - type: string
                              - type: number
                              - type: boolean
                              - type: array
                                items:
                                  type: string
                          format:
                            type: string
                            enum:
                              - text
                              - number
                              - boolean
                              - date
                              - datetime
                              - formula
                              - select
                              - multiselect
                          groupId:
                            nullable: true
                            type: string
                          groupName:
                            nullable: true
                            type: string
                          systemGroup:
                            nullable: true
                            type: string
                            enum:
                              - sustainability
                              - system
                          origin:
                            type: string
                            enum:
                              - article
                              - sku
                              - customer
                              - catalog
                        required:
                          - id
                          - name
                          - key
                          - value
                          - format
                          - groupId
                          - groupName
                          - systemGroup
                          - origin
                        additionalProperties: false
                      tags:
                        nullable: true
                        type: object
                        properties:
                          id:
                            type: string
                          value:
                            type: string
                          scope:
                            type: string
                            enum:
                              - inventory
                              - catalog
                              - customers
                              - orders
                          createdAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          updatedAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        required:
                          - id
                          - value
                          - scope
                          - createdAt
                          - updatedAt
                        additionalProperties: false
                      sku:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          name:
                            type: string
                          code:
                            type: string
                          tags:
                            type: object
                            properties:
                              id:
                                type: string
                              value:
                                type: string
                              scope:
                                type: string
                                enum:
                                  - inventory
                                  - catalog
                                  - customers
                                  - orders
                              createdAt:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              updatedAt:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            required:
                              - id
                              - value
                              - scope
                              - createdAt
                              - updatedAt
                            additionalProperties: false
                          bufferTimeAmountBefore:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          bufferTimeUnitBefore:
                            type: string
                            enum:
                              - seconds
                              - minutes
                              - hours
                              - days
                              - weeks
                              - months
                              - years
                          bufferTimeAmountAfter:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          bufferTimeUnitAfter:
                            type: string
                            enum:
                              - seconds
                              - minutes
                              - hours
                              - days
                              - weeks
                              - months
                              - years
                        required:
                          - id
                          - name
                          - code
                        additionalProperties: false
                      itemCosts:
                        type: number
                      itemIncome:
                        type: number
                      purchasePrice:
                        nullable: true
                        type: number
                      purchasePriceOrigin:
                        nullable: true
                        type: string
                        enum:
                          - article
                          - sku
                      condition:
                        nullable: true
                        type: string
                      description:
                        nullable: true
                      descriptionOrigin:
                        nullable: true
                        type: string
                        enum:
                          - article
                          - sku
                      bufferTimeAmountBefore:
                        nullable: true
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      bufferTimeUnitBefore:
                        type: string
                        enum:
                          - seconds
                          - minutes
                          - hours
                          - days
                          - weeks
                          - months
                          - years
                      bufferTimeOriginBefore:
                        nullable: true
                        type: string
                        enum:
                          - article
                          - sku
                      bufferTimeAmountAfter:
                        nullable: true
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      bufferTimeUnitAfter:
                        type: string
                        enum:
                          - seconds
                          - minutes
                          - hours
                          - days
                          - weeks
                          - months
                          - years
                      bufferTimeOrigin:
                        nullable: true
                        type: string
                        enum:
                          - article
                          - sku
                      profitability:
                        type: number
                      conflicts:
                        type: object
                        properties:
                          byLocation:
                            type: object
                            additionalProperties:
                              type: object
                              properties:
                                locationId:
                                  type: string
                                conflictDates:
                                  type: array
                                  items:
                                    type: string
                                total:
                                  type: number
                                earliestDate:
                                  nullable: true
                                  type: string
                                  format: date-time
                                  pattern: >-
                                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                stockItemConflicts:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      orderId:
                                        type: string
                                      name:
                                        type: string
                                      start:
                                        type: string
                                        format: date-time
                                        pattern: >-
                                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                      end:
                                        nullable: true
                                        type: string
                                        format: date-time
                                        pattern: >-
                                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                    required:
                                      - orderId
                                      - name
                                      - start
                                      - end
                                    additionalProperties: false
                              required:
                                - locationId
                                - conflictDates
                                - total
                                - earliestDate
                              additionalProperties: false
                        required:
                          - byLocation
                        additionalProperties: false
                      aggregateData:
                        type: object
                        properties:
                          totalCount:
                            type: number
                          lastCreated:
                            nullable: true
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          lastUpdated:
                            nullable: true
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        required:
                          - totalCount
                          - lastCreated
                          - lastUpdated
                        additionalProperties: false
                      snapshotDate:
                        type: object
                        properties:
                          from:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          to:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        required:
                          - from
                          - to
                        additionalProperties: false
                      unavailability:
                        type: object
                        properties:
                          id:
                            type: string
                          range:
                            type: object
                            properties:
                              start:
                                nullable: true
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              end:
                                nullable: true
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            required:
                              - start
                              - end
                            additionalProperties: false
                          tenantId:
                            type: string
                          articleId:
                            nullable: true
                            type: string
                          orderId:
                            nullable: true
                            type: string
                          blockerType:
                            nullable: true
                            type: string
                          orderStockItemId:
                            nullable: true
                            type: string
                          slotId:
                            type: string
                          scheduledEventId:
                            nullable: true
                            type: string
                          createdAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          intervals:
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - sale
                                  - sales-reservation
                                  - buffer
                                  - booking
                              range:
                                type: object
                                properties:
                                  start:
                                    nullable: true
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  end:
                                    nullable: true
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                required:
                                  - start
                                  - end
                                additionalProperties: false
                              unavailabilityId:
                                type: string
                              tenantId:
                                type: string
                            required:
                              - type
                              - range
                              - unavailabilityId
                              - tenantId
                            additionalProperties: false
                        required:
                          - id
                          - range
                          - tenantId
                          - articleId
                          - orderId
                          - blockerType
                          - orderStockItemId
                          - slotId
                          - scheduledEventId
                          - createdAt
                        additionalProperties: false
                      scheduledEvents:
                        type: object
                        properties:
                          id:
                            type: string
                          articleId:
                            type: string
                          startDate:
                            nullable: true
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          endDate:
                            nullable: true
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          type:
                            type: string
                            enum:
                              - reservation
                              - note
                          name:
                            nullable: true
                            type: string
                          comment:
                            nullable: true
                            type: string
                          tenantId:
                            type: string
                          createdAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          serviceLocationId:
                            type: string
                        required:
                          - id
                          - articleId
                          - startDate
                          - endDate
                          - type
                          - name
                          - comment
                          - tenantId
                          - createdAt
                          - serviceLocationId
                        additionalProperties: false
                      articleLocations:
                        type: object
                        properties:
                          id:
                            type: string
                          articleId:
                            type: string
                          serviceLocationId:
                            nullable: true
                            type: string
                          slotId:
                            type: string
                          range:
                            type: object
                            properties:
                              start:
                                nullable: true
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              end:
                                nullable: true
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            required:
                              - start
                              - end
                            additionalProperties: false
                          createdAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        required:
                          - id
                          - articleId
                          - serviceLocationId
                          - slotId
                          - range
                          - createdAt
                        additionalProperties: false
                      quantity:
                        type: object
                        properties:
                          total:
                            type: number
                          byLocation:
                            type: object
                            properties:
                              serviceLocationId:
                                type: string
                              count:
                                type: number
                              fromDate:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            required:
                              - serviceLocationId
                              - count
                            additionalProperties: false
                        required:
                          - total
                          - byLocation
                        additionalProperties: false
                      availability:
                        type: object
                        properties:
                          total:
                            type: number
                          byLocation:
                            type: object
                            properties:
                              serviceLocationId:
                                type: string
                              count:
                                type: number
                              fromDate:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            required:
                              - serviceLocationId
                              - count
                            additionalProperties: false
                        required:
                          - total
                          - byLocation
                        additionalProperties: false
                      temporalStock:
                        type: object
                        properties:
                          stockBalance:
                            type: object
                            properties:
                              range:
                                type: object
                                properties:
                                  start:
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  end:
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                required:
                                  - start
                                  - end
                                additionalProperties: false
                              value:
                                type: number
                            required:
                              - range
                              - value
                            additionalProperties: false
                          stockAvailableToSell:
                            type: object
                            properties:
                              range:
                                type: object
                                properties:
                                  start:
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  end:
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                required:
                                  - start
                                  - end
                                additionalProperties: false
                              value:
                                type: number
                            required:
                              - range
                              - value
                            additionalProperties: false
                          stockCommitted:
                            type: object
                            properties:
                              range:
                                type: object
                                properties:
                                  start:
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  end:
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                required:
                                  - start
                                  - end
                                additionalProperties: false
                              value:
                                type: number
                            required:
                              - range
                              - value
                            additionalProperties: false
                          stockUtilisation:
                            type: object
                            properties:
                              range:
                                type: object
                                properties:
                                  start:
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  end:
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                required:
                                  - start
                                  - end
                                additionalProperties: false
                              value:
                                type: number
                            required:
                              - range
                              - value
                            additionalProperties: false
                        required:
                          - stockBalance
                          - stockAvailableToSell
                          - stockCommitted
                          - stockUtilisation
                        additionalProperties: false
                    required:
                      - id
                      - codes
                      - name
                      - binLocation
                      - status
                      - createdAt
                      - taxonomyCategoryId
                      - aggregateData
                      - unavailability
                      - scheduledEvents
                      - articleLocations
                    additionalProperties: false
                  totalCount:
                    type: number
                required:
                  - articles
                  - totalCount
                additionalProperties: false
        '400':
          description: '400'
        '401':
          description: '401'
        '403':
          description: '403'
        '404':
          description: '404'
        '429':
          description: '429'
        '500':
          description: '500'
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: X-API-KEY
      in: header
      description: API key for the Twice API

````